当前页面: 开发资料首页 → JSP 专题 → Error 500: 错误提示!
Error 500: 错误提示!
摘要: Error 500: 错误提示!
我用的是WebSphere 6.0 + Oracle9 + java 开发的
但是每次把代码更新到服务器上是刷新该页面,出现“Error 500:”没有其他的提示了,然后再次刷新该页面,就能正常显示页面,请问是哪的问题?
刷新就好,一般是连接没连上,刷新就连上了
现在每次只要更新了jsp文件,第一次点的时候都是打不开的,第二次就好了,
看了日志,发现有个抛出异常:java.util.NoSuchElementException错误
[06-10-27 12:26:20:516 CST] 00000097 SystemErr R java.util.NoSuchElementException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java(Compiled Code))
at java.util.HashMap$ValueIterator.next(HashMap.java(Compiled Code))
at java.util.AbstractCollection.toArray(AbstractCollection.java(Compiled Code))
at java.util.ArrayList.
(ArrayList.java(Inlined Compiled Code))
at com.ibm.ws.util.ClauseTable.getList(ClauseTable.java(Compiled Code))
at com.ibm.ws.util.ClauseNode.targets(ClauseNode.java(Compiled Code))
at com.ibm.ws.util.ClauseNode.targets(ClauseNode.java(Compiled Code))
at com.ibm.ws.util.URIMatcher.iterator(URIMatcher.java:116)
at com.ibm.ws.util.URIMapper.targetMappings(URIMapper.java:68)
at com.ibm.ws.webcontainer.webapp.WebApp.targets(WebApp.java:3332)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.flagWrapperToReloadClass(JSPExtensionProcessor.java:382)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.checkForTranslation(JSPExtensionServletWrapper.java:267)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:137)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:250)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java(Compiled Code))
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java(Compiled Code))
at filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java(Compiled Code))
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java(Compiled Code))
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java(Compiled Code))
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java(Compiled Code))
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java(Compiled Code))
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java(Compiled Code))
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java(Compiled Code))
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
应该是websphere的原因,jsp不能自动识别刷新的说
猜测,呵呵
我也认为是websphere的问题,我在5.5上就不会出现这个问题,,不知道该怎么改,请各位大虾帮忙
个人使用TOMCAT的感觉
JSP文件改动后
会重新被编译成class文件
这个过程是需要时间的
而在完全编译好之前
TOMCAT会继续使用以前编译好的文件
从而导致了更新JSP后有几秒的延迟现象
感觉websphere应该也是遇到了类似的问题了
有好的解决办法么 ???
现在程序发布一次,我就必须点一遍所有的页面,不然第一次点就会出错
支持 keephope() 的说法,楼主手太快而已。好的解决方法当然是 ==
让WEBSPHERE重载一下应用,不行就重启WEBSPHERE