首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

请教一个struts的java.lang.NullPointerException错误,如何解决

2014-01-26 
同样的一个页面,访问频率比较小的时候就总是正常的,访问频率变大后就不时会出这个异常,具体异常信息如下:ja

同样的一个页面,访问频率比较小的时候就总是正常的,访问频率变大后就不时会出这个异常,具体异常信息如下:
  java.lang.NullPointerException
  at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:441)
  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:740)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
  at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
  at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
  at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
  at gov.tax.commons.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:71)
  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6356)
  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
  at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
  at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
  at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
  at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
  at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
 
 
  请问大家,这种情况是怎样造成的?是否有避免的方法?
 
 
  另,相关页面和类数量比较多,而且代码量较大就不给出了.测试使用相当时间都没有出过问题.后来访问量变大了才出现这个问题

------解决方法--------------------------------------------------------
gov.tax.commons.SetCharacterEncodingFilter.doFilter这应该是你自己的类吧,跟踪到那里面看看
------解决方法--------------------------------------------------------
不一定是页面的问题, 有可能 是你的程序并发控制有问题, 人少的时候不会暴露出来,
  使用的人的多了, 错误就出来.
------解决方法--------------------------------------------------------
struts本身应该不存在此问题的,我做的100用户,30秒一次操作,也没有此问题。
 
------解决方法--------------------------------------------------------
应为程序的问题?应用服务器应该没有问题,你用的是weblogic多少?
------解决方法--------------------------------------------------------
在 提交 按钮上加了JavaScript
  提交时首先Disable这个按钮, 然后再提交,
  就不会引起连续提交了.
------解决方法--------------------------------------------------------
你想偷懒。把你的java代码贴出来看看。不是报错了吗(SetCharacterEncodingFilter.java:71)
  第71行有问题,看看你那行是什么代码,然后分析一下原因就行了啊。没代码,我怎么猜啊。
------解决方法--------------------------------------------------------
你的(SetCharacterEncodingFilter.java:71)附近的代码就是上面的代码吗?你上面贴的代码是没有任何问题的。应该是别的地方所导致的。但是这个和访问量没有关系,并发也没太大关系。肯定是程序本身有问题。
 
------解决方法--------------------------------------------------------
ignore = true 你用||得话,他每次都可以进来
  所以request.getCharacterEncoding()可能是=NULL得
  if(encoding != null)
  request.setCharacterEncoding(encoding);
  当你ENCODING= null时 是不执行得
  所以你chain.doFilter(request, response);
  所以发生NullPointerException 也是很正常得
------解决方法--------------------------------------------------------
楼上说的我觉得不正确
  String encoding = selectEncoding(request);
  这个方法已经进行设置了,而且楼上的这个文件实际上就是tomcat自带demo的过滤器文件,和例子完全一样,我也是使用的这个,目前没发现任何问题。估计是别的地方导致的。         

热点排行