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

servlet进行request拦截,并判断该请求是否为“.action”请求。如果是,则解析请求,获取请求的action;如果否,响应客户端为信息为:不可识别的的act... servlet 进行request 拦截,并判断该请求是否为“.action”请求。
如果是,则解析请求,获取请求的action;如果否,响应客户
端为信息为:不可识别的的action 请求。
以上代码如何实现,本人小白,求大神啊
展开
 我来答
千叶育儿
推荐于2016-09-03 · 育儿、诗词分享,每天进步一点点!
千叶育儿
采纳数:1524 获赞数:5378

向TA提问 私信TA
展开全部
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>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式