设为首页 加入收藏

TOP

filter应用 (一)
2014-11-24 09:49:26 】 浏览:1724
Tags:filter 应用

过滤器Filter也具有生命周期:init()->doFilter()->destroy(),由部署文件中的filter元素驱动。在servlet2.4中,过滤器同样可以用于请求分派器,但须在web.xml中声明,INCLUDE或FORWARD或REQUEST或ERROR该元素位于filter-mapping中。


一、批量设置请求编码


Java代码
public class EncodingFilter implements Filter {

private String encoding = null;

public void destroy() {
encoding = null;
}

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

String encoding = getEncoding();
if (encoding == null){
encoding = "gb2312";
}
request.setCharacterEncoding(encoding);// 在请求里设置上指定的编码
chain.doFilter(request, response);
}

public void init(FilterConfig filterConfig) throws ServletException
{
this.encoding = filterConfig.getInitParameter("encoding");
}

private String getEncoding() {
return this.encoding;
}

}
public class EncodingFilter implements Filter {
private String encoding = null;
public void destroy() {
encoding = null;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
String encoding = getEncoding();
if (encoding == null){
encoding = "gb2312";
}
request.setCharacterEncoding(encoding);// 在请求里设置上指定的编码
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
this.encoding = filterConfig.getInitParameter("encoding");
}
private String getEncoding() {
return this.encoding;
}
}


Xml代码

EncodingFilter
com.logcd.filter.EncodingFilter

encoding
gb2312




EncodingFilter
/*


EncodingFilter
com.logcd.filter.EncodingFilter

encoding
gb2312



EncodingFilter
/*

二、用filter控制用户访问权限


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

HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;

HttpSession session = req.getSession();
if (session.getAttribute("username") != null) {//登录后才能访问
chain.doFilter(request, response);
} else {
res.sendRedirect("../failure.jsp");
}
}
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
HttpSession session = req.getSession();
if (session.getAttribute("username") != null) {//登录后才能访问
chain.doFilter(request, response);
} else {
res.sendRedirect("../fai

首页 上一页 1 2 3 4 5 6 下一页 尾页 1/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Spring Batch Example ? Hello Wo.. 下一篇Spring事务配置的五种方式

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目