java初心者です。
現在、tomcatとeclipseでサーブレット/JSPの勉強をしています。
参考書に載っている、jspの入力画面で入力した値をサーブレットで受け取り、そのまま表示させるようなサンプルを作成しています。
JSPの入力画面は表示できるのですが、値を入力してサーブレットに移動する際、404エラーが出てしまいます。
よろしくお願いします。
###発生している問題・エラーメッセージ
HTTPステータス 404 - /jihanki/MainServlet The requested resource is not available.
###該当のソースコード
【サーブレット】
package servlet;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import model.CalcLogic;
import model.Money;
/**
- Servlet implementation class top
*/
@WebServlet("/top")
public class MainServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/** * @see HttpServlet#HttpServlet() */ public MainServlet() { super(); } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 初期パラメータ Money money = new Money(); //HttpSessionインスタンスの取得 HttpSession session = request.getSession(); //セッションスコープにインスタンスを保存 session.setAttribute("money", money); // index.jspにフォワード RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/jsp/index.jsp"); dispatcher.forward(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // リクエストパラメータ取得 request.setCharacterEncoding("UTF-8"); String addMoney = request.getParameter("money");//投入金額 // 投入金額をプロパティに設定 Money money = new Money(); money.setMoney(Integer.parseInt(addMoney)); System.out.println("aaa"); // 計算処理を実行し結果を表示
// CalcLogic calclogic = new CalcLogic();
// calclogic.execute(money);
// //セッションスコープに保存
HttpSession session = request.getSession();
session.setAttribute("money", money);
// // index.jspにフォワード
RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/jsp/index.jsp");
dispatcher.forward(request, response);
}
}
【JSP】
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="model.Money"%>
<%
//初期値を取得
Money money = (Money) session.getAttribute("money");
%>
###試したこと
JSP
###補足情報(言語/FW/ツール等のバージョンなど)
MacOS X 10.10
Eclipse: Neon.1a Release (4.6.1)
apache-tomcat-8.5.8
tomcat 8.5サーバー
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/11 17:53