struts2.0(一)
-
-
-
- Struts2.0 action地址转化
- 配置Struts的核心过滤器
- 创建struts.xml
- 编写Action
- Struts流程
- Struct常量配置
- struts.xml模块化
- Struts的Action类
- Action访问ServletAPI
- Action直接访问Servlet API
- 使用ServletActionContext访问Servlet API
- Struts2.0的动态方法
- 采用动态方法
- 通配符方法
- Struts2的通配符
- 通配符优先原则
- Struts2的默认Action
- Action默认处理类
- 配置处理结果
- 配置处理结果
- 处理结果类型
- PreResultListener
- Struts的异常处理
- Struts异常处理机制
- 申明式异常捕捉
-
-
首先进入struct官网,下载资料。这里写链接内容
添加相应的jar包到项目工程下的lib目录:
在这里添加jar包,你也可以去Struts官网,它提供了最核心的jar包,下载之后导入即可,最基本的功能都包含了,以后需要什么,在添加即可。
Struts2.0 action地址转化
我们都知道用户的请求,被Struct框架过滤,之后交由action,请求栏的地址也变成xxxx.action。
http://localhost:8889/Struct/xxx.action
配置Struts的核心过滤器
在web.xml
<filter><filter-name>strut</filter-name><filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>//这个需要基于Struts版本的变化,我的是2.5,所以和之前的不是一样。</filter><filter-mapping><filter-name>struts</filter-name><url-pattern>/*</url-pattern>//过滤整个应用的所有请求</filter-mapping>
创建struts.xml
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http: //struts.apache.org/dtds/struts-2 1.7.dtd">//这句话必须,否则标签不能自动补全,很麻烦的
<struts>
<constant name="struts.custom.i18n.resources" value="mess"></constant>
<constant name="struts.i18n.encoding" value="GBK"></constant>
<package name="default" extends="struts-default">
<action name="LoginAction" class="com.example.test.action.LoginAction" >
<result name=""success"">/scuess.jsp</result>
<result name ="error">/error.jsp</result>
</action>
</package>
</struts>
虽然Struts 2 提供了Convention 插件来管理Action、结果映射,但对于大部分实际开发来说,通常还是会考虑使用XML 文件来管理Struts 2 的配置信息。
Struts 2 的默认配置文件名为struts.xml,该文件应该放在Web应用的类加载路径下,通常就是放
在WEB-INF/classes 路径下,所以你放到src,编译之后会自动到WEB-INF/classes 路径下。
配置处理结果和物理视图资源之间的对应关系
当Action 处理用户请求结束后,通常会返回一个处理结果(通常使用简单的字符串就可以了),我们可以认为该名称是逻辑视图名,这个逻辑视图名需要和指定物理视图资源关联才有价值。所以我们还需要配置处理结果之间的对应关系。
写好之后,一定要struts.xml命名正确,而且要将该文件放在src,以便编译之后到WEB-INF/classes下。
编写Action
package com.example.test.action;import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport {private String username;private String userpass;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getUserpass() {return userpass;}public void