質問編集履歴
2
文法の修正、servletの追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
###
|
15
|
+
###JSP
|
16
16
|
```ここに言語を入力
|
17
17
|
<%@ page import="java.sql.*,javax.naming.*,javax.sql.*"
|
18
18
|
contentType="text/html; charset=utf-8"%>
|
@@ -47,7 +47,157 @@
|
|
47
47
|
</c:if>
|
48
48
|
</body>
|
49
49
|
```
|
50
|
+
###servlet
|
51
|
+
```
|
52
|
+
package servlet;
|
50
53
|
|
54
|
+
import java.io.IOException;
|
55
|
+
import java.sql.Connection;
|
56
|
+
import java.sql.PreparedStatement;
|
57
|
+
import java.sql.ResultSet;
|
58
|
+
|
59
|
+
import javax.naming.InitialContext;
|
60
|
+
import javax.servlet.ServletException;
|
61
|
+
import javax.servlet.annotation.WebServlet;
|
62
|
+
import javax.servlet.http.HttpServlet;
|
63
|
+
import javax.servlet.http.HttpServletRequest;
|
64
|
+
import javax.servlet.http.HttpServletResponse;
|
65
|
+
import javax.servlet.http.HttpSession;
|
66
|
+
import javax.sql.DataSource;
|
67
|
+
|
68
|
+
/**
|
69
|
+
* Servlet implementation class loginservlet
|
70
|
+
*/
|
71
|
+
@WebServlet("/loginservlet")
|
72
|
+
public class loginservlet extends HttpServlet {
|
73
|
+
private static final long serialVersionUID = 1L;
|
74
|
+
|
75
|
+
/**
|
76
|
+
* @see HttpServlet#HttpServlet()
|
77
|
+
*/
|
78
|
+
public loginservlet() {
|
79
|
+
super();
|
80
|
+
// TODO Auto-generated constructor stub
|
81
|
+
}
|
82
|
+
|
83
|
+
/**
|
84
|
+
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
|
85
|
+
* response)
|
86
|
+
*/
|
87
|
+
protected void doGet(HttpServletRequest request,
|
88
|
+
HttpServletResponse response) throws ServletException, IOException {
|
89
|
+
// TODO Auto-generated method stub
|
90
|
+
}
|
91
|
+
|
92
|
+
/**
|
93
|
+
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
|
94
|
+
* response)
|
95
|
+
*/
|
96
|
+
protected void doPost(HttpServletRequest request,
|
97
|
+
HttpServletResponse response) throws ServletException, IOException {
|
98
|
+
// TODO Auto-generated method stub
|
99
|
+
Connection con = null;
|
100
|
+
PreparedStatement ps = null;
|
101
|
+
String sql = null;
|
102
|
+
ResultSet rs = null;
|
103
|
+
|
104
|
+
String userid = request.getParameter("userid");
|
105
|
+
String pass = request.getParameter("pass");
|
106
|
+
|
107
|
+
if (userid == null || userid.length() == 0) {
|
108
|
+
|
109
|
+
request.setAttribute("errorMessage", "ユーザ名が未入力です");
|
110
|
+
|
111
|
+
this.getServletContext().getRequestDispatcher("/Login.jsp")
|
112
|
+
.forward(request, response);
|
113
|
+
} else if (pass == null || pass.length() == 0) {
|
114
|
+
|
115
|
+
request.setAttribute("errorMessage", "パスワードが未入力です");
|
116
|
+
|
117
|
+
this.getServletContext().getRequestDispatcher("/Login.jsp")
|
118
|
+
.forward(request, response);
|
119
|
+
} else {
|
120
|
+
try {
|
121
|
+
|
122
|
+
InitialContext initContext = new InitialContext();
|
123
|
+
DataSource ds = (DataSource) initContext
|
124
|
+
.lookup("java:comp/env/jdbc/Library");
|
125
|
+
con = ds.getConnection();
|
126
|
+
|
127
|
+
sql = "SELECT * FROM user";
|
128
|
+
|
129
|
+
ps = con.prepareStatement(sql);
|
130
|
+
|
131
|
+
rs = ps.executeQuery();
|
132
|
+
|
133
|
+
boolean loginResult = false;
|
134
|
+
boolean ad = false;
|
135
|
+
while (rs.next()) {
|
136
|
+
|
137
|
+
String dbuserid = rs.getString("user_id");
|
138
|
+
String dbpassword = rs.getString("password");
|
139
|
+
|
140
|
+
if (dbuserid.equals(userid) && dbpassword.equals(pass)) {
|
141
|
+
loginResult = true;
|
142
|
+
|
143
|
+
if ("1".equals(rs.getString("admin"))) {
|
144
|
+
ad = true;
|
145
|
+
}
|
146
|
+
|
147
|
+
}
|
148
|
+
}
|
149
|
+
|
150
|
+
if (loginResult) {
|
151
|
+
|
152
|
+
HttpSession session = request.getSession();
|
153
|
+
|
154
|
+
session.setAttribute("loginResult", loginResult);
|
155
|
+
session.setAttribute("admin", ad);
|
156
|
+
if (ad == true) {
|
157
|
+
this.getServletContext().getRequestDispatcher("/kanri_mypage.jsp")
|
158
|
+
.forward(request, response);
|
159
|
+
} else {
|
160
|
+
this.getServletContext().getRequestDispatcher("/user_mypage.jsp")
|
161
|
+
.forward(request, response);
|
162
|
+
|
163
|
+
}
|
164
|
+
} else {
|
165
|
+
|
166
|
+
request.setAttribute("errorMessage", "ユーザ名またはパスワードが違います");
|
167
|
+
|
168
|
+
this.getServletContext().getRequestDispatcher("/Login.jsp")
|
169
|
+
.forward(request, response);
|
170
|
+
}
|
171
|
+
} catch (Exception e) {
|
172
|
+
|
173
|
+
request.setAttribute("errorMessage", "システムエラーが発生しました。");
|
174
|
+
|
175
|
+
this.getServletContext().getRequestDispatcher("/Login.jsp")
|
176
|
+
.forward(request, response);
|
177
|
+
|
178
|
+
throw new ServletException(e);
|
179
|
+
} finally {
|
180
|
+
try {
|
181
|
+
if (rs != null) {
|
182
|
+
rs.close();
|
183
|
+
}
|
184
|
+
if (ps != null) {
|
185
|
+
ps.close();
|
186
|
+
}
|
187
|
+
if (con != null) {
|
188
|
+
con.close();
|
189
|
+
}
|
190
|
+
} catch (Exception e) {
|
191
|
+
}
|
192
|
+
}
|
193
|
+
}
|
194
|
+
|
195
|
+
}
|
196
|
+
|
197
|
+
}
|
198
|
+
|
199
|
+
```
|
200
|
+
|
51
201
|
###試したこと
|
52
202
|
・nullやそのま"user_id"と表示されてしまう。
|
53
203
|
・setAttributeの使い方が分からない。
|
1
表題の変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
sessionの使い方が良く分かりません
|
body
CHANGED
File without changes
|