J2EE系列之Struts2学习笔记(一)--Struts2安装与配置
2017-04-20 14:31
211 查看
之前跟着教学视频学习过Struts2,但是用到的时候总是忘记,需要回过头了看教学视频,这样既费时效果还不好。现在我准备写成博客的形式,既对自己加深印象,又能够帮助到需要的朋友。开始正题!
一、Struts基本情况介绍
简介:这里百度之,百度百科上面介绍的非常清楚了。
Struts2在用户请求、模块化处理以及页面展示方面具有非常好的效果。
二、下载
1.Struts2的主页为:http://struts.apache.org/
登录主页,点击下载按钮,进入到下载页面:
![](https://img-blog.csdn.net/20170420135535724?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170420135543118?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
可以看到当前Struts2最新版本是2.5.10,注意这里一定要下载Full Distribution的,这种包含开发包,文档,源码。我这里使用的是2.3.16版本。
2.把下载的Struts2文件包解压缩,其文件结构如图所示:其中
![](https://img-blog.csdn.net/20170420140035792?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
apps:是一些示例项目
docs:是一些文档,有时间自己慢慢研究
lib:jar包,一个107个,里面很多是插件包。我们要用的是核心包
src:源码,可以添加到项目中去
其它:一些协议规范啥的,不必关系
我们在工程中最常用的的核心包如图所示,共8个:
![](https://img-blog.csdn.net/20170420140242777?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
三、Struts2之helloworld实现
1.打开eclipse,新建一个Dynamic Web Project,工程配置以及命名如图,点击finish完成创建:
![](https://img-blog.csdn.net/20170420140638363?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.把用到的核心jar包添加到libs目录下:
![](https://img-blog.csdn.net/20170420140840719?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3.要想使用Struts2的话,需要拦截用户的请求交给Struts2的核心控制器处理。这里要写一下过滤器:在工程的web.xml文件中添加如下代码
![](https://img-blog.csdn.net/20170420141029337?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
其中:<filter>中指定的org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter是Struts2分发的一个核心处理器。<filter-mapping>中的请求类型设置为/*,表示拦截所有的用户请求。
4.写配置文件:在工程的src下面新建一个struts.xml文件,这个文件可以在我们解压的Struts文件包中app文件夹下面的项目实例里面copy一个。
![](https://img-blog.csdn.net/20170420141333877?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
struts.xml文件暂时写成如下方式:
![](https://img-blog.csdn.net/20170420141536347?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这里package代表一个包,name是包的名字,如果有很多包的话,就是通过name来区分。extends表示给包继承一个包,我们这里继承struts-default包,这个是struts自带的包。
5.接下来我们新建一个struts的处理类:HelloWorldAction
![](https://img-blog.csdn.net/20170420141748097?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
要想使用struts的功能,这个类要继承一个接口:注意是xwork2中的action接口,并实现该接口中的定义的函数:
![](https://img-blog.csdn.net/20170420141915286?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这里的execute函数是默认执行函数,当有请求交给这个类的时候,默认会执行execute函数。简单的写一下execute方法为:
![](https://img-blog.csdn.net/20170420142020287?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
6.接下来在配置文件struts.xml中配置一下这个类,在package中写一个action
![](https://img-blog.csdn.net/20170420142130602?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
其中,action的名字为hello,待会请求的时候就请求hello这个地址;class属性表示的是请求hello时的处理类,这里就是我们刚才写的那个处理类;action里面result标签代表处理返回结果,这里如果返回的是success的话,就跳转到helloWord.jsp页面。
7.新建一个helloWorld.jsp页面:
![](https://img-blog.csdn.net/20170420142331668?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170420142349997?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L<br/>4000<br/>5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
8.接下来我们看一看请求hello,能否跳转到这个页面:运行程序,在浏览器中请求hello,发现跳转到了这个页面:
![](https://img-blog.csdn.net/20170420142539258?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
看一下控制台,输出如下:
![](https://img-blog.csdn.net/20170420142613618?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVpZGllNDM2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
四、总结
现在总结一下程序的运行流程:
1.过滤器中我们设置了拦截所有的请求,并制定了请求分发器;
2.Struts.xml配置文件中,我们指定了当请求hello时的处理类,以及返回结果为success时跳转到helloworld.jsp页面;
3.当我们在浏览器中请求hello时,拦截器拦截我们的请求,根据Struts.xml的配置,会把这个请求交给he'llWorldAction这个类处理,这个类默认会执行execute这个函数。我们在execute函数中输入了一段话,并返回了success。根据配置如果返回的是success的话就跳转到hellow.jsp页面,从而跳转到了该页面。
一、Struts基本情况介绍
简介:这里百度之,百度百科上面介绍的非常清楚了。
Struts2在用户请求、模块化处理以及页面展示方面具有非常好的效果。
二、下载
1.Struts2的主页为:http://struts.apache.org/
登录主页,点击下载按钮,进入到下载页面:
可以看到当前Struts2最新版本是2.5.10,注意这里一定要下载Full Distribution的,这种包含开发包,文档,源码。我这里使用的是2.3.16版本。
2.把下载的Struts2文件包解压缩,其文件结构如图所示:其中
apps:是一些示例项目
docs:是一些文档,有时间自己慢慢研究
lib:jar包,一个107个,里面很多是插件包。我们要用的是核心包
src:源码,可以添加到项目中去
其它:一些协议规范啥的,不必关系
我们在工程中最常用的的核心包如图所示,共8个:
三、Struts2之helloworld实现
1.打开eclipse,新建一个Dynamic Web Project,工程配置以及命名如图,点击finish完成创建:
2.把用到的核心jar包添加到libs目录下:
3.要想使用Struts2的话,需要拦截用户的请求交给Struts2的核心控制器处理。这里要写一下过滤器:在工程的web.xml文件中添加如下代码
其中:<filter>中指定的org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter是Struts2分发的一个核心处理器。<filter-mapping>中的请求类型设置为/*,表示拦截所有的用户请求。
4.写配置文件:在工程的src下面新建一个struts.xml文件,这个文件可以在我们解压的Struts文件包中app文件夹下面的项目实例里面copy一个。
struts.xml文件暂时写成如下方式:
这里package代表一个包,name是包的名字,如果有很多包的话,就是通过name来区分。extends表示给包继承一个包,我们这里继承struts-default包,这个是struts自带的包。
5.接下来我们新建一个struts的处理类:HelloWorldAction
要想使用struts的功能,这个类要继承一个接口:注意是xwork2中的action接口,并实现该接口中的定义的函数:
这里的execute函数是默认执行函数,当有请求交给这个类的时候,默认会执行execute函数。简单的写一下execute方法为:
6.接下来在配置文件struts.xml中配置一下这个类,在package中写一个action
其中,action的名字为hello,待会请求的时候就请求hello这个地址;class属性表示的是请求hello时的处理类,这里就是我们刚才写的那个处理类;action里面result标签代表处理返回结果,这里如果返回的是success的话,就跳转到helloWord.jsp页面。
7.新建一个helloWorld.jsp页面:
8.接下来我们看一看请求hello,能否跳转到这个页面:运行程序,在浏览器中请求hello,发现跳转到了这个页面:
看一下控制台,输出如下:
四、总结
现在总结一下程序的运行流程:
1.过滤器中我们设置了拦截所有的请求,并制定了请求分发器;
2.Struts.xml配置文件中,我们指定了当请求hello时的处理类,以及返回结果为success时跳转到helloworld.jsp页面;
3.当我们在浏览器中请求hello时,拦截器拦截我们的请求,根据Struts.xml的配置,会把这个请求交给he'llWorldAction这个类处理,这个类默认会执行execute这个函数。我们在execute函数中输入了一段话,并返回了success。根据配置如果返回的是success的话就跳转到hellow.jsp页面,从而跳转到了该页面。
相关文章推荐
- J2EE系列之Struts2学习笔记(八)--struts.xml分模块配置
- J2EE系列之Struts2学习笔记(十六)--Struts2标签(数据标签、控制标签)
- J2EE系列之Struts2学习笔记(九)--使用通配符配置struts.xml文件
- J2EE系列之Struts2学习笔记(五)---struts2处理传入多个数目不定的字符串
- J2EE系列之Struts2学习笔记(十七)--Struts2标签(界面标签、其他标签)
- J2EE系列之Struts2学习笔记(十一)--result配置
- J2EE系列之Struts2学习笔记(二十)--Struts2验证框架(自定义验证)
- J2EE系列之Struts2学习笔记(二十三)--Struts2防重复请求
- J2EE系列之Struts2学习笔记(六)---struts2处理传入多个数目不定的JavaBean对象
- J2EE系列之Struts2学习笔记(七)--struts.xml配置
- J2EE系列之Struts2学习笔记(十八)--Struts2国际化
- J2EE系列之Struts2学习笔记(二十一)--Struts2文件上传
- 【转贴】Arcgis Server系列 安装与配置 和大家分享
- Arcgis Server系列 安装与配置
- 详解linux系列之DNS的安装及配置
- J2EE环境的搭建之一—weblogic安装与配置详解 推荐
- umboy技术系列之RMS开发技术安装配置RMS-windows server2008版
- J2EE运行和开发环境的安装与配置(JDK+TOMCAT 6.5+MyEclipse)(2)
- Server Core的安装和配置(上)--- Windows2008新功能系列之一 推荐
- Redhat Enterprise Linux 5 实战系列(三)为RHEL5安装JDK和配置tomcat