Session保存用户名到Session域对象中
Session保存用户名
1.构造登录界面
<!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域对象中
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访问 直接重定向到登录界面 即主页
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); } }