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
![](http://img.blog.163.com/photo/-K9C5QIGjxM2G_lgThBJ6w==/5762637198197384000.jpg)
引入我们下载的Struts2的目录下的Jar包,
具体目录如下
![](http://img.blog.163.com/photo/I2VsQXR2CfUg4h7caYTObw==/5762637198197384001.jpg)
将这些Jar包导入到项目的lib目录下
![](http://img.blog.163.com/photo/_wvsvp81f63fZJUTdyKCYQ==/5762637198197384002.jpg)
然后打开上层目录的web.xml配置文件
![](http://img.blog.163.com/photo/r8vjz_MNcjej4wvXQkABjw==/5762637198197384003.jpg)
将filter和filter-mapping两个标签对的内容copy到Struts2项目的web.xml
![](http://img.blog.163.com/photo/Ollqt2KFpRG3iw89F341tg==/5762637198197384004.jpg)
然后,想下图(据图根路径看你Struts的位置)指定路径的struts.xml考到项目的src目录下
![](http://img.blog.163.com/photo/J5Q39tqxyVZjgsnOd3O4Xg==/5762637198197384005.jpg)
如图
![](http://img.blog.163.com/photo/-J4m6yH6nVQfGblANRcnTQ==/5762637198197384006.jpg)
打开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的改变时,可以立刻响应改变,不需要重启服务器
结果为
![](http://img.blog.163.com/photo/KPBSLqSTBmQlA0E7jkrjYw==/5762637198197384007.jpg)
到此Strut2的配置已经完成,可以写例子了
我这里就写一个最简单的例子在网页上 打印 hello Struts2!
首先在项目的webContent目录下创建一个JSP文件index.jsp
并更改代码如下
![](http://img.blog.163.com/photo/W62RVh2UxLD-n_X7FKgIFg==/5762637198197384008.jpg)
然后将项目中的struts.xml的代码更改为
![](http://img.blog.163.com/photo/WE2K4psnW0kt1hPiEAF-hg==/5762637198197384009.jpg)
这段代码我等下再给大家介绍
ok,启动服务器,打开浏览器,输入网址http://localhost/Struts2/hello
结果为
![](http://img.blog.163.com/photo/3smhjoFBwqlZGU7FlEhi4Q==/5762637198197384010.jpg)
实验成功!!!
说明:
大家看到了,现在我们访问的地址是http://localhost/Struts2/hello,并不是直接访问http://localhost/Struts2/index.jsp
我把流程画一下
![](http://img.blog.163.com/photo/BmoqjgU4ds7NWVz43lUKFg==/5762637198197384011.jpg)
当客户端访问时,服务器通过过滤器filter,然后根据action得到客户端访问的jsp页面,然后将jsp页面反馈给客户端。
无形当中把jsp和客户端分开,这样做有什么好处呢?直接访问jsp不更加简单吗,干么弄得这么复杂?
这根设计模式是一样的,复杂的东西背后带来的好处就是可拓展
大家不妨想想,如果是直接访问jsp,如果我们需要更改jsp中的内容(这是经常需要更改的部分),我个人认为除了暂时停止服务以外,然后更改代码,否则没有什么办法!但是这是很要命的!
但是我们如果引入的action这个中间层,因为客户端并没有和jsp有什么直接联系,所以只要action改变,即可立刻更换jsp,或者action不变,直接更换jsp文件,即可,不需要付出任何代价。
这就是struts的核心思想,与MVC思想非常类似。
好,我的发表到此结束。相信读者能够很轻易的体会这个思想。
Struts是当今Java比较流行的三大框架之一,三大框架是Struts,spring,hibernate。Struts框架也包括Struts1和Struts2,由于两个版本相差比较大,Struts1已经被淘汰,现在企业基本上全部都用Struts2,所以我当然也是用Struts2。
好,下面我详细的说明搭建过程
首先启动Eclipse J2EE版本(官方最近发布的版本),创建一个web项目Struts2
![](http://img.blog.163.com/photo/-K9C5QIGjxM2G_lgThBJ6w==/5762637198197384000.jpg)
引入我们下载的Struts2的目录下的Jar包,
具体目录如下
![](http://img.blog.163.com/photo/I2VsQXR2CfUg4h7caYTObw==/5762637198197384001.jpg)
将这些Jar包导入到项目的lib目录下
![](http://img.blog.163.com/photo/_wvsvp81f63fZJUTdyKCYQ==/5762637198197384002.jpg)
然后打开上层目录的web.xml配置文件
![](http://img.blog.163.com/photo/r8vjz_MNcjej4wvXQkABjw==/5762637198197384003.jpg)
将filter和filter-mapping两个标签对的内容copy到Struts2项目的web.xml
![](http://img.blog.163.com/photo/Ollqt2KFpRG3iw89F341tg==/5762637198197384004.jpg)
然后,想下图(据图根路径看你Struts的位置)指定路径的struts.xml考到项目的src目录下
![](http://img.blog.163.com/photo/J5Q39tqxyVZjgsnOd3O4Xg==/5762637198197384005.jpg)
如图
![](http://img.blog.163.com/photo/-J4m6yH6nVQfGblANRcnTQ==/5762637198197384006.jpg)
打开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的改变时,可以立刻响应改变,不需要重启服务器
结果为
![](http://img.blog.163.com/photo/KPBSLqSTBmQlA0E7jkrjYw==/5762637198197384007.jpg)
到此Strut2的配置已经完成,可以写例子了
我这里就写一个最简单的例子在网页上 打印 hello Struts2!
首先在项目的webContent目录下创建一个JSP文件index.jsp
并更改代码如下
![](http://img.blog.163.com/photo/W62RVh2UxLD-n_X7FKgIFg==/5762637198197384008.jpg)
然后将项目中的struts.xml的代码更改为
![](http://img.blog.163.com/photo/WE2K4psnW0kt1hPiEAF-hg==/5762637198197384009.jpg)
这段代码我等下再给大家介绍
ok,启动服务器,打开浏览器,输入网址http://localhost/Struts2/hello
结果为
![](http://img.blog.163.com/photo/3smhjoFBwqlZGU7FlEhi4Q==/5762637198197384010.jpg)
实验成功!!!
说明:
大家看到了,现在我们访问的地址是http://localhost/Struts2/hello,并不是直接访问http://localhost/Struts2/index.jsp
我把流程画一下
![](http://img.blog.163.com/photo/BmoqjgU4ds7NWVz43lUKFg==/5762637198197384011.jpg)
当客户端访问时,服务器通过过滤器filter,然后根据action得到客户端访问的jsp页面,然后将jsp页面反馈给客户端。
无形当中把jsp和客户端分开,这样做有什么好处呢?直接访问jsp不更加简单吗,干么弄得这么复杂?
这根设计模式是一样的,复杂的东西背后带来的好处就是可拓展
大家不妨想想,如果是直接访问jsp,如果我们需要更改jsp中的内容(这是经常需要更改的部分),我个人认为除了暂时停止服务以外,然后更改代码,否则没有什么办法!但是这是很要命的!
但是我们如果引入的action这个中间层,因为客户端并没有和jsp有什么直接联系,所以只要action改变,即可立刻更换jsp,或者action不变,直接更换jsp文件,即可,不需要付出任何代价。
这就是struts的核心思想,与MVC思想非常类似。
好,我的发表到此结束。相信读者能够很轻易的体会这个思想。
相关文章推荐
- struts采用JavaServlet/JSP技术,实现了基于Java EEWeb应用的MVC设计模式的应用框架
- servlet+jsp+java实现Web 应用
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第二篇:登陆和注销功能实现
- 基于Struts技术的Web层应用设计和实现
- Struts,MVC 的一种开放源码实现用这种servlet和JSP框架管理复杂的大型网站
- Java Web框架之三层模型-JSP+JavaBean+servlet实现
- 2.1、Spring Web MVC是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职
- servlet+jsp+java实现Web 应用
- Struts,MVC 的一种开放源码实现用这种servlet和JSP框架管理复杂的大型网站
- 各种框架(Struts、Spring、Hibernate)及应用服务器(Tomcat、WebSphere)对应的开发环境(JDK、Servlet、JSP)
- 基于MVC 用户登录的实现(JavaBean + Servlet + JSP)
- Struts,MVC的一种开放源码实现用这种 servlet 和 JSP 框架管理复杂的大型网站
- JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能
- 基于AJAX技术实现Struts校验框架
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第一篇:前期环境准备
- Struts,MVC 的一种开放源码实现用这种servlet和JSP框架管理复杂的大型网站
- 用JSP+Servlet+JavaBean实现MVC设计模式的流程
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第四篇:前台首页,新闻分类(体育新闻,科技新闻等),新闻列表分页的实现
- servlet+jsp+java实现Web 应用
- 基于jsp的bbs论坛-(6)java中对servlet的实现