`
Dream.V
  • 浏览: 32344 次
社区版块
存档分类
最新评论

使用自定义模板来弥补Myeclipse没有新建Filter的功能

 
阅读更多

Myeclipse插件,并没有为我们提供Filter的新建功能,为此我们不得不每次都去新建个类,然后输入那繁琐的重复代码,这完全就是浪费时间,时间应该花在更有用的事情上,而不是这类重复操作,象下面这些内容如果要自己来写,完全时浪费时间,我们完全可以创建一个模板来让它自动帮我们完成以下内容

Java代码

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

{

/**

* Constructorof the object.

*/

publicFilterTemplate()

{

super();

}

private FilterConfigfilterConfig;

// Handle thepassed-in FilterConfig

public voidinit(FilterConfig filterConfig) throws ServletException

{

this.filterConfig = filterConfig;

}

public voiddoFilter(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();

}

}

/**

* Destructionof the servlet. <br>

*/

public void destroy()

{

// Justputs "destroy" string in log

// Put yourcode here

}

}

package test;

import java.io.IOException;

importjavax.servlet.FilterChain;

import javax.servlet.FilterConfig;

importjavax.servlet.ServletException;

importjavax.servlet.ServletRequest;

importjavax.servlet.ServletResponse;

import javax.servlet.Filter;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

public class FilterTemplateimplements 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 theservlet. <br>

*/

public void destroy()

{

// Just puts "destroy" string in log

// Put your code here

}

}

打开Eclipse,选择首选相,然后根据图片提示操作




Java代码

package ${enclosing_package};

import java.io.IOException;

importjavax.servlet.FilterChain;

importjavax.servlet.FilterConfig;

import javax.servlet.ServletException;

importjavax.servlet.ServletRequest;

importjavax.servlet.ServletResponse;

import javax.servlet.Filter;

importjavax.servlet.http.HttpServletRequest;

importjavax.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" stringin 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时就要使用你定义了模板的编辑器来打开

具体说明参见下图




除了上面的例子,模板还可以用在其它很多地方,只要是出现频率高的重复操作,我们都可以定义一个模板来完成,这样可以节省我们宝贵的时间来做其它有意义的事情


分享到:
评论

相关推荐

    使用自定义模板为Myeclipse添加新建Filter的功能.pdf

    【使用自定义模板为Myeclipse添加新建Filter的功能】 在Myeclipse中,如果没有内置的模板,创建一个新的Filter(过滤器)通常需要手动编写一系列的标准代码,这既耗时又容易出错。为了提高开发效率,我们可以利用...

    MyEclipse自定义模板生成dao

    这样,当你下次在MyEclipse中新建DAO类时,自定义模板就会生效,生成符合你需求的代码。 **利用myeclipse_templates_8.5_spring资源** 提供的压缩包文件`myeclipse_templates_8.5_spring`可能包含了适用于MyEclipse...

    MyEclipse/Eclipse自定义模板XML

    MyEclipse/Eclipse自定义模板XM MyEclipse/Eclipse自定义模板XM 直接导入就可以使用了 安装方法: 打开eclipse/myeclipse 选择 window--&gt;Preferences--&gt;JAVA--&gt;Code Style--&gt;Code Templates 右边点Import 选择你写好...

    在MyEclipse10中增加自定义模板【完整版】

    ### 在MyEclipse10中增加自定义模板的详细步骤 #### 一、背景介绍 在软件开发过程中,模板能够极大地提高开发效率,特别是在Web应用开发中,通过使用预定义的模板可以快速构建页面框架。MyEclipse作为一款非常流行...

    Eclipse自定义模板设置

    要使用 Eclipse 的自定义模板设置,首先需要打开 Eclipse 或 MyEclipse 工具,然后创建或打开一个 Java 工程。接着,点击菜单 Window-&gt;Preferences,弹出首选项设置窗口。在左侧的选项列表中,选择 Java-&gt;Code Style...

    解决myeclipse2014无发新建Filter和listener

    开发者可以自定义`Filter`来实现诸如数据校验、登录检查、字符编码转换等功能。而`Listener`则是监听应用程序中的特定事件,如Servlet上下文初始化、会话创建或销毁等,它们是事件驱动编程的一种实现方式。 当用户...

    MyEclipse 9.0 自定义创建JSP模板的方法

    ### MyEclipse 9.0 自定义创建JSP模板的方法详解 #### 一、引言 在进行Web开发的过程中,经常需要使用Java Server Pages (JSP) 来构建动态网页。MyEclipse作为一款功能强大的集成开发环境(IDE),提供了诸多便捷的...

    Filter在MyEclipse中的创建方法

    1. **新建Filter类**:在MyEclipse中,选择“File” -&gt; “New” -&gt; “Other”,然后在弹出的窗口中找到“Servlet”类别,选择“Filter”。输入Filter的名字,点击“Next”。 2. **配置Filter**:在接下来的界面中,...

    myeclipse模板.zip

    5. 效率提升:使用MyEclipse的模板功能,不仅可以提高代码的规范性,还可以显著提升编码速度。在日常开发中,通过快捷键触发模板,可以一键生成常见的代码结构,减少手动输入的工作量,让开发者更专注于逻辑实现。 ...

    myeclipse_templates 模板

    总的来说,myeclipse_templates 提供了一种便捷的方式,帮助MyEclipse用户更高效地进行Hibernate项目的开发,通过自定义模板,不仅可以节省时间,还能保持代码风格的一致性,提高代码质量。同时,这也是MyEclipse...

    eclipse myeclipse java 代码 注释 模板

    用户可以通过Eclipse MyEclipse的“Window” &gt; “Preferences” &gt; “Java” &gt; “Code Style” &gt; “Code Templates”路径来配置自定义注释模板。例如,可以设置一个方法注释模板,包含方法名、参数、返回值等信息,...

    eclipse/myeclipse注释行模板

    注释比代码还重要?? 当然!在一个项目的完整的生命周期中,其维护费用,往往是其开发费用的数倍。 因此项目的可维护性、可复用性是衡量一...新创建的类中,自动添加了你的注释模板中定义好了的注释。 就这么简单:)

    myeclipse简单注释模板

    MyEclipse作为一款强大的Java集成开发环境,提供了自定义注释模板的功能,允许用户根据自己的需求创建和配置个性化注释。本教程将详细讲解如何在MyEclipse中设置和使用简单的注释模板。 首先,我们来看到两个关键...

    MyEclipse注释模板

    1. **打开设置**:在MyEclipse中,可以通过“Window” -&gt; “Preferences” -&gt; “Java” -&gt; “Code Style” -&gt; “Code Templates”来访问注释模板设置。 2. **模板分类**:在代码模板配置界面,你会看到几个类别,如...

    myeclipse 格式化模板

    总的来说,MyEclipse的格式化模板功能是其强大而实用的特性之一,通过精细化配置这两份XML文件,开发者可以打造出符合团队规范、个性化的开发环境。合理利用这些工具,不仅能提升个人编程效率,也能增进团队间的协作...

    Myeclipse6.5新建一个工作区间所要做的工作

    在IT行业中,集成开发环境(IDE)是程序员日常工作的得力助手,MyEclipse作为一款功能强大的Java EE集成开发环境,深受开发者的喜爱。本文将详细介绍如何在MyEclipse 6.5中新建一个工作区间,以便更好地组织和管理...

    myeclipse注释模板的修改 自动生成注释

    MyEclipse作为一款强大的Java集成开发环境,提供了丰富的自定义功能,其中包括注释模板的修改。本篇文章将详细解析如何在MyEclipse中修改注释模板,实现自动生成符合个人或团队编码规范的注释。 首先,我们来理解...

    自定义Myeclipse总结及黑色主题的配置

    1. **安装插件**:MyEclipse允许用户通过安装额外的插件来扩展其功能。例如,可以安装JRebel插件以实现热部署,或者安装m2eclipse插件以支持Maven项目。 2. **自定义工作空间**:用户可以根据个人喜好调整工作空间...

    myeclipse自定义java注释

    MyEclipse作为一款强大的Java集成开发环境(IDE),提供了自定义注释模板的功能,帮助开发者快速生成规范、一致的注释,提高编码效率和代码可读性。下面将详细阐述如何在MyEclipse中设置和使用自定义Java注释。 ...

    修改模板代码(myEclipse8.5-9-10)

    接下来启动MyEclipse,在新建项目或文件时,就会使用新的模板来进行初始化了。 通过上述步骤,我们可以有效地利用MyEclipse提供的模板功能,提高开发效率,减少重复工作。这对于频繁进行类似项目开发的团队来说是...

Global site tag (gtag.js) - Google Analytics