浏览 6965 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-18
package test; import java.io.IOException; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.Filter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class FilterTemplate implements Filter { /** * Constructor of the object. */ public FilterTemplate() { super(); } private FilterConfig filterConfig; // Handle the passed-in FilterConfig public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; } public void doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain) { try { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res; HttpSession session = request.getSession(); // 这里放到达目的地前(进入)处理代码 filterChain.doFilter(req, res); // 这里放到达目的地(离开)的处理代码 } catch (IOException e) { e.printStackTrace(); } catch (ServletException e) { e.printStackTrace(); } } /** * Destruction of the servlet. <br> */ public void destroy() { // Just puts "destroy" string in log // Put your code here } } 打开Eclipse,选择首选相,然后根据图片提示操作 package ${enclosing_package} ; import java.io.IOException; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.Filter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class ${primary_type_name} implements Filter { /** * Constructor of the object. */ public ${primary_type_name}() { super(); } private FilterConfig filterConfig; // Handle the passed-in FilterConfig public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; } public void doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain) { try { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res; HttpSession session = request.getSession(); // 这里放到达目的地前(进入)处理代码 filterChain.doFilter(req,res); // 这里放到达目的地(离开)的处理代码 } catch (IOException e) { e.printStackTrace(); } catch (ServletException e) { e.printStackTrace(); } } /** * Destruction of the servlet. <br> */ public void destroy() { // Just puts "destroy" string in log // Put your code here } } 代码中有两处变量 ${enclosing_package} 外层包名 ${primary_type_name} 不带扩展名的文件名 用图片结合代码那两个变量的意思就很明显了,因为模板里其它部分是死的,就只有包和类名是活的,所以需要动态的生成 接下来就是使用这个模板了 我们只需要新建一个class(任意包下都无所谓),然后Ctrl+A全选,接着delete,在编辑器中输入filter,按Alt+/(代码辅助快捷键),选择filter - filter模板(注意,如果filter只有单一辅助内容,不会提示图中的框,会把唯一的内容直接输出到编辑器,你可以只输入f,然后Alt+/) 接着我们打开web.xml加入相应的配置信息,如果你觉得配置信息也麻烦(毕竟最少都有8行),完全可以在xml编辑器下也创建模板,由于xml编辑器不是eclipse默认提供,而是通过插件提供的,所以我们要到相应插件的选相下去修改,笔者使用的是myeclipse的xml编辑器,所以是在首选相下的myeclipse里,见下图 - 接下来我们来打开web.xml,然后在web-app标签中间空白处输入filter然后alt+/,就会出现filter 模板提示,见下图 - 注意一点: 由于xml编辑器不是eclipse默认提供,而是通过插件提供的,所以我们要到相应插件的选相下去修改,那么你打开xml时就要使用你定义了模板的编辑器来打开 具体说明参见下图 - - 除了上面的例子,模板还可以用在其它很多地方,只要是出现频率高的重复操作,我们都可以定义一个模板来完成,这样可以节省我们宝贵的时间来做其它有意义的事情 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-07-18
:[c[/color][color=cyan]olor=darkred]twisted[/color]: hjg [align=center][align=left][size=x-small[i]
引用 [list] [*][list=1] [*][*][img][url][flash=200,200][url][img][list=1] [*][*][*][list] [*][*][*][*] |
|
返回顶楼 | |