搜档网
当前位置:搜档网 › struts2配置及项目启动

struts2配置及项目启动

struts2配置及项目启动
struts2配置及项目启动

1,Struts2的配置:

1.1项目的配置:

第一步:导包:

将D:\software\tool\struts2\struts-2.3.16.1\apps\struts2-blank\WEB-INF\lib中的jar 包全部导入项目的lib文件夹中,其中jar包有:

xw o rk-co re-2.3.16.1.j ar asm-3.3.j ar asm-co m m o ns-3.3.j ar asm-t ree-3.3.j ar co m m o ns-f i l eup l o ad-1.3.1.j ar co m m o ns-i o-2.2.j ar co m m o ns-l ang3-3.1.j ar co m m o ns-l o g g i ng-1.1.3.j ar f reem arker-2.3.19.j ar j avassi st-3.11.0.G A.j ar

l o g4j-1.2.17.j ar o g nl-3.0.6.j ar st rut s2-co re-2.3.16.1.j ar

第二步:导入struts.xml文件

文件中package可以自己定义。

第三步:编写web.xml文件

其内容为struts2的核心拦截器,其他拦截去如果需要,必须写到struts2拦截器

上面,否则,不起作用。

第四步:开发antion

在后面详细描述;

1.2开发action

方式一:继承ActionSupport

如果用struts2数据校验,必须继承此类。

方式二:实现Action 接口

方式三:不继承任何类,不识闲任何接口

1.3访问通配符

通配符:在struts 中配置信息中,可以用*于{1}优化配置

1.4 struts 中路径匹配原则

1,访问路径=命名空间+action 的name 属性:

