请求总共有三种:
request,session,application。
request在只做一次请求,超出一次请求,传值就会失效。
session在浏览器关闭之前,传值都有效。
application在服务器关闭之前,传值都有效。
登陆权限实现:
1.权限在doLogin.jsp页面创建。所有做登陆判断的都在这里做判断。
<%@ page language="java" import="java.util.*,dao.*,dao.impl.*,entity.*" pageEncoding="utf-8"%> <% request.setCharacterEncoding("utf-8"); String name=request.getParameter("name"); String pwd=request.getParameter("pwd"); String chknumber=request.getParameter("chknumber");//页面 String check=(String)session.getAttribute("check"); if(check.equals(chknumber)){ UserDao userDao=new UserDaoImpl(); User user=userDao.login(name,pwd); if(user!=null){ session.setAttribute("user",user); response.sendRedirect("main.jsp"); }else{ session.setAttribute("error","用户名或密码不正确"); response.sendRedirect("index.jsp"); } }else{ session.setAttribute("error","验证码错误"); response.sendRedirect("index.jsp"); } %>
2.我们在登陆main.jsp主页面时做一个session判断:
在<html>之前添加<%@include file="check.jsp"%>,这样做是为了降低耦合度。
现在我们跳到check.jsp页面看下:
这里面的值都是doLogin.jsp页面传过来的。
<%@ page language="java" import="java.util.*,dao.*,dao.impl.*,entity.*" pageEncoding="utf-8"%> <% User users=(User)session.getAttribute("user"); if(users==null){ response.sendRedirect("index.jsp"); } %>
session的退出:
从mian.jsp页面跳转到exit.jsp页面中实现:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <% session.invalidate(); //session.removeAttribute("user"); response.sendRedirect("index.jsp"); %>