入门示例(登录)
1)创建Java Web工程,引入Struts框架开发包
struts2-core-2.1.8.jar
xwork-core-2.1.6.jar(webwork所依赖的开发包)
freemarker-2.3.15.jar
ognl-2.7.3.jar
commons-fileupload-1.2.1.jar
2)在web.xml中配置控制器
<filter>
<filter-name>Struts2Controller</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Struts2Controller</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3)在src下添加控制器使用的配置文件struts.xml
XML文件的定义从struts-default.xml中复制
4)添加JSP视图组件,编写Action模型组件
5)在struts.xml中配置视图和Action模型组件的关系
(了解)5.Struts2配置文件
1)default.properties (struts2-core-2.1.8.jar自带)
在org.apache.struts2下面
用于定义一些框架级别系统参数,例如字符编码,请求扩展名等
2)struts-default.xml (struts2-core-2.1.8.jar自带)
在根目录下
定义了一些常用的Result组件,拦截器组件
3)struts.xml (自定义,在src目录下)
配置结构与struts-default.xml相同.
用于配置自定义的拦截器,Result,Action组件
4)struts.properties (自定义,在src目录下)
用于修改default.properties中定义的参数
5)struts-plugin.xml(存在于struts-*-plugin.jar整合插件中)
配置结构与struts-default.xml相同.
用于配置与整合相关的拦截器和Result.
6.如何访问request,session,application等对象
ActionContext : 主要以Map结构操作
ServeltActionContext : 主要以原有Servelt类型操作
public class SessionMap extends AbstractMap{
private HttpSession session;
public SessionMap(HttpSession session){
this.session = session;
}
public void put(Object key,Object value){
session.setAttribute(key.toString(),value);
}
public Object get(Object key){
session.getAttribute(key.toString());
}
}
7.与Action相关的配置
1)通配符的使用
<action>元素的name属性可以使用若干个通配符*,
然后在class,method其他属性中使用{1},{2}格式引用
通配符所代表的信息.
2)动态方法调用格式 "请求名!方法名.扩展名"
3)<param>元素
可以在<action>,<result>,<interceptor>元素下,
为组件对象指定属性值.
4)<package>元素的namespace属性,以/字符开始
用于限定<action>元素的name请求名.
对应的请求格式为:namepace+name请求名.扩展名
1)创建Java Web工程,引入Struts框架开发包
struts2-core-2.1.8.jar
xwork-core-2.1.6.jar(webwork所依赖的开发包)
freemarker-2.3.15.jar
ognl-2.7.3.jar
commons-fileupload-1.2.1.jar
2)在web.xml中配置控制器
<filter>
<filter-name>Struts2Controller</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Struts2Controller</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3)在src下添加控制器使用的配置文件struts.xml
XML文件的定义从struts-default.xml中复制
4)添加JSP视图组件,编写Action模型组件
5)在struts.xml中配置视图和Action模型组件的关系
(了解)5.Struts2配置文件
1)default.properties (struts2-core-2.1.8.jar自带)
在org.apache.struts2下面
用于定义一些框架级别系统参数,例如字符编码,请求扩展名等
2)struts-default.xml (struts2-core-2.1.8.jar自带)
在根目录下
定义了一些常用的Result组件,拦截器组件
3)struts.xml (自定义,在src目录下)
配置结构与struts-default.xml相同.
用于配置自定义的拦截器,Result,Action组件
4)struts.properties (自定义,在src目录下)
用于修改default.properties中定义的参数
5)struts-plugin.xml(存在于struts-*-plugin.jar整合插件中)
配置结构与struts-default.xml相同.
用于配置与整合相关的拦截器和Result.
6.如何访问request,session,application等对象
ActionContext : 主要以Map结构操作
ServeltActionContext : 主要以原有Servelt类型操作
public class SessionMap extends AbstractMap{
private HttpSession session;
public SessionMap(HttpSession session){
this.session = session;
}
public void put(Object key,Object value){
session.setAttribute(key.toString(),value);
}
public Object get(Object key){
session.getAttribute(key.toString());
}
}
7.与Action相关的配置
1)通配符的使用
<action>元素的name属性可以使用若干个通配符*,
然后在class,method其他属性中使用{1},{2}格式引用
通配符所代表的信息.
2)动态方法调用格式 "请求名!方法名.扩展名"
3)<param>元素
可以在<action>,<result>,<interceptor>元素下,
为组件对象指定属性值.
4)<package>元素的namespace属性,以/字符开始
用于限定<action>元素的name请求名.
对应的请求格式为:namepace+name请求名.扩展名