public class UserAction extends ActionSupport{

/{1}.jsp

/{1}.jsp

访问的路径为:http://localhost:8080/user/user_login,其中login可以改为别的action 的name属性。

1.5 struts常量

struts默认访问后缀:

struts1中的默认访问后缀为:*.do

struts2中默认访问后缀为:*.action

如何修改默认访问后缀:

1,struts2的默认访问后缀在那里定义?

struts2-core-2.3.16.1.jar!\org\apache\struts2\default.properties

struts.action.extension=action,,

2修改默认访问后缀

value="action,,">

其中逗号是有意义的,可以在逗号后增加想要增加的后缀,如果最后没有逗号,则访问时只能添加已有的后缀,如果访问时没有后缀则访问不到

Value=”action,do,”访问后缀有三种情况:action/do/不带后缀

Value=”action,do”访问后缀有两种情况action/do

指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法

和freemarker 、velocity的输出

自定义后缀修改常量

设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶

段最好关闭

当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为

false(生产环境下使用),开发阶段最好打开

开发模式下使用,这样可以打印出更详细的错误信息

默认的视图主题

与spring集成时,指定由spring负责action对象的创建

该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true。

如果需要关闭动态方法调用,则可设置该属性

为false

value="false"/>

上传文件的大小限制

ActionName+!即为动态方法调用

/index.jsp

1.6全局视图配置,配置的各项默认值

1,全局视图配置

/index.jsp

2配置各项默认值

/WEB-INF/index.jsp

2,struts中数据处理

对数据操作的所有方法:(把数据报讯到域中)

方式一:直接获取servletApi

核心类:ServletActionContext提供的静态方法

HttpServletRequest request = ServletActionContext.getRequest();

ServletContext application=ServletActionContext.getServletContext();

HttpSession session = request.getSession();

方式二:通过实现ActionContext获取不同(代表request/session/application)的map

方式2:通过ActionContext类

ActionContext ac = ActionContext.getContext();

//得到Struts对HttpServletRe quest对象进行了封装,封装为一个map //拿到表示request对象的map

Map request = ac.getContextMap();

//拿到session对象的map

Map session = ac.getSession();

//拿到application对象的map

Map application = ac.getApplication();

方式三:通过实现接口的方法(适合于业务方法多的方法)

Implements RequestAware/SessionAwrae/ApplicationAware public class DataAction extends ActionSupport implements

RequestAware,SessionAware,ApplicationAware{

private Map request;

private Map application;

private Map session;

//struts运行时会把代表request的map对象注入

public void setRequest(Map request) {

this.request=request;

}

public void setApplication(Map application) { this.application= application;

}

public void setSession(Map session) {

this.session = session;

}

public String execute() throws Exception {

request.put("request_data","request1_接口");

session.put("session_data","session1_接口");

application.put("application_data","application1_接口");

return SUCCESS;

}

}

3,请求数据自动封装

实现原理:

参数拦截器:

name="params"class="com.opensymphony.xwork2.interceptor.ParametersInt erceptor"/>

方式一:jsp 表单数据填充到action 中的属性

方式二:jsp 表单数据填充到action 的对象中的属性 Register.jsp

用户名:
密码:
年龄:
生日:
Action : public class UserAction { private String name;//必须给set ,get 可以不用给 private String pwd; private int age; private Date birth; public String getName() { return name; } public void setName(String name) { https://www.sodocs.net/doc/d513223165.html, = name; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public int getAge() { return age; } public void setAge(int age) {

this.age = age;

}

public Date getBirth() {

return birth;

}

public void setBirth(Date birth) {

this.birth = birth;

}

//处理注册请求

public String register(){

System.out.println(name);

System.out.println(pwd);

System.out.println(age);

System.out.println(birth);

return "success";

}

4.类型转换

Struts中jsp提交的数据,struts会自动转换为action中属性的类型

对于基本数据类型以及日期类型会自动转换;

日期类型只支持yyyy-MM-dd格式

如何是格式,需要自定义类型转换器:

局部类型转换器

全局类型转换器

Struts类型转换器API

|--TypeConverter 转换器接口

|--DefaultTypeConverter 默认类型转换器类

|--StrutsTypeConverter 用户编写的转换器类,继承此类即可局部类型转换器类:

转换器开发步骤

1,写转换器类

2,配置转换器类(struts应用自己的转换器类)

--》在同包的action目录下,新建一个properties文件

--》命名规则:ActionClassName-conversion.properties

举例:cn.itcast.d_type.MyConverter

3,内容

User.birth=转换器全路径(cn.itcast.d_type.MyConverter)

总结:

转换器,能否给其他action用?不能

全局类型转换器

需要些一个转换器,给所有的action用

配置全局类型转换器:

--》src/xwork-conversion.properties

--》内容

java.util.Date=转换器类(cn.itcast.d_type.MyConverter)

5,文件上传

回顾文件上传:

Struts提供的上传组件来上传文件

前台:

1,提交方式post

2,表单类型multipart/form-data

3,input type = file

后台:

Apache 提供的FileUpload组件

核心类:

FileItemFactory

ServletFileUpload servlet中文件上传的核心类

FileItem 封装了上传的表单文件项的信息Struts的文件上传:

upload.jsp

用户名:

文件:

public class FileUpload extends ActionSupport {

// 对应表单:

private File file1;

// 文件名

private String file1FileName;

// 文件的类型(MIME)

private String file1ContentType;

public void setFile1(File file1) {

this.file1 = file1;

}

public void setFile1FileName(String file1FileName) {

this.file1FileName = file1FileName;

}

public void setFile1ContentType(String file1ContentType) {

this.file1ContentType = file1ContentType;

}

public String execute() throws Exception {

/******拿到上传的文件,进行处理******/

// 把文件上传到upload目录

// 获取上传的目录路径

String path = ServletActionContext.getServletContext().getRealPath("/upload");

// 创建目标文件对象

File destFile = new File(path,file1FileName);

// 把上传的文件,拷贝到目标文件中

FileUtils.copyFile(file1, destFile);

return SUCCESS;

}

}

文件上传细节处理:

文件大小限制:struts默认支持的文件上传最大是2M

通过常量修改:

限制上传文件允许的类型:

需求:只允许txt/jpg后缀的文件

拦截器:注入参数从而限制文件上传类型

txt,jpg

/e/success.jsp

/e/error.jsp

错误提示:

当文件上传出现错误的时候,struts内部会返回input视图(错误视图),所以就需要我们在struts.xml中配置视图的实现

Struts的文件下载:

Struts文件下载两种方式:

1,通过response对象向浏览器写入字节流数据;设置下载的响应头

2,struts的方式

struts的文件下载:

Struts2配置文件通配符的使用说明

Struts2配置文件中使用通配符收藏 形式一:调用相同Action中的不同方法 /login.jsp /error.jsp /welcome.jsp 其中表达式{1}的值name属性值中第一个*的值。 如果用户请求的URL为loginAction.action,则调用Jcuckoo.LoginRegistAction中的login方法; 如果用户请求的URL为registerAction.action,则调用Jcuckoo.LoginRegistAction中的register方法;形式二:通过匹配,调用不同的Action的execute方法 /login.jsp /error.jsp /welcome.jsp 上面没有出现method属性,故默认调用对应的execute方法 如果用户请求的URL为LoginAction.action,则调用Jcuckoo.LoginAction中的execute方法; 如果用户请求的URL为RegisterAction.action,则调用Jcuckoo.RegisterAction中的execute方法; 形式三:动态结果 /input.jsp /{1}.jsp 当处理结果是input时,会转到/input.jsp页面

最新版本Struts2.3.12+Spring3.2.2+Hibernate4.2.0框架配置详细步骤

SSH框架搭建 Struts2.3.12+Spring3.2.2+Hibernate4.2.0 编号:SSH-S2-S3-H4 版本:V1.1 级别:公开 编写时间:2013-03-18

目录 1 导言 (1) 1.1 目的 (1) 1.2 范围 (1) 1.3 说明 (1) 2 搭建Struts2 (2) 2.1 搭建所需jar包 (2) 2.2 整合步骤 (2) 2.2.1 创建项目 (2) 2.2.2 导入jar包 (2) 2.2.3 配置web.xml (4) 2.2.4 创建web (4) 2.2.5 创建jsp页面 (5) 2.2.6 配置struts.xml (6) 2.2.7 配置Tomcat (6) 2.2.8 部署项目 (7) 2.3 测试 (8) 2.3.1 启动Tomcat (10) 2.3.2 测试Tomcat (10) 2.3.3 测试Struts (11) 3 整合Spring3 (12) 3.1 整合所需jar包 (12) 3.2 整合步骤 (12) 3.2.1 导入jar包 (12) 3.2.2 配置web.xml (12) 3.2.3 配置struts.xml (13) 3.2.4 配置spring.xml (13) 3.3 测试 (14)

3.3.1 启动Tomcat (14) 3.3.2 测试登录 (14) 4 整合Hibernate4 (15) 4.1 整合所需jar包 (15) 4.2 整合步骤 (15) 4.2.1 导入jar包 (15) 4.2.2 创建数据库ccc (15) 4.2.3 创建对象User (16) 4.2.4 生成映射文件User.hbm.xml (17) 4.2.5 创建dao (18) 4.2.6 创建service (19) 4.2.7 创建web (20) 4.2.8 配置jdbc.properties (21) 4.2.9 配置db.xml (22) 4.2.10 配置spring.xml (24) 4.2.11 配置struts.xml (24) 4.3 测试 (25) 4.3.1 启动Tomcat (25) 4.3.2 测试登录 (25)

struts2复习题(含答案)

Struts2复习题 1.以下属于struts2的控制器组件是: 2.以下属于struts2的体系结构的是:(多选) 控制器组件配置文件 3.以下属于struts2配置文件中的配置元素是:(多选) A. B. C. D. 4.关于struts1和struts2对比的说法正确的是: 要求Action类继承struts1框架中的Action父类,struts2中则不一定需要继承,可以是POJO 类 中的Action不是线程安全的,而struts2中的Action是线程安全的 和struts2中都使用ActionForm对象封装用户的请求数据 使用OGNL表达式语言来支持页面效果,struts2通过ValueStack技术使标签库访问值 5.以下关于ValueStack说法正确的是:(多选) A.每个Action对象实例拥有一个ValueStack对象 B.每个Action对象实例拥有多个ValueStack对象 中封装了需要传入下一个页面的值,这些值封装在ValueStack对象中 会在请求开始时被创建,请求结束时消亡 6.关于struts2配置文件说法正确的是: A.必须在WEB-INF/classes目录下 B.名字必须为 C.配置Action时,必须配置包信息 D.使用元素配置转发 7.在struts2配置中用()元素来配置常量: A. B. C. D. 8.关于struts2包的说法正确的是: 框架使用包来管理常量 框架定义包时必须指定name属性 框架中配置包时,必须继承自struts-default包,否则会报错 框架中使用包来管理Action 9.struts2中获取Servlet API的方法正确的是:(多选) A.使用ActionContext对象以解耦合的方法访问Servlet API B.使用ServletActionContext对象以解耦合的方式访问Servlet API C.使用ActionContext对象以耦合的方式访问Servlet API D.使用ServletActionContext对象以耦合的方式访问Servlet API 10.struts2动态调用的格式为: ! 11.如果要实现struts2的数据校验功能 A.普通Action类可以实现 B.继承自Action接口可以实现 C.继承自ActionSupport类可以实现 D.继承自ActionValidate类可以实现

struts2拦截器配置详解

Struts2拦截器详细配置过程 1:所有拦截器的超级接口Interceptor,拦截器去实现这个接口; Interceptor它其中有三个方法 (init(),destroy(),interceptor()):Init()方法:在服务器起动的时候加载一次,并且只加载一次; Destroy()方法:当拦截器销毁时执行的方法; Interceptor()方法:其中里边有一个参数invocation public String intercept(ActionInvocation invocation)throws xception { System.out.println("interceptor!!"); String result=invocation.invoke(); return result; }Invocation.invoke()是如果只有一个拦截器执行完这个方法后,会返回给视图,如果有多 个拦截器,它顺序的执行完所有的拦截器,才返回给视图. 2:可以在系统初始化中给拦截器指定默认的参数(也包括了定义拦截器方式)如下:在拦截器类中把hello当做属性set/get方式注入到拦截器类中;

张钊钊 也可以在使用拦截器的时候给它设置参数: 就是在一个action的reslut下面配置上如下: result-type元素的default属性指定名为dispatcher的结果类型, dispatcher结果类型使用ServletAPI中的ResultDispatcher将请求导向到目 标资源(通常是JSP页面)。如果在使用result元素配置result映射时,没有使用 type类型,那么框架就将使用默认的dispatcher类型。 由于Struts2中的包是可以继承的,所以我们定义的package只要继承了 struts-default包,因此也继承了默认的结果类型,所以可以省略result元素的 type属性。 如果没有指定result元素的name属性,那么框架将把它命名为”success”。 2.结果类型 在框架调用Action对请求进行处理之后,就要向用户呈现一个结果视图,Struts2支持多种类型的视图,这些视图是由不同的结果类型来管理的。 一个结果类型就是实现了com.opensymphony.xwork2.Result接口的类,在Struts2中定义了多种结果类型,如下表所示:

struts2教程(完全版)

Yaio 4 一、准备工作及实例 4 1.解压struts- 2.1.6-all.zip 4 2.六个基本包 4 3.初识struts2配置文件 4 (1).web.xml文件 4 (2).struts.xml文件 4 (3).struts.properties(参default.properties) 4 (4)struts-default.xml 5 (5)其它配置文件 5 4.让MyEclipse提示xml信息 5 5.如何使用alt+/提示 5 6.实例 5 7.开启struts2自带的开发模式常量 7 8.vo传参模式 8 9.ModerDriven传参模式(不建议采用) 8 10.为什么要使用struts2代替struts1.x 9

二、struts.xml配置及例程 9 1.配置文件的优先级 9 2.配置形式 9 3.package配置相关 10 4.分工合作include:指定多个配置文件 12 5.tomcat认证访问 12 6.初识拦截器 13 7.Action中的method属性 15 8.使用ForwardAction实现页面屏蔽。 17 8.使用default-Action配置统一访问 17 小结Action 18 9.使用通配符 18 10.使用0配置:ZERO Annotation 19 11.Result配置详解 19 12.异常处理 24 三、在Action获取Scope对象 25 方式一、与Servlet解耦合的非IOC方式 25

方式二、与Servlet解耦合的IOC方式 27 方式三、与Servlet耦合的非IOC方式 27 方式四、与Servlet耦合的IOC方式 28 四、OGNL与ValueStack(VS) 29 1.值栈入门 29 2.OGNL入门 31 3.普通方法访问 31 4.静态方法访问 31 5.默认类Math的访问 32 6.调用普通类的构造方法 32 7.集合对象初步 32 8.集合对象进阶 33 9.N语法top语法 34 10.获取Stack Context中的信息 35 11.总结$ # %的区别 35 12.总结OGNL[重点] 35 五、拦截器 36

struts2_day03笔记

Struts2 框架第三天 今天重点内容安排: 第一天:struts2 开发流程、访问Action,Action方法调用,结果集类型 第二天:获取请求参数,请求数据校验机制,拦截器 1、V alueStack 值栈的存储原理和相关操作 2、Ognl 表达式语言语法 3、struts2 页面控制标签 4、struts2 form表单相关标签 重点难点:值栈和Ognl 1.值栈和Ognl表达式 1.1.什么是Ognl Ognl 对象导航图语言Object Graphic Navigation Language,类似EL,比EL ${}语法要强大很多,Struts2框架使用OGNL作为默认的表达式语言必须要引入struts标签库 EL Expression Language 表达式语言,用来获取JSP页面四个域范围数据 pageContext、request、session、application )

