struts2入门
来源:互联网 发布:董洁出轨 知乎 编辑:程序博客网 时间:2024/06/14 09:12
struts2的优点
- 基于MVC架构,框架结构清晰,开发流程一目了然,很好掌控开发的过程。
- 使用OGNL进行参数传递。
OGNL提供了在Struts2访问各种作用域中数据的简单方式,可方便的获取Request,Attribute,Application,Session,Parameters的数据,大大简化开发人员在获取数据的代码量。 - 强大的拦截器
Struts2 拦截器是一个Action级别的AOP,许多特性都是通过拦截器来实现的,例如异常处理,文件上传,验证等。拦截器可配置与重用,可将一些通用的功能如:登录验证,权限验证等置于拦截器中以完成一些Java Web项目中比较通用的功能。 - 易于测试
Struts2的Action都是简单的POJO,可方便对Struts2的Action编写测试用例,方便了Java Web项目的测试。 - Strut2提供了类型转换器,可把特殊的请求参数转换成需要的类型。
struts2基本开发步骤(以struts-2.2.3.1为例)
- 配置环境(相关最小jar包)
asm-3.3.jarasm-commons-3.3.jarasm-tree-3.3.jarcommons-fileupload-1.3.1.jar(文件上传组件)commons-io-2.2.jar(文件上传组件依赖包)commons-lang3-3.2.jarfreemarker-2.3.22.jar(Struts 2的UI标签的模板使用FreeMarker编写)javassist-3.11.0.GA.jarlog4j-api-2.2.jarlog4j-core-2.2.jar(日志记录)ognl-3.0.6.jar(对象图导航语言:Object Graph Navigation Language,struts2框架通过其读写对象的属性)struts2-core-2.3.24.1.jar(Struts 2框架的核心类库)xwork-core-2.3.24.1.jar(XWork类库,Struts 2在其上构建)
2. 配置web.xni文件WEB部署文件,配置 StrutsPrepareAndExecuteFilter
<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. 新建struts.xml文件(放置在src目录下)
<?xml version="1.0" encoding="UTF-8" ?><!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.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="true" /> <package name="default" namespace="/" extends="struts-default"> <action name="" class="" method=""> <result name="" type=””> /url </result> </action> </package></struts>
4.创建相关的Action,可不继承任何特殊的类,但常继承ActionSupport。5.注册Action
<action name="" class=""> <result></result></action>
6.创建相关的页面7.访问测试action的name.action
struts2文件的配置
1.struts-default.xml文件
1)、Struts-default包由struts内置的,定义了struts2内部的众多拦截器和Result类型。
2)、Struts2很多核心的功能都是通过这些内置的拦截器实现。
当包继承struts-default包才能使用struts2提供的这些功能。
3)、struts-default包是在struts2-core-2.x.x.jar文件中的struts-default.xml中定义。 struts-default.xml也是Struts2默认配置文件。
4)、Struts2每次都会自动加载 struts-default.xml文件。
包可通过abstract=“true”定义为抽象包,该包不能包含action。
2.struts.xml文件
Struts2默认的配置文件为struts.xml ,该文件需放在WEB-INF/classes下,在当前工程的src下。
package元素:
1、Struts2 把各种 Action 分门别类地组织成不同的包. 一个典型的 struts.xml 文件可以有一个或多个包。
2、name属性:包的名称,每个 package 元素都必须有一个 name 属性
3、namespace属性(可选):如没有给出, 则以 “/” 为默认值. 若 namespace 有一个非默认值, 调用这个包里的Action, 须把这个属性所定义的命名空间添加到有关的 URI 字符串里
4、extends属性:当前包继承的包,新创建的包必须直接或间接继承struts-default包(extends=”struts-default”),包里的所有动作可使用在 struts-default.xml 文件里的result类型和拦截器.
action元素
1、action 元素嵌套在 package 内, 表示一个 struts请求.
2、name属性:请求的action名称,该属性与用户请求路劲间存在一一对应关系。
3、class属性(可选):action请求的具体处理类,如没配置 class 属性, Struts 将把 com.opensymphony.xwork2.ActionSupport 作为默认值。
4、method属性(可选):class中具体处理action的方法,如果没有配置默认执行ActionSupport类中的execute方法。
result元素
1、result 元素是 的一个子元素, 指导struts 在完成动作后控制权转向. result 元素name 属性对应着 Action 方法返回值. 因method方法在不同情况下可能返回不同的值, 所以同一个 action 元素可有多个 result 元素。
2、result 元素的 type 属性负责指定结果类型. type 属性的值必须是在包含当前包或者是当前包的父包里注册过的结果类型. type 属性的默认值为 dispatcher。
3、result 元素的 name 属性建立 和 Action 方法返回值之间的映射关系。
name 属性的默认值为 “success”。
- Struts2入门
- struts2 入门
- struts2入门
- struts2-入门
- struts2入门
- struts2入门
- Struts2入门
- struts2入门
- Struts2入门
- struts2 入门
- struts2-入门
- Struts2入门
- struts2 入门
- struts2入门
- Struts2入门
- struts2入门
- Struts2入门
- Struts2入门
- 十进制转换为十六进制
- java--通配符类型
- 栈的应用 之 用算符优先法求表达式的值
- Java 变量类型
- php原理
- struts2入门
- ORACLE触发器详解
- 如何在GitHub上面建立自己的个人主页
- MySql
- Matlab与线性代数 -- 数组的表示,冒号的用法
- python logging日志模块
- Protocol Buffer使用简介
- hdu4280 (网络流大水题)--by lethalboy
- eclipse不显示代码提示的解决方案