Struts2框架入门

匿名 (未验证) 提交于 2019-12-03 00:33:02

Struts2简单的使用步骤

一、导入jar包(在解压后的struts2文件夹中的apps文件夹中任选一个示例,将其中的jar包复制到项目中)
二、创建action(每次访问action时,默认执行名称为execute方法)
三、创建struts.xml配置文件:

文件名称和路径固定

<!DOCTYPEstruts PUBLIC

四、在web.xml文件中配置struts2过滤器(添加如下代码):

<filter>



Struts2的执行过程

一、浏览器通过地址栏发送请求至服务器,服务器通过web.xml中配置的过滤器(在服务器启动的时候创建)来调用相对应action中的execute方法来实现功能。
二、过滤器实现过滤功能的步骤:



//得到action类






(四)用得到的action返回值,在struts.xml文件中,找到该Action标签里面是否有result标签,如果有就匹配result标签的name属性值是否一样,如果一样,就跳转到配置的页面中。


过滤器创建时间和作用

一、创建时间:在服务器启动的时候创建。
二、作用:创建过滤器的时候执行init方法,init方法主要作用是加载配置文件(包括自己创建的配置文件和struts2自带的配置文件)


在Struts.xml中配置action的访问路径

在配置过程中主要用到三个标签:package、action和result
一、package标签:





二、Action标签:



<action name = "test_*" class = "cn.ltcast.Action.testAction" method ="{1}"></action>

三、Result标签





配置默认的Action

一、在浏览器输入一个不存在的Action,页面将呈现404错误,为了网站更友好,我们可以设置一个默认的Action。
设置默认Action有两种形式:
(一)配置每个包的默认Action,如果在相应的namespace下没有一个Action匹配请求,那么将执行该namespace默认的Action,不同的包,可配置不同的默认Action,配置如下:defaultAction为默认Action的name属性值,default语句必须写在首行。
"default""/emp""struts-default">
"defaultAction"></default-action-ref>
"defaultAction">
<result>/error.jsp</result>
</action>

(二)在根目录下配置默认Action,不用填写namespace属性
"default""struts-default">
"defaultAction"></default-action-ref>
"defaultAction">
<result>/error.jsp</result>
</action>

二、如果声明了第一种,Struts2将会调用当前包下声明的默认Action,忽视全局的默认Action。一般用第二种,统一默认的Action。不论在url中输入哪个目录或包下没有的Action,都显示错误页面。


Struts2常量

一、常量所在位置:struts2-core-2.3.24.jar/struts-default.xml
二、修改常量方式:

三、常用变量:struts.i18n.encoding = UTF-8


Struts2分模块开发

一、在实际开发中,一般都是每个人负责一个模块开发,这就造成了会多次修改struts.xml文件引起错误问题的情况,因此,为了解决这个问题,Struts2引入了分模块开发模式。
二、分模块开发的方法:在struts.xml文件中引入标签:<include file = "包名/配置文件名"></include>


Action的三种编写方式

一、创建一个普通类,里面写一个execute方法
二、创建一个类,实现一个接口Action
三、穿件一个类,继承ActionSupport类(一般使用这种方式)

访问Action的三种方法

一、使用action标签中的method属性,在这个属性里面写要执行action中的方法名(方法较少时使用)
二、使用通配符的方式访问:

<action name = "text_*" class = "包名/类名" method = "{1}"></action>


三、动态访问(一般不适用)


结果页面的配置

一、全局结果页面

如果多个action方法里面的返回值相同,配置页面也是相同的,那么这个时候可以使用全局结果页面配置来减少重复的代码

在package标签里面action标签外面添加global-results标签:


二、局部结果页面

在action标签里面写的result标签就是局部结果页面

如果一个package包里既包含全局结果页面,也包含局部结果页面,那么该action以局部结果页面为主



Result标签里面的type属性值

一、配置到其他页面


二、配置到其他action



三、转发和重定向的区别


文章来源: Struts2框架入门
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!