您的位置:首页 > 编程语言 > Java开发

struts采用JavaServlet/JSP技术,实现了基于Java EEWeb应用的MVC设计模式的应用框架

2015-02-11 01:09 826 查看
今天我用Ecipse搭建Struts框架,并且使用Struts框架编写一个最简单的例子,相信读者能够很容易的明白。

Struts是当今Java比较流行的三大框架之一,三大框架是Struts,spring,hibernate。Struts框架也包括Struts1和Struts2,由于两个版本相差比较大,Struts1已经被淘汰,现在企业基本上全部都用Struts2,所以我当然也是用Struts2。

好,下面我详细的说明搭建过程

首先启动Eclipse J2EE版本(官方最近发布的版本),创建一个web项目Struts2




引入我们下载的Struts2的目录下的Jar包,

具体目录如下





将这些Jar包导入到项目的lib目录下




然后打开上层目录的web.xml配置文件




将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

并更改代码如下




然后将项目中的struts.xml的代码更改为




这段代码我等下再给大家介绍

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思想非常类似。

好,我的发表到此结束。相信读者能够很轻易的体会这个思想。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