對JSP編程來說我相當新,我正在製作這個Web應用程序,用戶需要登錄。我已經完成了用戶的註冊,但是當用戶登錄時我遇到了問題。如何保留登錄信息以供後續使用
我遇到的主要問題是,即使用戶能夠成功登錄,登錄表單中的信息也會丟失。我需要保留登錄信息,以便我可以在他/她的會話期間使用Web應用程序訪問用戶的信息。
這裏是我現在有代碼:
index.jsp的(這是其中示出登錄表單)
<form name="Login Form" action="login.jsp"><table>
<tbody>
<tr>
<td><input type="text" name="emaillogin" value="email"/></td>
<td><input type="text" name="passlogin" value="password"/></td>
</tr>
<tr>
<td colspan="2" align="RIGHT><input type="submit" value="login" name="Login"/></td>
</tr>
</tbody></table></form>
的login.jsp(此執行檢查用戶是否是否有效,並重定向到用戶主頁,如果有效)
<%!
String email = "";
String password = "";
%>
<%
List users = new ArrayList();
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db", "root", "pass");
Statement stmt = con.createStatement();
ResultSet result = stmt.executeQuery("SELECT email,password FROM users");
while (result.next()) {
users.add(result.getString(1));
users.add(result.getString(2));
}
con.close();
email = request.getParameter("emaillogin");
password = request.getParameter("passlogin");
int hasUser = 0;
Iterator<String> it = users.iterator();
while (hasUser == 0 && it.hasNext()) {
if (email.equals(it.next()) && password.equals(it.next())) {
hasUser = 1;
}
}
if (hasUser == 1) {
response.sendRedirect("homepage.jsp");
} else {
response.sendRedirect("index.jsp");
}
%>
homepage.jsp(這是用戶登錄,顯示他/她的電子郵件地址後重定向到)
.
.
<% out.println("Logged in as: " + request.getParameter("email")); %>
.
.
目前的問題是,空值是什麼,我從homepage.jsp得到。我怎麼解決這個問題?
謝謝!
您使用的是哪種Java框架?除非這是爲了學習而工作,否則看起來您正在重新創建功能。 – atrain