javax.servlet.Filter运用
来源:互联网 发布:画图软件怎么打字 编辑:程序博客网 时间:2024/05/21 17:02
Servlets Filter 是Servlet 2.3 规范中新增加的,它是截取用户从客户端提交的请求,在还没有到达需要访问的资源时运行的一个类。它操纵来自客户端的请求,在资源还没有初发送到客户端前截取响应,并处理这些还没有发送到客户端的响应。
Filters 有许多的应用场合。Servlet 2.3 规范建议如下的地方可以应用Filter:
authentication filters
logging and auditing filters
image conversion filters
data compression filters
encryption filters
tokenizing filters
filters that trigger resource access events
XSL/T filters that transform XML content
MIME-type chain filters
例:
package jasso.web.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;
/**
*
* @author
*/
public class SetCharacterEncodingFilter implements Filter {
private String encoding;
/**
* Called by the web container to indicate to a filter that it is being
* taken out of service.
*
* @todo Implement this javax.servlet.Filter method
*/
public void destroy() {
}
/**
* The <code>doFilter</code> method of the Filter is called by the
* container each time a request/response pair is passed through the chain
* due to a client request for a resource at the end of the chain.
*
* @param request
* ServletRequest
* @param response
* ServletResponse
* @param chain
* FilterChain
* @throws IOException
* @throws ServletException
* @todo Implement this javax.servlet.Filter method
*/
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding(encoding);
chain.doFilter(request, response);
}
/**
* @see javax.servlet.Filter#init(FilterConfig)
*/
public void init(FilterConfig config) throws ServletException {
encoding = config.getInitParameter("encoding");
}
}
web.xml部分
......
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>my.web.filter.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>Shift_JIS</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<servlet-name>action</servlet-name>
</filter-mapping>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/config/struts-config.xml,/WEB-INF/config/struts-config-contents.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
- javax.servlet.Filter运用
- javax.servlet.Filter
- javax.servlet.Filter
- javax.servlet.Filter
- javax.servlet.Filter
- javax.servlet.Filter
- javax.servlet.Filter, javax.servlet.http.HttpSessionListener
- javax.servlet.ServletConfig、javax.servlet.ServletContext和javax.servlet.Filter
- javax.servlet.Filter 的应用
- javax.servlet.Filter的使用
- javax.servlet.Filter 的应用
- javax.servlet.Filter过滤器用法
- javax.servlet.Filter接口解析
- 理解Servlet过滤器(javax.servlet.Filter)
- 理解Servlet过滤器(javax.servlet.Filter)
- 理解Servlet过滤器(javax.servlet.Filter)
- 理解Servlet过滤器(javax.servlet.Filter)
- 理解Servlet过滤器(javax.servlet.Filter)
- 服务器托管与租用到底哪一种好一些?
- DataGrid中删除最后一页的记录时出错的解决办法
- 墨一非的BLOG
- Call Ref及相关
- Effective C#
- javax.servlet.Filter运用
- VC文件扩展名小结
- 功能齐全的DataGrid
- REAL软件公司免费发送许可证活动
- 关于 delphi 里的变体记录
- 桥梁的发展(转)
- 关于C# using 作为定义范围的问题
- 收藏的BLOG
- 正则表达式 个人快速记忆