Struts2-零配置

约定优于配置

JavaEE的框架在近几年来越来越多,并且大量使用配置的方式来实现一些功能.这种使用配置文件的方式有明显的弊端,比如:配置文件中的东西无法进行编译检查,复杂的配置的语法需要花费时间了解,随着开发进行,配置文件越来越臃肿,那么配置文件的加载就成了问题。于是又提出了一种返璞归真的设计思想,实现约定一个规范,大家都按照这个规范去开发,而不用为了灵活而去配置一些东西,这样从某种程度上讲提高了程序开发的效率。
Ruby On Rails 开发中,Rails 有一条重要原则:约定优于配置。Web开发中很多框架都是基于MVC的,开发者只需要按约定View、Controller、Model 即可,无需进行配置。Struts 2 的 Convention 插件借鉴了 Rails 的创意,甚至连插件的名称都借鉴了“约定优于配置”原则。Convention 这个单词的翻译过来就是“约定”的意思。

在Struts2中实现“零配置”主要通过这个插件来完成。当我们已经习惯了 Struts 2 的基本开发方法之后,如果希望改为使用 Convention 插件也非常容易,我们只要放弃 Stuts 2 原有的配置文件,改为按 Convention 插件的约定来定义 Action 即可。在Struts2的发行库中,就包含了Convention plugin,在struts2.1.8.1发行包中,如


Config-browser-plugin 也是一个插件,它能够帮助我们查看运行时框架所有Action的配置状况,这对于我们在开发的时候非常有用。

首先需要将这两jar包放入WEB-INF/lib目录下,在/WEB-INF目录中新建一个 content文件夹,convention插件约定在/WEB-INF/content文件夹中存放结果视图。在这个文件夹中新建一个hello-world.jsp


部署到Tomcat,启动后,在地址栏中输入地址:http://localhost/struts2Convention/hello-world

我们看到,最后显示了/WEB-INF/content/hello-word.jsp中的内容。

修改默认的结果页位置

默认情况下,convention插件会自动到/WEB-INF/content目录中查找结果页,这个路径可以通过配置常量来修改这个位置。展开struts2-convention-plugin-2.1.8.1.jar,打开struts-plugin.xml文件,可以看到如下配置:


我们可以在struts.xml文件中修改这个常量。这里说的“零“配置不是说没有配置文件,而是不在配置文件中对Action进行配置,有些基本的常量的配置还需要在配置文件中进行。


posted @ 2014-05-11 17:38  問天  阅读(168)  评论(0编辑  收藏  举报