java filter

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java filter

阅读次数: 517次发布时间: 2010-08-17 13:53:41发布人: 网络转载

来源: 网络转载

过滤器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("../failure.jsp");

相关文档
最新文档