前提・実現したいこと
サーブレットを使って、動的アプリケーションを作っています。
「hoge==null」のときに遷移を成功させたいです。
コンパイルは成功するものの、実行時に例外エラーが発生します。
下記のコードに、問題ありますでしょうか?
発生している問題・エラーメッセージ
エラー500
java.lang.NullPointerException
servlet.WelcomeServlet.doGet(WelcomeServlet.java:38)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
エラーメッセージ
### 該当のソースコード <サーブレット(WelcomeServlet)> protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String hoge = request.getParameter("hoge"); System.out.println(hoge); String forwardPass =null; if(hoge.equals("done")) { forwardPass = "/WEB-INF/jsp/myPage.jsp"; }else { forwardPass = "/WEB-INF/jsp/login.jsp"; } RequestDispatcher dispatcher = request.getRequestDispatcher(forwardPass); dispatcher.forward(request, response); } <jsp> <a href="/characterStorage/WelcomeServlet"><font face="Comic Sans MS">ログイン<br/> <font size="35">login</font></font> </a> ### 試したこと switch文を使ったり、 else if(hoge == null)を試したりしました。 自分なりに調べたのですが、一向に進まないため、皆さんのお力をお借りしたいです。 また、初めての質問のため、足りない部分があったら申し訳ありません。 因みに、エラーコードにある38行目は、 「if(hoge.equals("done"))」 の部分になります。 「System.out.println(hoge);」 の部分では「null」と表示されます。 ### 補足情報(FW/ツールのバージョンなど) tomcat8.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/30 14:50