栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springmvc拦截器

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springmvc拦截器

springmvc拦截器的执行流程

        处理请求前,被执行preHandle

        处理请求后,数据渲染前,被执行postHandle

        处理请求后,数据渲染后,被执行afterCompletion

springmvc拦截器实现登录的拦截(转发和重定向)

        index.jsp中的内容

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

  
    主页
  
  
  欢迎进入springmvc的世界
  欢迎
  
账 号: 密 码:

        springmvc.xml中的配置文件



    
    
    
    

    
    
        
        
        
    

    
    
        
        
            
            
            
            
            
        

    

        interceptor拦截器中的内容(idea中没有提示的话,ctrl+o)

package org.zmt.intercertor;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //拿到浏览器后缀地址
        String uri = request.getRequestURI();
        //拿到账号密码
        String name = request.getParameter("name");
        String pwd = request.getParameter("password");

        //后缀为login或者Login时
        if (uri.contains("Login")||uri.contains("login")){
            //对账号或者密码进行判断
            if (name != null & name != "" & pwd != null & pwd != ""){
                return true;
            }else {

                //转发
                request.getRequestDispatcher("/index.jsp").forward(request, response);
            }
        }else {
            //重定向
            response.sendRedirect(request.getContextPath()+"/tologin");
        }
        return false;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

    }
}

        controller中的内容

package org.zmt.controller;

import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import sun.rmi.runtime.Log;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import java.lang.annotation.Annotation;

@Controller
public class HelloController {

    @RequestMapping("/hello")
    public ModelAndView hello(){
        System.out.println("执行业务逻辑");
        ModelAndView mv = new ModelAndView();
        mv.addObject("lj","说的就是你!");
        mv.setViewName("show");
        return mv;
    }
    @RequestMapping("/login")
    public ModelAndView login(HttpServletRequest request){
        String name = request.getParameter("name");
        ModelAndView mv = new ModelAndView();
        mv.addObject("name",name);
        mv.setViewName("login");
        return mv;
    }

    @RequestMapping("/tologin")
    public String toLogin(){
        return "index";
    }
}

        登录成功后的页面login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


欢迎

账 号:${name}

        接下来进行测试就行了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/749200.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号