java
1LoginServlet.java 2 3package servlet; 4 5import java.io.IOException; 6 7import javax.servlet.RequestDispatcher; 8import javax.servlet.ServletException; 9import javax.servlet.annotation.WebServlet; 10import javax.servlet.http.HttpServlet; 11import javax.servlet.http.HttpServletRequest; 12import javax.servlet.http.HttpServletResponse; 13import javax.servlet.http.HttpSession; 14 15import model.Account; 16import model.AccountLogic; 17 18@WebServlet("/LoginServlet") 19public class LoginServlet extends HttpServlet { 20 private static final long serialVersionUID = 1L; 21 22 public LoginServlet(String userId, String name) { 23 } 24 25 protected void doGet(HttpServletRequest request, 26 HttpServletResponse response) 27 throws ServletException, IOException { 28 RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/Login.jsp"); 29 dispatcher.forward(request, response); 30 } 31 32 protected void doPost(HttpServletRequest request, 33 HttpServletResponse response) throws ServletException, IOException { 34 35 request.setCharacterEncoding("UTF-8"); 36 String userId = request.getParameter("userId"); 37 String name = request.getParameter("name"); 38 39 //ログイン処理の実行 40 Account login = new Account(userId, name); 41 AccountLogic bo = new AccountLogic(); 42 boolean result = bo.execute(login); 43 44 //ログインの成否によって処理を分岐 45 if (result) { //ログイン成功時 46 47 //セッションスコープにユーザーIDを保存 48 HttpSession session = request.getSession(); 49 session.setAttribute("userId", userId); 50 51 //フォワード 52 RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/jsp/ListScreen.jsp"); 53 dispatcher.forward(request, response); 54 } else { 55 //ログイン失敗時 56 //リダイレクト 57 response.sendRedirect("gyomuhokoku/Login"); 58 } 59 60 } 61}
java
1Login.jsp 2 3<%@ page language="java" contentType="text/html; charset=UTF-8" 4 pageEncoding="UTF-8"%> 5 6<html> 7<head> 8<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 9<title>業務報告システム</title> 10</head> 11<body> 12<form action=/gyomuhokoku/Login method="post"> 13ユーザーID:<input type="text" name="userId"><br> 14パスワード:<input type="text" name="name"><br> 15 16<button type=submit>ログイン</button> 17</form> 18</body> 19</html>
java
1Account.java 2 3package model; 4 5public class Account { 6private String userId; 7private String name; 8 9public Account(String userId, String name) { 10 this.userId = userId; 11 this.name = name; 12} 13 14public String getUserId() {return userId;} 15public String getName() {return name;} 16 17} 18
jspに出力させるサーブレットを書いています。
どうしてエラーになってしまうのかわかりません。
やりたいこと
画面から記入されたログインID,NAMEをデータベースと値と照会させたいです。
コンソールには下記項目が出ます。
情報: サーブレット [servlet.LoginServlet] を利用不可能にマークします [金 6 29 21:19:52 JST 2018]
重大: サーブレット [servlet.LoginServlet] に例外を割り当てます [金 6 29 21:19:52 JST 2018]
スタックトレースはどうなっていますか?
コンソールの内容を追加しました。
回答2件
あなたの回答
tips
プレビュー