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

質問編集履歴

2

文法の修正、servletの追記

2016/06/14 07:46

投稿

l_l_l_l_l_l_l_l
l_l_l_l_l_l_l_l

スコア38

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

表題の変更

2016/06/14 07:46

投稿

l_l_l_l_l_l_l_l
l_l_l_l_l_l_l_l

スコア38

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