首页 > 代码库 > 框架学习Struts2之HelloWord
框架学习Struts2之HelloWord
一、概述
Struts2是基于MVC设计模式的web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts作为控制器(Controller)来建立模型与视图之间的数据交互。Struts2是Struts1的下一代产品,是在WebWork技术基础上进行合并的全新的框架,其全新的体系结构与Struts1差距很大。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全分离,所以Struts2可以理解为WebWork的更新产品。虽然从Struts1到Struts2有着巨大的变化,但是相对于WebWork,Struts2的变化很小。
二、环境搭建
首先我们需要相关jar包
Struts2的开发包下载地址:https//struts.apache.org/ 下载完开发包后进行解压所需jar包就在解压后的lib包下一下为Struts2所需的jar包
三、Action的创建与配置
- 创建Action的三种方式:
1).直接创建类,在这个类中编写一个public String execute()方法,该方法没有任何参数
2).创建一个类实现Action接口并重写execute()方法
3).创建一个类基层ActionSupport类
2.配置sruts2的访问路径
1)struts2核心配置文件:核心配置文件的名称和位置都是固定的 在src下 名称为struts.xml(可以分模块引入)
-
-
-
- 引入dtd约束:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"> -
<struts>
- <constant name = "struts.i18n.encoding" value = "http://www.mamicode.com/UTF-8"></constant>
- 引入dtd约束:
-
-
-
-
-
- <package name = "helloword" extends = "struts-default" namespace = "/">
-
-
<action name = "hello" class = "带有包名的action类">
<result name = "方法返回值">/helloword.jsp</result>
</action>
</package>
</struts>
2).配置struts过滤器(在web.xml中)
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3).分模块开发的配置文件:单独写配置文件,然后把配置文件引入到核心配置文件中在引入helloword.xml文件
<include file = "cn/.路径./helloword.xml"></include>(在struts标签下)
三、Struts2的执行过程
四、配置文件的解释
1.package标签:类似于代码包,区别不同的action,要配置acion必须先配置package标签。
name属性:它的值跟功能没有关系,在一个配置文件中可以写多个package,但是name值不能相同。
extends属性:该属性值固定为struts-default 有了这个属性之后再package里面配置的action类才具有功能。
namespace属性:该属性值与action标签里面的name值一起组成访问路径。默认值为“/”
2.action标签:
name属性:配置action的访问路径,与package中的name一起组成访问路径,三它的值不不能与娶其他action中的相同。
class属性:所需配置action类的全路径g
method属性:比如在action默认执行的方法是execute,如果想让他执行其他方法可在此配置,可配置多个。
3.result标签:该标签里面的值为访问路径,执行action时会访问该路径下的页面
name属性:和方法的返回值一样
type属性:配置如何到返回路径中(转发or重定向)
4.constant标签:修改struts2的默认属性值用的 一般不用修改。还有两种修改的方法分别是在src下配置一个struts.propeties文件进行修改和在web.xml文件中进行配置
框架学习Struts2之HelloWord