`

struts1 通过forward从后台跳转到前台出错

    博客分类:
  • bug
 
阅读更多
struts1从后台到前台跳转的时候报错,是空指针的错误,我用debug调试都跟踪不出来是哪里出错。因为这个错误信息是在执行完后台的代码跳转到前台页面的时候报错的,后来细看一下报错信息发现了processForwardConfig这个错误,我想可能是因为没有写forward吧,因为在执行完后台代码后因为没有forward指定要跳转的页面或者其他的.action和.do方法吧。我呢就在程序的流程的后面加了句
forward = new ActionForward("/myFriend.html");
forward.setRedirect(true);

这两句是重定向的,因为在执行增删改方法可以防止刷新页面重复提交数据。这个forward是动态重定向的,还有一种forward就是
forward = mapping.findForward("[color=red]listMyFriend[/color]");
<forward name="[color=red]listMyFriend[/color]" path="/listMyFriend.jsp"></forward>
红色字体的地方的名字一定要一致。
另外也可以在struts的配置文件中写上
<forward name="userIndex" path="/userIndex.html" redirect="true" />
,这也是重定向的。
另外,抱这种错误还有一个原因就是自己封装好的方法中有逻辑错误。因为我们公司把常用的方法打了个jar包,然后在项目中引用的。总共有三个jar包,一个是mybatis数据库操作方法的相关类,一个是常用到的方法的工具类,一个是mybatis数据库映射文件的jar包。这样把常用到的方法打成jar包在文件中引用,不仅浓缩了项目的大小,而且调用和修改起来很方便。实现了常用方法与业务逻辑的分离吧。

2012-3-23 13:28:26 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
	at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:384)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.udrm.bms.struts.beans.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:54)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics