当前位置:软件学习 > 其它软件 >>

程序从Tomcat移植到websphere6.1上的问题

我的websphere环境是WAS6.1+jdk1.5(IBM),程序移植到websphere上后总是出现如下的错误,从错误类型上来看,大致是说response已经提交了,不能再次commit。再网上也看到有人遇到了类似的问题,不知道有人解决没有。下面是后台打印出来的错误。
   00000045 SRTServletRes W   WARNING: Cannot set status. Response already committed.
   00000045 SRTServletRes W   WARNING: Cannot set header. Response already committed.
    前台页面打印的错误如下:
Error page exception
The server cannot use the error page specified for your application to handle the Original Exception printed below. Please see the Error Page Exception below for a description of the problem with the specified error page.


Original Exception: 
Error Message: SRVE0190E: ??????/paginate.action
Error Code: 404
Target Servlet: null
Error Stack: 
java.io.FileNotFoundException: /paginate.action 
     at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:355) 
     at com.ibm.ws.wswebcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:111) 
     at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3107) 
     at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238) 
     at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811) 
     at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425) 
     at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92) 
     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465) 
     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394) 
     at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102) 
     at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152) 
     at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213) 
     at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195) 
     at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) 
     at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:193) 
     at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:725) 
     at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:847) 
     at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498) 
     



Error Page Exception: 
Error Message: SRVE0199E: ???? OutputStream
Error Code: 0
Target Servlet: null
Error Stack: 
java.lang.IllegalStateException: SRVE0199E: ???? OutputStream 
     at com.ibm.ws.webcontainer.srt.SRTServletResponse.getWriter(SRTServletResponse.java:528) 
     at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:187) 
     at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:175) 
     at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:225) 
     at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:170) 
     at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:138) 
     at com.ibm._jsp._404._jspService(_404.java:76) 
     at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:85) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) 
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966) 
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:907) 
     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:118) 
     at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87) 
     at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:696) 
     at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:641) 
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:475) 
     at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463) 
     at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:115) 
     at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:168) 
     at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:606) 
     at com.ibm.ws.webcontainer.webapp.WebApp.sendError(WebApp.java:2676) 
     at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:586) 
     at com.ibm.ws.wswebcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:111) 
     at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3107) 
     at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238) 
     at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811) 
     at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425) 
     at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92) 
     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465) 
     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394) 
     at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102) 
     at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152) 
     at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213) 
     at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195) 
     at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) 
     at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:193) 
     at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:725) 
     at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:847) 
     at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498) 
--------------------编程问答-------------------- 猜测问题是:错误信息已经发往页面,但是handler又在请求写错误信息,这时候已经找不到错误源了 --------------------编程问答-------------------- 关键问题是这个程序在tomcat上是运行正确的,而且在websphere上也得到了我们想要的运行结果,可是,页面还是报那个错误提示 --------------------编程问答-------------------- 看着你的错误应当是这一句:

java.io.FileNotFoundException: /paginate.action

你可以把这个路径改为绝对路径如<%=context_url%>/paginate.action
--------------------编程问答-------------------- 大家没有遇到过这个问题吗,再顶一下,对了我用的是ecside的分页控件,如下所示:
<ec:table items="records" var="invoice"
action="${pageContext.request.contextPath}/paginate.action"
sortable="false" title="" xlsFileName=""
pdfFileName="" csvFileName=""

易做图Content="status|pagesize|navigation"
maxRowsExported="400"
pageSizeList="max:310,5,10,15,30,50,100,all" minColWidth="20"
resizeColWidth="false" editable="false"  >
这个action我也试过用绝对路径写,但是还是报错,哪位大侠知道啊,帮帮忙啊 --------------------编程问答-------------------- 用相对路径是不应该出现问题的。是不是编码的问题,或者是在你的/paginate.action前有空格。
从tomcat往websphere上移植是会有意料不到的问题,websphere对程序的要求很严格,最好检查你的工程,确认完好再重新发布。 --------------------编程问答-------------------- 我也想知道,正在找這方面的資料~~~~~ --------------------编程问答-------------------- 楼上这个问题怎么解决的
补充:企业软件 ,  WebSphere
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,