struts 1 forwardによるバックグラウンドからフロントへのジャンプエラー

3333 ワード

struts 1はバックグラウンドからフロントにジャンプしたときにエラーを報告しました.空のポインタのエラーで、debugでデバッグしてもどこが間違っているのか追跡できません.このエラーメッセージはバックグラウンドのコードを実行してフロントページにジャンプしたときにエラーを報告していたので、後でエラーメッセージをよく見てprocessForwardConfigというエラーを発見しました.forwardを書いていないせいかと思います.バックグラウンドコードを実行した後、forwardがジャンプするページや他の.actionや.doメソッドを指定していないからでしょう.私はプログラムの流れの後ろに文を追加しました.
forward = new ActionForward("/myFriend.html");
forward.setRedirect(true);
この2つの文は、ページをリフレッシュしてデータを繰り返しコミットすることを防止するため、削除変更方法を実行することによってリダイレクトされます.この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パッケージにして、プロジェクトで引用したからです.全部で3つのjarパッケージがあります.1つはmybatisデータベースの操作方法に関するクラスで、1つはよく使われる方法のツールクラスで、1つは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)