"springMVC拦截器HandlerInterceptor用法代码示例" springMVC拦截器HandlerInterceptor是一种非常重要的技术,它可以帮助我们拦截用户的请求,从而知道页面请求的是哪个class的哪个方法。本文将详细介绍springMVC拦截器HandlerInterceptor的用法代码示例。 我们需要注册拦截器,这可以通过在springMVC配置文件中添加以下代码来实现: ```xml <mvc:interceptors> <bean class="com.project.base.interceptor.ControlInterceptor" /> </mvc:interceptors> ``` 然后,我们需要继承HandlerInterceptor,实现拦截器。下面是一个简单的示例代码: ```java package com.iflashbuy.limanman; import java.util.Iterator; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; public class ControlInterceptor implements HandlerInterceptor { private Logger logger = LoggerFactory.getLogger(getClass()); @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object arg2, Exception arg3) throws Exception { } @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { // TODO Auto-generated method stub } @Override public Boolean preHandle(HttpServletRequest request, HttpServletResponse arg1, Object arg2) throws Exception { int i = 1; try { @SuppressWarnings("unchecked") Map<String, Object> parmMap = request.getParameterMap(); Iterator<String> iter = parmMap.keySet().iterator(); while (iter.hasNext()) { Object key = iter.next(); Object value = parmMap.get(key); logger.info("第" + i + "个param---->{}-{}", key, value); i = i + 1; } } catch (Exception e) { i = 1; } i = 1; return true; } } ``` 在上面的代码中,我们实现了HandlerInterceptor接口,并重写了三个方法:afterCompletion、postHandle和preHandle。其中,preHandle方法将在控制器执行之前被调用,我们可以在这里获取请求参数,并将其打印出来。 在后台,我们可以看到打印的信息,例如: ``` 第1个param---->username- admin 第2个param---->password- 123456 ``` 这说明,我们已经成功地拦截了用户的请求,并获取了请求参数。 除了基本的拦截器之外,我们还可以拓展使用拦截器实现http基本认证。例如,我们可以在preHandle方法中添加以下代码: ```java @Override public Boolean preHandle(HttpServletRequest request, HttpServletResponse arg1, Object arg2) throws Exception { String username = request.getParameter("username"); String password = request.getParameter("password"); if (username.equals("admin") && password.equals("123456")) { return true; } else { return false; } } ``` 这将检查用户的用户名和密码,如果正确则返回true,否则返回false。 springMVC拦截器HandlerInterceptor是一种非常有用的技术,它可以帮助我们拦截用户的请求,并获取请求参数。同时,我们还可以拓展使用拦截器实现http基本认证,以提高系统的安全性。
- 粉丝: 8
- 资源: 855
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- x64dbg-development-2022-09-07-14-52.zip
- 多彩吉安红色旅游网站-JAVA-基于springBoot多彩吉安红色旅游网站的设计与实现
- 本 repo 包含使用新 cv2 接口的 OpenCV-Python 库教程.zip
- 更新框架 (TUF) 的 Python 参考实现.zip
- Qos,GCC,pacing,Nack
- 章节1:Python入门视频
- 无需样板的 Python 类.zip
- ESP32 : 32-bit MCU & 2.4 GHz Wi-Fi & BT/BLE SoCs
- 博物馆文博资源库-JAVA-基于springBoot博物馆文博资源库系统设计与实现
- 旅游网站-JAVA-springboot+vue的桂林旅游网站系统设计与实现
- 1
- 2
前往页