Ognl 主要用法: 1、访问OGNL上下文值栈对象获取数据(最重要) 2、操作集合对象(结合struts2 标签库使用)---- 生成checkbox 、生成select 1.2.什么是值栈ValueStack接口! 值栈ValueStack 实际上是一个接口,struts2 Ognl使用都是基于值栈完成的 Struts2 内部提供OgnlValueStack的接口实现类,实现了值栈接口! 前端控制器每一次请求都会创建一个值栈对象源码:

一次请求对应一个值栈对象值栈生命周期= request 生命周期的!! 值栈是struts2 一个数据结构,贯穿整个Action实例生命周期(request生命周期),一次请求对应一个Action实例,一个Action实例对应一个值栈实例 值栈保存了Action 和其它常用web对象的引用,通过值栈,间接操作这些对象!1.3.值栈的存储结构 1:采用标签查看值栈结构图:

Struts2知识点总结

Struts2基础知识 Struts2概述 1.Struts2框架应用javaee三层结构中的web层框架。 2.Struts2框架在struts1和webwork基础之上发展的全新框架。 3.Struts2所解决的问题: 在以往实现一个功能时,都需要写很多的servlet,从而造成后期维护上的不方便。 图解: 4.现在比较稳定的Struts2版本 struts-2.3.24-all.zip 5.web层常见框架 1.struts 2.springMVC Struts2框架入门 1.导入jar包 1.在lib里面有jar包,但不能全部导入,因为里面含有一些spring 包,是不能使用的,导入会导致程序不能运行。 2.到app目录里面复制案例的jar包是最好的方法。 2.创建action 3.配置action类的访问路径

