java关于ServletConfig FilterConfig什么用
2012-01-12 09:16
405 查看
具体的使用方法你可以在google上搜索 “filter 过滤器”,FilterConfig可以获取部署描述符文件(web.xml)中分配的过滤器初始化参数。 针对你的问题回答,结果就是说FilterConfig可以获得web.xml中,以 filter 作为描述标签内的参数。 定义: FilterConfig对象提供对servlet环境及web.xml文件中指派的过滤器名的访问。 FilterConfig对象具有一个getInitParameter方法,它能够访问部署描述符文件(web.xml)中分配的过滤器初始化参数。 实例: 将下面的代码加入到web.xml中,试用FilterConfig就可以获得以 filter 作为描述标签内的参数。 <!-- The Cache Filter --> <filter> <!-- 设计过滤处理类,生成静态页面 --> <filter-name>CacheFilter</filter-name> <filter-class>com.jspbook.CacheFilter</filter-class> <!-- 不需要缓存的URL --> <init-param> <param-name>/TimeMonger.jsp</param-name> <param-value>nocache</param-value> </init-param> <init-param> <param-name>/TestCache.jsp</param-name> <param-value>nocache</param-value> </init-param> <!-- 缓存超时时间, 单位为秒 --> <init-param> <param-name>cacheTimeout</param-name> <param-value>600</param-value> </init-param> <!-- 是否根据浏览器不同的地区设置进行缓存(生成的缓存文件为 test.jspid=1_zh_CN 的格式) --> <init-param> <param-name>locale-sensitive</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CacheFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> 用法: filterConfig.getInitParameter("locale-sensitive"); 得到的就是 ture filterConfig.getInitParameter("cacheTimeout"); 得到的就是 600 filterConfig.getInitParameter(request.getRequestURI()); 得到的就是param-name 对应的 param-value 值 过滤处理类: public class CacheFilter implements Filter { ServletContext sc; FilterConfig fc; long cacheTimeout = Long.MAX_VALUE; public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res; // check if was a resource that shouldn't be cached. String r = sc.getRealPath(""); String path = fc.getInitParameter(request.getRequestURI()); if (path != null && path.equals("nocache")) { chain.doFilter(request, response); return; } path = r + path; } public void init(FilterConfig filterConfig) { this.fc = filterConfig; String ct = fc.getInitParameter("cacheTimeout"); if (ct != null) { cacheTimeout = 60 * 1000 * Long.parseLong(ct); } this.sc = filterConfig.getServletContext(); } public void destroy() { this.sc = null; this.fc = null; } } |
相关文章推荐
- java关于ServletConfig FilterConfig什么用
- java关于ServletConfig FilterConfig什么用
- java关于ServletConfig FilterConfig什么用
- java关于ServletConfig FilterConfig什么用
- 关于java web中Filter和Servlet的一些理解
- 关于Java Servlet的Filter 技术
- java Servlet FilterConfig接口
- 关于Java Servlet的Filter 技术
- 关于java Servlet的Filter 技术
- 关于Java Servlet的Filter 技术
- 关于JAVAEE servlet filter listener 的作用以及在整个WEB响应过程中所处的位置和功能
- 关于Java Servlet的Filter 技术
- 100个关于Java方面(SSH,jsp,Ajax,Servlet,JDBC)的PPT学习资料
- java filter servlet listener
- 关于 Java web start 是干什么用的
- 关于Java Servlet的中文乱码
- java.lang.NullPointerException at org.apache.struts.action.ActionServlet.parseModuleConfigFile(Actio
- Servlet中forward和redirect(sendRedirect)有什么区别以及filter(过滤器)是什么?
- java web 中 filter 与 servlet的关系
- 关于Java web中servlet连接数据库的一个细节问题