teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

2020/06/25 07:07

投稿

ypk
ypk

スコア83

title CHANGED
File without changes
body CHANGED
@@ -1,152 +1,1 @@
1
- 初めまして。
2
- 現在、MVCモデルを用いてログインシステムを作成しようとしているものです。
3
-
4
- UserDAOからログインデータの取得し、jspから送られたデータが登録されたデータであるかを判断するサーブレットを作成中です。
5
-
6
- ### 分からないこと
7
-
8
- **DAOのデータをどのように取得すればよいのかが分かりません。**
9
- サーブレットにて、DAOからログインデータを取得するソースコードを書こうとしているのですが、どのように記述すればよいかでつまずいています。
10
-
11
- > ①DAOにてログインデータを取得
12
- > ②jspから受け取ったIDとPWをサーブレットで照らし合わせる
13
- > ③IDとPWがログインデータに存在しているものならログイン成功、存在しないならログイン失敗
14
-
15
- という機能を実装させることを試みています。
16
-
17
- ### 私が作成中のソースコード
18
- 書きかけではありますが、現在執筆中のソースコードを共有します。
19
-
20
- ```jsp
21
- <%@ page language="java" contentType="text/html; charset=UTF-8"
22
- pageEncoding="UTF-8"%>
23
- <%@ page import="exam.LoggerTester" %>
24
- <% request.setCharacterEncoding("UTF-8"); %>
25
- <% String message = (String)request.getAttribute("message"); %>
26
-
27
- <html>
28
- <head>
29
- <meta charset="UTF-8">
30
- <title>書籍管理システム-<ログイン></title>
31
- <link rel="stylesheet" href="header.css">
32
- </head>
33
-
34
- <div class="container">
35
- <header>
36
-
37
- <div class="header">
38
-
39
- <div class="header_logo_font">
40
- <p>書籍管理システムログイン</p>
41
- </div>
42
- </div>
43
-
44
- <hr>
45
- </header>
46
- <body>
47
- <div class="body">
48
- <div class="content">
49
- <div align="left">
50
- <table border="0">
51
- <form action="list.html" method="get">
52
-
53
- <div class="break">
54
- <font color="#fff">空欄作成のために使用。画面に映りません。</font>
1
+ ・あああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ
55
- </div>
56
-
57
- <div class="break">
58
- <font color="#fff">空欄作成のために使用。画面に映りません。</font>
59
- </div>
60
-
61
- <%
62
- LoggerTester lt = new LoggerTester();
63
- lt.outActionLog("login.jsp", "処理開始");
64
- %>
65
- <% if(message != null){ %>
66
- <center><p><font color="red"><%= message %></font></p></center>
67
- <%} %>
68
-
69
- <div class="break">
70
- <font color="#fff">空欄作成のために使用。画面に映りません。</font>
71
- </div>
72
-
73
- <p>ユーザID<br>
74
- <input type="text" name="user_id" value="" size="24">
75
-
76
- <p>パスワード<br>
77
- <input type="password" name="password" value="" size="24">
78
- <br>
79
- <input type="submit" value="ログイン">
80
-
81
- </form>
82
- </table>
83
-
84
- </div>
85
- </div>
86
- </body>
87
-
88
- </div>
89
- </html>
90
- ```
91
-
92
- ```servlet
93
- package exam;
94
-
95
- import java.io.IOException;
96
- import java.io.PrintWriter;
97
-
98
- import javax.servlet.ServletException;
99
- import javax.servlet.annotation.WebServlet;
100
- import javax.servlet.http.HttpServlet;
101
- import javax.servlet.http.HttpServletRequest;
102
- import javax.servlet.http.HttpServletResponse;
103
- import javax.servlet.http.HttpSession;
104
-
105
- @WebServlet("/LoginServ")
106
- public class LoginServ extends HttpServlet {
107
- public void doPost(HttpServletRequest req, HttpServletResponse res)
108
- throws ServletException, IOException {
109
-
110
- // リクエストで受け取る文字列符号化方式を指定
111
- req.setCharacterEncoding("UTF-8");
112
-
113
- // セッションの判定
114
- HttpSession session = req.getSession(false);
115
-
116
- LoggerTester lt = new LoggerTester();
117
-
118
- lt.outActionLog("LoginServ", "処理開始");
119
-
120
- //UserDAOからログインデータの取得
121
-
122
-
123
- // Servlet 初期化パラメータ情報
124
- String un = config.getInitParameter("username");
125
- String pw = config.getInitParameter("password");
126
-
127
- response.setContentType("text/html; charset=UTF-8");
128
- PrintWriter out = response.getWriter();
129
- //if (request.getParameter("username") == un){
130
- if (un.equals(request.getParameter("username")) == true
131
- && pw.equals(request.getParameter("password")) == true) {
132
-
133
-
134
- //セッション情報の新規作成
135
- HttpSession session = request.getSession(true);
136
- //セッションオブジェクトに保存する
137
- session.setAttribute("username", un);
138
-
139
-
140
- }
141
- }
142
- ```
143
-
144
- ### 参考資料のjsp・クラス関連図
145
-
146
- ![イメージ説明](0420dc908b77f510c8348db2340de8ea.png)
147
-
148
- UserDAOについては、また別の人が作成することになっているため私は作成していません。
149
-
150
- UserDAOはMVCモデルのModelを担うシステムで、ログイン情報が格納されているデータベース(MySQL)に接続しログインができるかどうかの結果をlogin.jspに渡す役割を担う予定です。
151
-
152
- どうぞよろしくお願いいたします。

1

UserDAOについて補足しました

2020/06/25 07:06

投稿

ypk
ypk

スコア83

title CHANGED
File without changes
body CHANGED
@@ -147,4 +147,6 @@
147
147
 
148
148
  UserDAOについては、また別の人が作成することになっているため私は作成していません。
149
149
 
150
+ UserDAOはMVCモデルのModelを担うシステムで、ログイン情報が格納されているデータベース(MySQL)に接続しログインができるかどうかの結果をlogin.jspに渡す役割を担う予定です。
151
+
150
152
  どうぞよろしくお願いいたします。