1.创建struts2核心配置文件,该核心配置文件位置和名称是固定的, 位置必须在src下面,名称为struts.xml 。 2.引入dtd约束,可以在案例文件中找到,复制在struts.xml文件中即 可。 3.action的配置 *注意访问路径: http://域名/端口号/项目名/action名.action 注意:.action可以省略,但建议不要省略,为了兼容一些老版本的浏览器。 4.配置Struts2的过滤器,可以在案例中的web.xml文件中找到,复制粘贴 即可。 Struts2执行过程 图解:

Struts2配置

1.是一种常量标签 2.修改Struts2的默认常量值 1.常用方式 在struts.xml中进行配置。 2.其它两种方式 1.在src下面创建struts.properties文件并修改。 2.在web.xml文件中进行修改。 3.Struts2最常用的常量 struts.il8n.encoding=UTF-8,解决表单在通过post方式提交中文时,中文乱码的问题。

Struts2中 struts.xml的Action配置详解

Struts2中struts.xml的Action配置详解 使用package可以将逻辑上相关的一组Action,Result,Interceptor等组件分为一组,Package 有些像对象,可以继承其他的Package,也可以被其他package继承,甚至可以定义抽象的Package。 由于struts.xml文件是自上而下解析的,所以被继承的package要放在继承package的前边。Namespace将action分成逻辑上的不同模块,每一个模块有自己独立的前缀。使用name space可以有效的避免action重名的冲突,例如每一个package都可以有自己独立的Men u和Help action,但是事项方式各有不同。Struts2标签带有namespace选项,可以根据namespace的不同向服务器提交不同的package的action的请求。 “/”表示根namespace,所有直接在应用程序上下文环境下的请求(Context)都在这个pa ckage中查找。 “”表示默认namespace,当所有的namespace中都找不到的时候就在这个namespace中寻找。 例如,有如下配置: CODE: greeting.jsp bar1.jsp

