ID非表示さん
2012/4/20 17:47
1回答
Servlet3.0では、以下のコードのように、メソッドの修飾子を protected にし、メソッドをオーバーライドしていますが、 何故なのか教えて下さい。
Servlet3.0では、以下のコードのように、メソッドの修飾子を protected にし、メソッドをオーバーライドしていますが、 何故なのか教えて下さい。 @WebServlet(urlPatterns = { "/login" }) public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { request.getRequestDispatcher("login.jsp").forward(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String accountOrEmail = request.getParameter("accountOrEmail"); String password = request.getParameter("password"); LoginService loginService = new LoginService(); User user = loginService.login(accountOrEmail, password); HttpSession session = request.getSession(); if (user != null) { session.setAttribute("loginUser", user); response.sendRedirect("./"); } else { List<String> messages = new ArrayList<String>(); messages.add("ログインに失敗しました。"); session.setAttribute("errorMessages", messages); response.sendRedirect("login"); } } }
Tomcatしか使いませんのでpublicでも良いということでしょうか?実務はWebShereでしょうから、protectedにしなければならない?どちらにしても上記のクラスをインポートしたクラスでインスタンスを作りdoPostやdoGetメソッドにアクセスするためには、他のクラスにもdoPostやdoGetメソッドがあるのでオーバーライドしないといけない?protectedは他ファイルの他クラスにアクセスできないとはWebShereの場合ですか?
Java・1,107閲覧・50