Struts2简介:
Struts2一般作用于web层(表现层).
Struts2是一个mvc框架,核心:
1、拦截器 interceptor
2、Action
3、ognl与valueStack
Struts2的使用:
1、到入相关jar包
apps/struts-blank 中的13个jar包
2、在web.xml配置Filter
<filter>
<filter-name>struts2Fileter</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2Fileter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3、struts.xml的配置
4、创建Action完成业务逻辑
Struts2的源代码:
1、核心部分:org.apache.struts2..
src/scor/src/main/java
2、xwork核心部分:
src/xwork-core/src/main/java/com/opensymphony/xwork2
3、struts插件的源代码:
src/plugins
struts.xml配置文件的提示配置:
eclipse-->window-->preferences-->xml catalog-->add
localtion:struts-2.3.24/core/src/mian/resources/struts-2.3.dtd
key:http://struts.apache.org/dtds/struts-2.3.dtd
struts2的配置文件加载顺序:
1、default.properties *** [init_DefaultProperties()]
位置:struts2-core.jar包
作用:声明struts2框架中的常量
2、加载一批配置文件 [init_TraditionalXmlConfigurations()]
struts-default.xml ***
位置:struts-corl.jar
作用:声明interceptor result bean
struts-plugin.xml ***
位置:插件包
作用:用于插件的配置声明
struts.xml ***
位置:工程中
作用:用于工程使用框架的配置
3、加载自定义的struts.properties [init_LegacyStrutsProperties()]
位置:工程中
作用:定制常量
4、自定义配置 [init_CustomConfigurationProviders()]
5、加载web.xml *** [init_FilterInitParameters()]
作用:加载struts2在web.xml中的相关配置
6、bean的相关配置 [init_AliasStandardObjects()]
struts2文件的配置:
package:
1、name:
包的名称,唯一
2、namespace:
与action标签的name属性联合作为该action的访问路径
3、extends:
指定继承的包,一般为struts-default,该包是在struts-default.xml中声明的
4、abstruct:
该包为抽象,用于被继承
action:
1、name
同上
2、class
当前action的全路径
3、method
当前action中执行的方法
result:
1、name:
匹配action中的method返回值来确定跳转路径
2、type:
跳转方式
dispather: 默认,请求转发,针对jsp
redirect: 重定向,针对jsp
chain: 类似请求转发,针对action
redirectAction: 类似重定向,针对action
可在package下直接配置该包的全局result
<global-result>
<result name="" type=""></result>
</global-result>
常量:
1、可在src下创建struts.properties配置文件
2、可在web.xml配置
3、在struts.xml配置
<constant name="" value=""></constant>
其他:
<defaule-class-ref class="com.opensymphony.xwork2.ActionSuport"/>
当请求来时,如果找不到指定的class及对应的method就会执行ActionSupport中的execte方法
该方法默认返回值是"success"
Action类的创建:
1、创建一个pojo类【***】
优点:无耦合
缺点:所有功能都有自己完成
2、创建一个类实现Action接口
优点:耦合度低
缺点:所有功能都有自己完成
3、创建一个类继承ActionSupport类,该类也实现了Action接口【***】
有点:具有丰富的功能
缺点:耦合度高
Action的访问方式:
1、之间通过<action>标签来配置,访问指定的method方法
2、通过通配符*访问
Struts框架封装数据:【***】
1、属性驱动:
a、直接在action中提供与请求参数匹配属性,提供get/set方法
b、创建一个javaBean,提供get/set方法,action提供javaBena属性,提供get/set方法,请求页面要改成javaBean.parameter
2、模型驱动:
让action类实现ModelDriven接口
实例模型对象
重新getModel方法,放返回实例化的模型
相同属性名称属性驱动与模型驱动同时使用,属性驱动会失效。
Struts请求访问的执行流程:
1、接收请求
2、被StrutsPrepareAndExecuteFilter拦截 *****前端控制器(核心控制器)
3、调用struts2框架默认的拦截器(interceptor)完成部分功能
4、执行action操作
5、根据action中方法的执行结果来选择跳转的result视图
Struts2一般作用于web层(表现层).
Struts2是一个mvc框架,核心:
1、拦截器 interceptor
2、Action
3、ognl与valueStack
Struts2的使用:
1、到入相关jar包
apps/struts-blank 中的13个jar包
2、在web.xml配置Filter
<filter>
<filter-name>struts2Fileter</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2Fileter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3、struts.xml的配置
4、创建Action完成业务逻辑
Struts2的源代码:
1、核心部分:org.apache.struts2..
src/scor/src/main/java
2、xwork核心部分:
src/xwork-core/src/main/java/com/opensymphony/xwork2
3、struts插件的源代码:
src/plugins
struts.xml配置文件的提示配置:
eclipse-->window-->preferences-->xml catalog-->add
localtion:struts-2.3.24/core/src/mian/resources/struts-2.3.dtd
key:http://struts.apache.org/dtds/struts-2.3.dtd
struts2的配置文件加载顺序:
1、default.properties *** [init_DefaultProperties()]
位置:struts2-core.jar包
作用:声明struts2框架中的常量
2、加载一批配置文件 [init_TraditionalXmlConfigurations()]
struts-default.xml ***
位置:struts-corl.jar
作用:声明interceptor result bean
struts-plugin.xml ***
位置:插件包
作用:用于插件的配置声明
struts.xml ***
位置:工程中
作用:用于工程使用框架的配置
3、加载自定义的struts.properties [init_LegacyStrutsProperties()]
位置:工程中
作用:定制常量
4、自定义配置 [init_CustomConfigurationProviders()]
5、加载web.xml *** [init_FilterInitParameters()]
作用:加载struts2在web.xml中的相关配置
6、bean的相关配置 [init_AliasStandardObjects()]
struts2文件的配置:
package:
1、name:
包的名称,唯一
2、namespace:
与action标签的name属性联合作为该action的访问路径
3、extends:
指定继承的包,一般为struts-default,该包是在struts-default.xml中声明的
4、abstruct:
该包为抽象,用于被继承
action:
1、name
同上
2、class
当前action的全路径
3、method
当前action中执行的方法
result:
1、name:
匹配action中的method返回值来确定跳转路径
2、type:
跳转方式
dispather: 默认,请求转发,针对jsp
redirect: 重定向,针对jsp
chain: 类似请求转发,针对action
redirectAction: 类似重定向,针对action
可在package下直接配置该包的全局result
<global-result>
<result name="" type=""></result>
</global-result>
常量:
1、可在src下创建struts.properties配置文件
2、可在web.xml配置
3、在struts.xml配置
<constant name="" value=""></constant>
其他:
<defaule-class-ref class="com.opensymphony.xwork2.ActionSuport"/>
当请求来时,如果找不到指定的class及对应的method就会执行ActionSupport中的execte方法
该方法默认返回值是"success"
Action类的创建:
1、创建一个pojo类【***】
优点:无耦合
缺点:所有功能都有自己完成
2、创建一个类实现Action接口
优点:耦合度低
缺点:所有功能都有自己完成
3、创建一个类继承ActionSupport类,该类也实现了Action接口【***】
有点:具有丰富的功能
缺点:耦合度高
Action的访问方式:
1、之间通过<action>标签来配置,访问指定的method方法
2、通过通配符*访问
Struts框架封装数据:【***】
1、属性驱动:
a、直接在action中提供与请求参数匹配属性,提供get/set方法
b、创建一个javaBean,提供get/set方法,action提供javaBena属性,提供get/set方法,请求页面要改成javaBean.parameter
2、模型驱动:
让action类实现ModelDriven接口
实例模型对象
重新getModel方法,放返回实例化的模型
相同属性名称属性驱动与模型驱动同时使用,属性驱动会失效。
Struts请求访问的执行流程:
1、接收请求
2、被StrutsPrepareAndExecuteFilter拦截 *****前端控制器(核心控制器)
3、调用struts2框架默认的拦截器(interceptor)完成部分功能
4、执行action操作
5、根据action中方法的执行结果来选择跳转的result视图