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); } } |