ログインのプログラムを作成中です。
下記のクラスをeclipse内で実行しても404表記がされるだけで原因が分かりません。
デバッグを利用して検出しようとするもブレイクポイントまで到達せず表記はデバッグを実行中から変化がありません。
再起動も何度か行った為ポートが埋まっている可能性は低いと思います。
デバッグや実行の仕方に問題があるのでしょうか?
途中経過の段階では実行できないのでしょうか?
User.java
1package model; 2 3import java.io.Serializable; 4 5public class User implements Serializable { 6 private String id; //ユーザーID 7 private String pass; //パスワード 8 9 public User() {} 10 public User(String id, String pass) { 11 this.id = id; 12 this.pass = pass; 13 } 14 15 public String getId() { return id; } 16 public String getPass() { return pass; } 17} 18
index.jsp
1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8" %> 3<!DOCTYPE html> 4<html> 5<head> 6<meta charset="UTF-8"> 7<title>ログイン画面</title> 8</head> 9<body> 10<h1>顧客登録[ログイン]</h1> 11<form action="/task_b/login" method="post"> 12ユーザーID:<input type="text" name="id"><br> 13パスワード:<input type="password"name="pass"><br> 14<input type="submit" value="ログイン"> 15</form> 16</body> 17</html>
login.java
1package servlet; 2 3import java.io.IOException; 4 5import javax.servlet.RequestDispatcher; 6import javax.servlet.ServletException; 7import javax.servlet.annotation.WebServlet; 8import javax.servlet.http.HttpServlet; 9import javax.servlet.http.HttpServletRequest; 10import javax.servlet.http.HttpServletResponse; 11import javax.servlet.http.HttpSession; 12 13import model.LoginLogic; 14import model.User; 15 16@WebServlet("/login") 17public class login extends HttpServlet { 18 private static final long serialVersionUID = 1L; 19 20 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 21 //リクエストパラメータの取得 22 request.setCharacterEncoding("UTF-8"); 23 String id = request.getParameter("id"); 24 String pass = request.getParameter("pass"); 25 26 //Userインスタンス(ユーザー情報)の生成 27 User user = new User(id, pass); 28 29 //ログイン処理 30 LoginLogic loginLogic = new LoginLogic(); 31 boolean isLogin = loginLogic.execute(user); 32 33 //ログイン成功時の処理 34 if(isLogin) { 35 //ユーザー情報をセッションスコープに保存 36 HttpSession session = request.getSession(); 37 session.setAttribute("loginUser", user); 38 } 39 //ログイン結果画面にフォワード 40 RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/jsp/loginResult.jsp"); 41 dispatcher.forward(request, response); 42 } 43}
LoginLogic.java
1package model; 2 3public class LoginLogic { 4 public boolean execute(User user) { 5 if(user.getPass().equals("1234")) { return true; } 6 return false; 7 } 8}
loginResult.jsp
1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8" %> 3<%@ page import="model.User" %> 4<% 5//セッションスコープからユーザー情報を取得 6User loginUser = (User) session.getAttribute("loginUser"); 7%> 8<!DOCTYPE html> 9<html> 10<head> 11<meta charset="UTF-8"> 12<title>ログイン成功画面</title> 13</head> 14<body> 15<h1>ログイン成功画面</h1> 16<% if(loginUser !=null) { %> 17 <p>ログインに成功しました</p> 18 <p>ようこそ<%=loginUser.getId() %>さん</p> 19 <a href="/task_b/Main">登録画面へ</a> 20<% } else { %> 21<p>ログインに失敗しました</p> 22<a href="/task_b/index.jsp">ログイン画面へ</a> 23<% } %> 24</body> 25</html>
実際にしたことは、再起動、ポート番号を設定し直す。スキップ機能無効の確認、プロジェクトのクリーン、WTPのクリーン等です。
情報: Server version: Apache Tomcat/8.0.32 [金 7 05 14:50:16 JST 2019] 情報: Server built: Feb 2 2016 19:34:53 UTC [金 7 05 14:50:16 JST 2019] 情報: Server number: 8.0.32.0 [金 7 05 14:50:16 JST 2019] 情報: OS Name: Windows 8.1 [金 7 05 14:50:16 JST 2019] 情報: OS Version: 6.3 [金 7 05 14:50:16 JST 2019] 情報: Architecture: amd64 [金 7 05 14:50:16 JST 2019] 情報: Java Home: C:\pleiades\java\8\jre [金 7 05 14:50:16 JST 2019] 情報: JVM Version: 1.8.0_74-b02 [金 7 05 14:50:16 JST 2019] 情報: JVM Vendor: Oracle Corporation [金 7 05 14:50:16 JST 2019] 情報: CATALINA_BASE: C:\pleiades\eclipse\workspace57.metadata.plugins\org.eclipse.wst.server.core\tmp0 [金 7 05 14:50:16 JST 2019] 情報: CATALINA_HOME: C:\pleiades\tomcat\8 [金 7 05 14:50:16 JST 2019] 情報: Command line argument: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:50432 [金 7 05 14:50:16 JST 2019] 情報: Command line argument: -Dcatalina.base=C:\pleiades\eclipse\workspace57.metadata.plugins\org.eclipse.wst.server.core\tmp0 [金 7 05 14:50:16 JST 2019] 情報: Command line argument: -Dcatalina.home=C:\pleiades\tomcat\8 [金 7 05 14:50:16 JST 2019] 情報: Command line argument: -Dwtp.deploy=C:\pleiades\eclipse\workspace57.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps [金 7 05 14:50:16 JST 2019] 情報: Command line argument: -Djava.endorsed.dirs=C:\pleiades\tomcat\8\endorsed [金 7 05 14:50:16 JST 2019] 情報: Command line argument: -Dfile.encoding=UTF-8 [金 7 05 14:50:16 JST 2019] 情報: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\pleiades\java\8\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\pleiades\java\8\jre\bin;C:/pleiades/eclipse/jre/bin/../jre/bin/server;C:/pleiades/eclipse/jre/bin/../jre/bin;C:/pleiades/eclipse/jre/bin/../jre/lib/amd64;C:\Program Files\Java\jdk1.8.0_101\bin\;\bin;C:\Program Files\Java\jdk1.8.0_101\bin\;\bin;C:\Program Files\Java\jdk1.8.0_101\bin\;\bin;C:\Program Files (x86)\Java\jdk1.8.0_65\bin\;\bin;C:\Program Files (x86)\Windows Resource Kits\Tools\;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Java\jdk1.8.0_65\bin\;\bin;C:\Program Files (x86)\Brackets\command;C:\Program Files\Git\cmd;C:\Ruby23-x64\bin;C:\Users\glissando003\AppData\Local\Programs\Microsoft VS Code\bin;C:\Ruby23-x64\bin;C:\Users\glissando003\AppData\Local\Programs\Microsoft VS Code\bin;C:\pleiades\eclipse;;. [金 7 05 14:50:16 JST 2019] 情報: Initializing ProtocolHandler ["http-nio-8080"] [金 7 05 14:50:16 JST 2019] 情報: Using a shared selector for servlet write/read [金 7 05 14:50:16 JST 2019] 情報: Initializing ProtocolHandler ["ajp-nio-8009"] [金 7 05 14:50:16 JST 2019] 情報: Using a shared selector for servlet write/read [金 7 05 14:50:16 JST 2019] 情報: Initialization processed in 565 ms [金 7 05 14:50:16 JST 2019] 情報: サービス Catalina を起動します [金 7 05 14:50:16 JST 2019] 情報: Starting Servlet Engine: Apache Tomcat/8.0.32 [金 7 05 14:50:16 JST 2019] 情報: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. [金 7 05 14:50:17 JST 2019] 情報: Starting ProtocolHandler ["http-nio-8080"] [金 7 05 14:50:17 JST 2019] 情報: Starting ProtocolHandler ["ajp-nio-8009"] [金 7 05 14:50:17 JST 2019] 情報: Server startup in 517 ms [金 7 05 14:50:17 JST 2019]
回答1件
あなたの回答
tips
プレビュー