📄 loginservlet.java
字号:
package ch16;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
*
* 使用HttpSession管理会话的登录Servlet
*/
public class LoginServlet extends HttpServlet {
protected void doGet(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=GB2312");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<head>");
out.println("<title>使用HttpSession管理会话的登录页面</title>");
out.println("</head>");
out.println("<body>");
// 获取会话对象
HttpSession session = request.getSession();
// 从会话对象中读取数据
Boolean isLogin = (Boolean) session.getAttribute("isLogin");
if (isLogin == null) {
isLogin = Boolean.FALSE;
}
String user = request.getParameter("user");
String password = request.getParameter("pass");
if (isLogin.booleanValue()) {
// 从会话对象中读取数据
user = (String) session.getAttribute("user");
Date loginTime = new Date(session.getCreationTime());
out.println("<h2>欢迎您," + user + "!</h2>");
out.println("<h2>您的登录时间是:" + loginTime + "!</h2>");
} else if ((user != null) && (password != null)) {
// 在会话对象中保存数据
session.setAttribute("user", user);
session.setAttribute("isLogin", Boolean.TRUE);
Date loginTime = new Date(session.getCreationTime());
out.println("<h2>欢迎您," + user + "!</h2>");
out.println("<h2>您的登录时间是:" + loginTime + "!</h2>");
} else {
out.println("<h2>请在下面输入登录信息</h2>");
out.println("<form method=\"post\" action=\"login\">");
out.println("<table>");
out.println("<tr>");
out.println("<td>用户名:</td>");
out.println("<td><input name=\"user\" type=\"text\"></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td>密码:</td>");
out.println("<td><input name=\"pass\" type=\"password\"></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td></td>");
out.println("<td><input name=\"ok\" type=\"submit\" value=\"确定\">");
out.println("<input name=\"cancel\" type=\"reset\" value=\"重置\"></td>");
out.println("</tr>");
out.println("</table>");
out.println("</form>");
}
out.println("</body>");
out.println("</html>");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -