質問編集履歴

2

文法の修正、servletの追記

2016/06/14 07:46

投稿

l_l_l_l_l_l_l_l
l_l_l_l_l_l_l_l

スコア38

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- ###該当のソースコード
29
+ ###JSP
30
30
 
31
31
  ```ここに言語を入力
32
32
 
@@ -96,6 +96,306 @@
96
96
 
97
97
  ```
98
98
 
99
+ ###servlet
100
+
101
+ ```
102
+
103
+ package servlet;
104
+
105
+
106
+
107
+ import java.io.IOException;
108
+
109
+ import java.sql.Connection;
110
+
111
+ import java.sql.PreparedStatement;
112
+
113
+ import java.sql.ResultSet;
114
+
115
+
116
+
117
+ import javax.naming.InitialContext;
118
+
119
+ import javax.servlet.ServletException;
120
+
121
+ import javax.servlet.annotation.WebServlet;
122
+
123
+ import javax.servlet.http.HttpServlet;
124
+
125
+ import javax.servlet.http.HttpServletRequest;
126
+
127
+ import javax.servlet.http.HttpServletResponse;
128
+
129
+ import javax.servlet.http.HttpSession;
130
+
131
+ import javax.sql.DataSource;
132
+
133
+
134
+
135
+ /**
136
+
137
+ * Servlet implementation class loginservlet
138
+
139
+ */
140
+
141
+ @WebServlet("/loginservlet")
142
+
143
+ public class loginservlet extends HttpServlet {
144
+
145
+ private static final long serialVersionUID = 1L;
146
+
147
+
148
+
149
+ /**
150
+
151
+ * @see HttpServlet#HttpServlet()
152
+
153
+ */
154
+
155
+ public loginservlet() {
156
+
157
+ super();
158
+
159
+ // TODO Auto-generated constructor stub
160
+
161
+ }
162
+
163
+
164
+
165
+ /**
166
+
167
+ * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
168
+
169
+ * response)
170
+
171
+ */
172
+
173
+ protected void doGet(HttpServletRequest request,
174
+
175
+ HttpServletResponse response) throws ServletException, IOException {
176
+
177
+ // TODO Auto-generated method stub
178
+
179
+ }
180
+
181
+
182
+
183
+ /**
184
+
185
+ * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
186
+
187
+ * response)
188
+
189
+ */
190
+
191
+ protected void doPost(HttpServletRequest request,
192
+
193
+ HttpServletResponse response) throws ServletException, IOException {
194
+
195
+ // TODO Auto-generated method stub
196
+
197
+ Connection con = null;
198
+
199
+ PreparedStatement ps = null;
200
+
201
+ String sql = null;
202
+
203
+ ResultSet rs = null;
204
+
205
+
206
+
207
+ String userid = request.getParameter("userid");
208
+
209
+ String pass = request.getParameter("pass");
210
+
211
+
212
+
213
+ if (userid == null || userid.length() == 0) {
214
+
215
+
216
+
217
+ request.setAttribute("errorMessage", "ユーザ名が未入力です");
218
+
219
+
220
+
221
+ this.getServletContext().getRequestDispatcher("/Login.jsp")
222
+
223
+ .forward(request, response);
224
+
225
+ } else if (pass == null || pass.length() == 0) {
226
+
227
+
228
+
229
+ request.setAttribute("errorMessage", "パスワードが未入力です");
230
+
231
+
232
+
233
+ this.getServletContext().getRequestDispatcher("/Login.jsp")
234
+
235
+ .forward(request, response);
236
+
237
+ } else {
238
+
239
+ try {
240
+
241
+
242
+
243
+ InitialContext initContext = new InitialContext();
244
+
245
+ DataSource ds = (DataSource) initContext
246
+
247
+ .lookup("java:comp/env/jdbc/Library");
248
+
249
+ con = ds.getConnection();
250
+
251
+
252
+
253
+ sql = "SELECT * FROM user";
254
+
255
+
256
+
257
+ ps = con.prepareStatement(sql);
258
+
259
+
260
+
261
+ rs = ps.executeQuery();
262
+
263
+
264
+
265
+ boolean loginResult = false;
266
+
267
+ boolean ad = false;
268
+
269
+ while (rs.next()) {
270
+
271
+
272
+
273
+ String dbuserid = rs.getString("user_id");
274
+
275
+ String dbpassword = rs.getString("password");
276
+
277
+
278
+
279
+ if (dbuserid.equals(userid) && dbpassword.equals(pass)) {
280
+
281
+ loginResult = true;
282
+
283
+
284
+
285
+ if ("1".equals(rs.getString("admin"))) {
286
+
287
+ ad = true;
288
+
289
+ }
290
+
291
+
292
+
293
+ }
294
+
295
+ }
296
+
297
+
298
+
299
+ if (loginResult) {
300
+
301
+
302
+
303
+ HttpSession session = request.getSession();
304
+
305
+
306
+
307
+ session.setAttribute("loginResult", loginResult);
308
+
309
+ session.setAttribute("admin", ad);
310
+
311
+ if (ad == true) {
312
+
313
+ this.getServletContext().getRequestDispatcher("/kanri_mypage.jsp")
314
+
315
+ .forward(request, response);
316
+
317
+ } else {
318
+
319
+ this.getServletContext().getRequestDispatcher("/user_mypage.jsp")
320
+
321
+ .forward(request, response);
322
+
323
+
324
+
325
+ }
326
+
327
+ } else {
328
+
329
+
330
+
331
+ request.setAttribute("errorMessage", "ユーザ名またはパスワードが違います");
332
+
333
+
334
+
335
+ this.getServletContext().getRequestDispatcher("/Login.jsp")
336
+
337
+ .forward(request, response);
338
+
339
+ }
340
+
341
+ } catch (Exception e) {
342
+
343
+
344
+
345
+ request.setAttribute("errorMessage", "システムエラーが発生しました。");
346
+
347
+
348
+
349
+ this.getServletContext().getRequestDispatcher("/Login.jsp")
350
+
351
+ .forward(request, response);
352
+
353
+
354
+
355
+ throw new ServletException(e);
356
+
357
+ } finally {
358
+
359
+ try {
360
+
361
+ if (rs != null) {
362
+
363
+ rs.close();
364
+
365
+ }
366
+
367
+ if (ps != null) {
368
+
369
+ ps.close();
370
+
371
+ }
372
+
373
+ if (con != null) {
374
+
375
+ con.close();
376
+
377
+ }
378
+
379
+ } catch (Exception e) {
380
+
381
+ }
382
+
383
+ }
384
+
385
+ }
386
+
387
+
388
+
389
+ }
390
+
391
+
392
+
393
+ }
394
+
395
+
396
+
397
+ ```
398
+
99
399
 
100
400
 
101
401
  ###試したこと

1

表題の変更

2016/06/14 07:46

投稿

l_l_l_l_l_l_l_l
l_l_l_l_l_l_l_l

スコア38

test CHANGED
@@ -1 +1 @@
1
- setAttribute
1
+ sessionの使い方が良く分かりません
test CHANGED
File without changes