写一个不用配置文件的springmvc拦截器,用于拦截所有/jftzc/*,拦截到的请求需从请求头中获取参数uid,当uid=12345时放行,否则返回401.
时间: 2024-06-01 07:11:14 浏览: 17
public class MyInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String requestUri = request.getRequestURI();
if (requestUri.startsWith("/jftzc/")) {
String uid = request.getHeader("uid");
if ("12345".equals(uid)) {
return true;
} else {
response.setStatus(HttpStatus.UNAUTHORIZED.value());
return false;
}
}
return true;
}
}
相关问题
写一个springmvc拦截器,用于拦截所有/jftzc/*,拦截到的请求需从请求头中获取参数uid,当uid=12345时放行,否则返回401.
```
public class MyInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String uri = request.getRequestURI();
if (uri.startsWith("/jftzc/")) {
String uid = request.getHeader("uid");
if ("12345".equals(uid)) {
return true;
} else {
response.setStatus(401);
return false;
}
}
return true;
}
}
```
需要在Spring MVC配置文件中注册该拦截器:
```
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/jftzc/**"/>
<bean class="com.example.MyInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
```
springMVC拦截器如何从properties文件中获取参数来配置有参xml方式
可以通过在Spring MVC配置文件中定义一个 PropertyPlaceholderConfigurer Bean,并在该 Bean 中指定 properties 文件的路径,然后在拦截器的 XML 配置文件中通过 ${key} 的方式引用 properties 文件中的配置参数。具体步骤如下:
1. 在 Spring MVC 配置文件中定义 PropertyPlaceholderConfigurer Bean,指定 properties 文件路径:
```
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:config.properties</value>
</property>
</bean>
```
2. 在拦截器的 XML 配置文件中通过 ${key} 的方式引用 properties 文件中的配置参数:
```
<bean id="myInterceptor" class="com.example.MyInterceptor">
<property name="param1" value="${param1}" />
<property name="param2" value="${param2}" />
</bean>
```
其中,param1 和 param2 是在 properties 文件中定义的参数名,可以根据实际情况替换成对应的参数名。在 MyInterceptor 类中,可以通过 getter 和 setter 方法获取和设置 param1 和 param2 的值。