Struts2+Hibernate架构教程课后参考答案

第1章 Struts2框架技术入门 1.5 习题 1.5.1 选择题 1.D 2.A 3.C 4.B 5.B 1.5.2 填空题 1.MVC 2.Struts1和WebWork 3.IBM 4.FilterDispatcher 5.JSP、Struts2标签 1.5.3 简答题 1.简述MVC设计模式的工作流程。 答:MVC设计模式工作流程是: (1)用户的请求

STRUTS2零配置

简述STRUTS2 Convention零配置 从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用struts.xml文件进行配置,甚至不需要使用Annotation进行配置,而是由struts2根据约定自动配置。 如何使用Convention 1. 将struts-Convention-plugin- 2.1.6.jar文件复制到WEB-INF/lib路径下 2. 对于Convention插件而言,它会自动搜索位于action,actions,struts,struts2包下的所 有java类,Convention插件会把如下两种java类当成Action处理: 1)所有实现了com.opensymphony.xwork2.Action的java类 2)所有类名以Action结尾的java类 3. Convention插件还允许设置如下三个常量: 1) struts.Convention.exclude.packges:指定不扫描哪些包下的java类,位于这些包结构下的java类将不会自动映射成Action; 2) struts.convention.package.locators:Convention插件使用该常量指定的包作为搜寻Action 的根包。对于actions.fore.LoginAction类,按约定原本应映射到/fore/login;如果将该常量 设为fore,则该Action将会映射到/login 3) struts.convention.action.packages:Convention插件以该常量指定包作为根包来搜索Action 类。Convention插件除了扫描action,actions,struts,struts2四个包的类以外,还会扫描该常量指定的一个或多个包,Convention会视图从中发现Action类。 注意:struts.convention.package.locators和struts.convention.action.packages两个常量的作用比较微妙,开发者在利用这两个常量时务必小心。 如:下面Action所在包被映射的命名空间如下: com.fun.actions.LoginAction 映射到 / com.fun.actions.myoffice.CarInfoAction 映射到 /myoffice com.fun.struts.myoffice.EntINfoAction 映射到 /myofiice 4. 映射Action的name时,遵循如下两步规则: 1)如果该Action类名包含Action后缀,将该Action类名的Action后缀去掉。否则不做任何处理。 2)将Action类名的驼峰写法(每个单词首字母大写、其他字母小写的写法)转成中画线写法(所有字母小写,单词与单词之间以中画线隔开) 如:LoginAction映射的Acion的name属性为login,GetBooks映射的Action的name的属性为get-books,AddEmployeeAction映射的Action的name属性为add-employee 5. 默认情况下。Convention总会到WEB应用的WEB-INF/content路径下定位物理资源,定位资源 的约定是:actionRUL+resultCODE+suffix。当某个逻辑视图找不到对应的视图资源时,Convention 会自动视图使用ActionURL+suffix作为物理视图资源。 如:actions.fore.LoginAction 返回success字符串时,Convention优先考虑使用 WEB-INF/content/fore目录下的login-success.jsp作为视图资源。如果找不到该文件,login.jsp也可作为对应的视图资源。如果返回input字符串,Convention会将WEB-INF/content/fore里面查找 login-input.jsp

