struts采用JavaServlet/JSP技术,实现了基于Java EEWeb应用的MVC设计模式的应用框架
今天我用Ecipse搭建Struts框架,并且使用Struts框架编写一个最简单的例子,相信读者能够很容易的明白。
Struts是当今Java比较流行的三大框架之一,三大框架是Struts,spring,hibernate。Struts框架也包括Struts1和Struts2,由于两个版本相差比较大,Struts1已经被淘汰,现在企业基本上全部都用Struts2,所以我当然也是用Struts2。
好,下面我详细的说明搭建过程
首先启动Eclipse J2EE版本(官方最近发布的版本),创建一个web项目Struts2
引入我们下载的Struts2的目录下的Jar包,
具体目录如下
将filter和filter-mapping两个标签对的内容copy到Struts2项目的web.xml
然后,想下图(据图根路径看你Struts的位置)指定路径的struts.xml考到项目的src目录下
打开strut.xml,将<struts>标签对中的全部内容删除或者注释,建议注释
然后从注释的部分copy一下内容到struts中
内容
<constant name="struts.devMode" value="false" />
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="index" />
<action name="index">
<result type="redirectAction">
<param name="actionName">HelloWorld</param>
<param name="namespace">/example</param>
</result>
</action>
</package>
然后将第一句<constant name="struts.devMode" value="false" />
改为<constant name="struts.devMode" value="true" />
这句话主要是说,当我们项目的action的改变时,可以立刻响应改变,不需要重启服务器
到此Strut2的配置已经完成,可以写例子了
我这里就写一个最简单的例子在网页上 打印 hello Struts2!
首先在项目的webContent目录下创建一个JSP文件index.jsp
这段代码我等下再给大家介绍
ok,启动服务器,打开浏览器,输入网址http://localhost/Struts2/hello
实验成功!!!
说明:
大家看到了,现在我们访问的地址是http://localhost/Struts2/hello,并不是直接访问http://localhost/Struts2/index.jsp
当客户端访问时,服务器通过过滤器filter,然后根据action得到客户端访问的jsp页面,然后将jsp页面反馈给客户端。
无形当中把jsp和客户端分开,这样做有什么好处呢?直接访问jsp不更加简单吗,干么弄得这么复杂?
这根设计模式是一样的,复杂的东西背后带来的好处就是可拓展
大家不妨想想,如果是直接访问jsp,如果我们需要更改jsp中的内容(这是经常需要更改的部分),我个人认为除了暂时停止服务以外,然后更改代码,否则没有什么办法!但是这是很要命的!
但是我们如果引入的action这个中间层,因为客户端并没有和jsp有什么直接联系,所以只要action改变,即可立刻更换jsp,或者action不变,直接更换jsp文件,即可,不需要付出任何代价。
这就是struts的核心思想,与MVC思想非常类似。
好,我的发表到此结束。相信读者能够很轻易的体会这个思想。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。