100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > java过滤器应用实例_Servlet过滤器Filter的简单介绍(附示例)

java过滤器应用实例_Servlet过滤器Filter的简单介绍(附示例)

时间:2019-05-04 10:47:10

相关推荐

java过滤器应用实例_Servlet过滤器Filter的简单介绍(附示例)

本篇文章给大家带来的内容是关于Servlet过滤器Filter的简单介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

特点

1)Filter是依赖于Servlet容器,属于Servlet规范的一部分,在Servlet API中定义了三个接口类:Filter, FilterChain, FilterConfig。

2)基本功能是对 调用 Servlet 的过程进行拦截,从而在 Servlet 进行响应处理的前后实现一些特殊的功能。

3)需要在 web.xml 文件中进行注册和设置它所能拦截的资源。

编码public class UserNoFilter implements Filter {

private FilterConfig filterConfig; //获取参数配置

public void init(FilterConfig fConfig) throws ServletException {

this.filterConfig = fConfig;

}

/**

* 业务逻辑判断

*/

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

String initUser = filterConfig.getInitParameter("userNo");

String userNo = request.getParameter("userNo");//从提交请求获取用户账号

if(!initUser.equals(userNo)){

request.setAttribute("message", "用户名不正确");

request.getRequestDispatcher("/index.jsp").forward(request, response);

return;

}

chain.doFilter(request, response);

}

public void destroy() {

}

}

web.xml参数

UserNoFilter

UserNoFilter

com.demo.filter.UserNoFilter

userNo

admin

UserNoFilter

/hello.jsp

应用

1)指定编码格式request.setCharacterEncoding(encoding);

filterChain.doFilter(request, response);

2)用户是否登录、用户能否访问菜单String userId=(String) session.getAttribute("userId");

if (userId ==null){

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。