当前位置:   article > 正文

SpringMvc拦截器_拦截器只会针对访问springmvc做拦截

拦截器只会针对访问springmvc做拦截

拦截器:只会拦截springmvc的控制层接口路径

自定义拦截器类

       返回 true为通过 fales 为拦截

  1. public class Myinterceptor implements HandlerInterceptor {
  2. @Override
  3. public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
  4. System.out.println("-=======拦截器======-");
  5. return true;
  6. }
  7. }

将拦截器放到springMvc容器中 springmvc.xml

  1. <!--拦截器-->
  2. <mvc:interceptors>
  3. <mvc:interceptor>
  4. //拦截的路径 /*一层路径
  5. /**多层路径
  6. <mvc:mapping path="/**"/>
  7. <mvc:exclude-mapping path="不拦截路径"/>
  8. <bean class="拦截器全路径"/>
  9. </mvc:interceptor>
  10. </mvc:interceptors>

案例:

        不登录能访问student/list 不能访问student/a,student/b

       登录后能访问student/a,student/b

  1. @Controller
  2. @RequestMapping("/student")
  3. public class Hellocontroller {
  4. @RequestMapping("/a")
  5. @ResponseBody
  6. public String a(){
  7. return "登录后才能访问a";
  8. }
  9. @RequestMapping("/b")
  10. @ResponseBody
  11. public String b(){
  12. return "登录后才能访问b";
  13. }
  14. @RequestMapping("/list")
  15. @ResponseBody
  16. public String list(){
  17. return "不登录也能访问list";
  18. }
  19. }

login.jsp 登录页面

登录页面的控制层

  1. @Controller
  2. @RequestMapping("/login")
  3. public class Logincontroller {
  4. @RequestMapping("/login")
  5. public String login(String name, String password, HttpSession session){
  6. if ("admin".equals(name)&&"123".equals(password)){
  7. session.setAttribute("name",name);
  8. return "error";
  9. }else {
  10. return "forward:../login.jsp";
  11. }
  12. }
  13. }

 拦截器

  1. public class Loginhandle implements HandlerInterceptor {
  2. public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
  3. HttpSession session = request.getSession();
  4. Object name = session.getAttribute("name");
  5. if (name!=null){
  6. return true;
  7. }else
  8. response.sendRedirect(request.getContextPath()+"/login.jsp");
  9. return false;
  10. }
  11. }

声明拦截器

  1. <!--声明自定义拦截器-->
  2. <mvc:interceptors>
  3. <mvc:interceptor>
  4. <mvc:mapping path="/**"/>
  5. <mvc:exclude-mapping path="/student/list"/>
  6. <mvc:exclude-mapping path="/login/login"/>
  7. <bean class="com.rqk.aaa.qy145.ninth.rqk.handler.Loginhandle"/>
  8. </mvc:interceptor>
  9. </mvc:interceptors>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/972761
推荐阅读
相关标签
  

闽ICP备14008679号