Struts2配置详解2 配置Action

配置Action Struts2的核心功能是action,对于开发人员来说,使用Struts2主要就是编写action,action类通常都要实现com.opensymphony.xwork2.Action接口,并实现该接口中的execute()方法。 该方法如下: public String execute() throws Exception Struts2并不是要求所有编写的action类都要实现Action接口,也可以直接编写一个普通的Java类作为action,只要实现一个返回类型为String的无参的public方法即可:public String xxx() 在实际开发中,action类很少直接实现Action接口,通常都是从 com.opensymphony.xwork2.ActionSupport类继承,ActionSupport实现了Action接口和其他一些可选的接口,提供了输入验证,错误信息存取,以及国际化的支持,选择从ActionSupport继承,可以简化action的定义。 开发好action之后,好需要对action进行配置,以告诉Struts2框架,针对某个URL的请求应该交由哪个action进行处理。 1.Action映射: action映射是Struts2框架中的基本”工作单元”,action映射就是将一个请求 URL(即action的名字)映射到一个action类,当一个请求匹配某个action的名字 时,框架就使用这个映射来确定如何处理请求。 action元素的完整属性表 例如: /user.jsp 2. 使用method属性 在配置action时,我们可以通过action元素的method属性来指定action调用的方法,所指定的方法,必须遵循与execute方法相同的格式。 在Struts2.xml文件中,我们可以为同一个action类配置不同的别名,并使用 method属性。 在Struts.xml文件中为同一个Action类配置不同的别名 /Methods/list.jsp

