servlet 进行request 拦截,并判断该请求是否为“.action”请求。

发布网友 发布时间:2022-04-24 08:11

我来回答

1个回答

热心网友 时间:2023-10-09 02:49

package com.framework.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 不允许访问.action
 *
 */
public class LogFilter implements Filter {

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
String url = httpServletRequest.getRequestURI();
if(url != null && url.endsWith(".action")) {
String redirect = httpServletRequest.getContextPath();
httpServletResponse.sendRedirect(redirect);
return;
}
chain.doFilter(request, response);
}

@Override
public void destroy() {

}

@Override
public void init(FilterConfig arg0) throws ServletException {

}
}

web.xml

<filter>
   <filter-name>LogFilter</filter-name>
   <filter-class>com.framework.filter.LogFilter</filter-class>
</filter>
<filter-mapping>
   <filter-name>LogFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com