MENU

Eclipseでlocalhost:8080で404エラーが出たの

f:id:kiserukun:20210611090227p:plain  
Eclipsejspファイルにアクセスする際にlocalhost:8080で404エラーがでました。

f:id:kiserukun:20210713142808p:plain

なぜ起きていたのか

エラーの原因はファイルの位置とパスの指定ミスでした。

以下の順番でファイル移動を行います

htmlファイル → サーブレットjspファイル

 
サーブレットjspファイル

この間でlocalhost:8080で404エラーが表示されていました。

原因のコード

ファイルの位置
f:id:kiserukun:20210713145000p:plain
jspファイルをwebappの直下においていました。
doPostには以下のようにパスを指定していました。

/**
  * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   request.setAttribute("input", input);
   RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/Answer.jsp");
   dispatcher.forward(request, response);
  }

修正後

f:id:kiserukun:20210713150649p:plain

/**
  * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   request.setAttribute("input", input);
   RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/jsp/Answer.jsp");
   dispatcher.forward(request, response);
  }

WEB-INFにjspフォルダを作成し、jspファイルをそこに置き 遷移先のパスも変更。

request.getRequestDispatcher("/WEB-INF/jsp/Answer.jsp")