详解struts1的配置文件

1.:用来配置数据源,连接数据库。 :具体是数据库连接。 Type:type="org.apache.dbcp.BasicDataSource" Struts中连接数据库的类。 :此标签中配置具体的链接内容。如: 数据库驱动 数据库地址。 数据库登录名。 数据库密码。 自动提交。 最大连接数。 最大等待数。 默认自动提交。 默认为只读。 这里可以不加,不过加了就保证能至少能够返回一条记录。 2.< form-beans> :用来配置多个ActionForm,包含一个或者多个子元素。每个 子元素里都有很多属性。 Classname:制定配置的类。 Name:制定该ActionForm的唯一标识。 Type:制定该ActionForm的路径,带包名。 :指定动态的Form的元。 3.:用于配置异常处理,元素可以包含一个或者多个元 素,用来设置JA V A 异常和异常处理类ExceptionHandler之间 的映射。 className:指定和元素对应的配置类,默认的不用动. Handler:指定异常处理类,默认是ExceptionHandler.key指定在本地资源文件中异 常的消息。 Key,path:指定当前异常发生的时候转发的路径。 Scope:指定ActionMessages实例存放的范围。 Type:指定需要处理异常类的名字,必须的。 Bundle:指定Resource Bundle。 4. < global-forwards>:用来声明全局转发,元素可以有一个或者多个元素组成, 用于把一个逻辑名映射到特定的URL,通过这种方法Action类或者

相关主题