ある入門書のサンプルソースコードを動作させたいです。
また、以下の疑問点を解消したいです。
①LoginResult.jspの4、18行目に関して、ユーザ情報を取得できた場合に「ログインに成功しました。」という
文言が表示されます。Login#37~42行目の処理が、パスワードが1234でない場合も実行されている理由はなんでしょうか?
②パスワードが1234以外でも「ログインに成功しました。」という文言が表示されるてしまう理由はなんでしょうか?
③loginResult.jspの3~5行目を削除しても、16行目が実行されて「ログインに成功しました。」という文言が表示される
理由はなんでしょうか?
【index.jsp】
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>テスト画面</title>
</head>
<body>
<h1>ようこそ</h1>
<!-- request.getParameter("name")とrequest.getParameter("pass") の()内の名称はnameと一致させる。-->
<form action="/Test/login" method="post">
ユーザー名:<input type="text" name="name"><br>
パスワード:<input type="password" name="pass"><br>
<input type="submit" name="確認用" value="ログイン">
</form>
</body>
</html>
package servlet3;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import model3.LoginLogic;
import model3.User;
public class Login extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
//ユーザ名、パスワードを取得
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
String pass = request.getParameter("pass");
//取得したユーザ名、パスワードを移動
User user = new User(name, pass);
LoginLogic loginLogic = new LoginLogic();
//ユーザ名、パスワードを渡す
//パスワードが1234である場合、ログイン成功
boolean isLogin = loginLogic.execute(user);
//パスワードが1234の場合、処理が実行される。
if (isLogin) {
//セッションスコープにUser情報を格納する。
HttpSession session = request.getSession();
session.setAttribute("User", user);
}
RequestDispatcher dispatcher =
request.getRequestDispatcher
("/WebContent/WEB-INF/jsp2/loginResult.jsp");
dispatcher.forward(request, response);
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ page import="model3.User" %>
<%
User loginUser = (User) session.getAttribute("User");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>テスト</title>
</head>
</head>
<body>
<h1>テストログイン</h1><br>
<% if(loginUser != null) { %>
<p>ログインに成功しました</p>
<p>ようこそ<%= loginUser.getName() %>さん</p>
<a href="/Test/main">投稿・閲覧へ</a>
<% } else { %>
<p>ログインに失敗しました</p>
<a href="/WebContent/WEB-INF/jsp2/index.jsp">TOPへ</a>
<% } %>
</body>
</html>