赞
踩
返回 true为通过 fales 为拦截
- public class Myinterceptor implements HandlerInterceptor {
- @Override
- public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
- System.out.println("-=======拦截器======-");
- return true;
- }
- }
将拦截器放到springMvc容器中 springmvc.xml
- <!--拦截器-->
- <mvc:interceptors>
- <mvc:interceptor>
- //拦截的路径 /*一层路径
- /**多层路径
- <mvc:mapping path="/**"/>
-
- <mvc:exclude-mapping path="不拦截路径"/>
-
- <bean class="拦截器全路径"/>
- </mvc:interceptor>
- </mvc:interceptors>
不登录能访问student/list 不能访问student/a,student/b
登录后能访问student/a,student/b
- @Controller
- @RequestMapping("/student")
- public class Hellocontroller {
-
- @RequestMapping("/a")
- @ResponseBody
- public String a(){
- return "登录后才能访问a";
- }
- @RequestMapping("/b")
- @ResponseBody
- public String b(){
- return "登录后才能访问b";
- }
- @RequestMapping("/list")
- @ResponseBody
- public String list(){
- return "不登录也能访问list";
- }
- }

- @Controller
- @RequestMapping("/login")
- public class Logincontroller {
-
- @RequestMapping("/login")
- public String login(String name, String password, HttpSession session){
- if ("admin".equals(name)&&"123".equals(password)){
- session.setAttribute("name",name);
- return "error";
- }else {
- return "forward:../login.jsp";
- }
- }
- }
- public class Loginhandle implements HandlerInterceptor {
- public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
- HttpSession session = request.getSession();
- Object name = session.getAttribute("name");
- if (name!=null){
- return true;
- }else
- response.sendRedirect(request.getContextPath()+"/login.jsp");
- return false;
- }
- }
- <!--声明自定义拦截器-->
- <mvc:interceptors>
- <mvc:interceptor>
- <mvc:mapping path="/**"/>
- <mvc:exclude-mapping path="/student/list"/>
- <mvc:exclude-mapping path="/login/login"/>
- <bean class="com.rqk.aaa.qy145.ninth.rqk.handler.Loginhandle"/>
- </mvc:interceptor>
- </mvc:interceptors>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。