Session保存用户名
1.构造登录界面
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <!DOCTYPE html><html><head><meta charset="UTF-8"><title>Session保存用户名</title></head><body><form action="doS3" method= "post"> 用户名:<input type="text" name="name"/><br/> 密 码:<input type="password" name = "pwd"><br/> <input type="submit"></form></body></html> |
2.获取Session并将用户名保存到Session域对象中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | package com.oaec.session;import java.io.IOException;import java.util.Date;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class servletDemo3 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;charset=UTF-8"); // req.getAttribute(arg0) String name = req.getParameter("name"); String pwd = req.getParameter("pwd"); if ("高圆圆".equals(name) && "123".equals(pwd)) { // 将用户名保存在session中 // 1.获得session HttpSession session = req.getSession(); // 2.将用户名保存在session中 session.setAttribute("uname", name); resp.sendRedirect("doS4"); } else { resp.sendRedirect("index.html"); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); }} |
3.从Session中取出数据 并对页面进行保护 没有登录通过URL访问 直接重定向到登录界面 即主页
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | package com.oaec.session;import java.io.IOException;import java.io.PrintWriter;import java.util.Date;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class servletDemo4 extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;charset=UTF-8"); //从session中取出数据 HttpSession session = req.getSession(false); Object object = null; if (session != null && (object = session.getAttribute("uname"))!=null) { PrintWriter writer = resp.getWriter(); writer.write("登录成功<br>"); writer.write("欢迎你"+object); }else { //没有登录过 直接重定向到主页 resp.sendRedirect("index.html"); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); }} |