一.Struts2的入门
- 下载Struts2的开发环境, http://struts.apache.org/
- 解压Struts2开发包
- 创建一个web项目
- 引入jar包, struts2-blank中WEB-INF的lib
- 创建一个JSP页面
<h1>Struts2的入门</h1>
<h3><a href="${pageContext.request.contextPath}/hello.action">Struts2的入门</a></h3> - 编写Action的类
public class HelloAction {
public String execute(){
System.out.println("执行了HelloAction");
return null;
}
} - 创建struts.xml进行配置
<struts>
<package name="demo1" extends="struts-default" namespace="/">
<action name="hello" class="com.mine.struts.demo1.HelloAction">
</action>
</package>
</struts> - 配置前端控制器(核心过滤器) (StrutsPrepareAndExecuteFilter)
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> - 改写Action中的方法的返回值
return "success"; - 改写struts.xml的配置
<action name="hello" class="com.mine.struts.demo1.HelloAction">
<result name="success">/demo1/success.jsp</result>
</action> - 编写success.jsp
<body>
<h1>跳转成功</h1>
</body>
二.Struts2的执行流程
- 用户访问一个Action的时候
- 经过核心过滤器,并在核心过滤器中执行一组拦截器
- Struts.xml配置文件,找到对应的Action类,执行execute方法
- 并根据Action的返回值,进行页面跳转
三.Struts2的常见配置
- XML的提示问题
window --> preferences --> xml catalog
四.Struts2的配置文件加载顺序
- 加载顺序
default.properties
struts-default.xml
struts-plugin.xml
struts.xml
struts.properties
web.xml
后配置的常量的值会覆盖先配置的常量的值
五.package的配置
- package 标签称为包 , 这个包与Java中的包的概念不一致,包为了更好管理action的配置
package 标签的属性- name 包的名称,只要在一个项目中不重名即可
- extends 继承哪个包,通常值为struts-default
- namespace 名称空间,与<action>中的name属性共同决定访问路径
- - 名称空间有三种写法
带名称的名称空间 namespace="/aaa" namespace="/aa/bb"
根名称空间 namespace="/"
默认名称空间 namespace="" - abstract 抽象的 , 用于其他包的继承
- action 标签配置Action类
action 标签的属性- name 与namespace共同决定访问路径
- class Action类的全路径
- method 执行Action中的哪个方法名, 默认值execute
- converter 用于设置类型转换器
六.Struts2的常量配置
- 在Struts2的框架中,提供了非常多的常量: (在default.properties)
struts.i18n.encoding=UTF-8 -----Struts2所有的post请求的中文乱码不用处理
struts.action.extension=action,, -----Struts2请求的默认的扩展名,默认的扩展名是.action,也可以不写 - 在Struts2中修改一些常量的值
修改常量的值,可以有三个位置进行修正
---- struts.xml中进行修改
<!-- 配置Struts2的常量 -->
<constant name="struts.action.extension" value="action"></constant>
---- struts.properties 中进行修改
---- web.xml中进行修改
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<!-- 修改常量 -->
<init-param>
<param-name>struts.action.extension</param-name>
<param-value>action</param-value>
</init-param>
</filter>
七.分模块开发的配置
- include的配置
<include file="com/mine/struts/demo1/struts_demo1.xml"></include>
八.Action的访问
- Action的写法
- Action类是POJO(Plain Ordinary Java Object)的类
- Action类实现一个Action的接口
- Action类继承ActionSupport类(推荐使用)ActionSupport类中提供了数据校验,国际化等一系列操作的方法
- 通过method设置
- 通过通配符的方式进行配置(☆☆☆☆☆)
<action name="product_*" class="com.mine.struts.demo1.ProductAction" method="{1}"></action> - 动态方法访问
开启动态方法访问 <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
编写访问路径 /customer!find.action
九.CRM的客户列表显示
- 搭建开发环境
- 创建web项目,引入jar包
Struts2
Hibernate - 引入配置文件
Struts2 : struts.xml web.xml
Hibernate : 核心配置, 映射文件, 日志文件 - 创建数据库和表
- 创建包结构
- 引入相应页面
- 创建web项目,引入jar包
- 代码实现
- 修改请求路径
- 编写Action , Service , Dao
本文详细介绍了Struts2框架的入门指南,包括开发环境搭建、执行流程解析、常见配置说明,以及如何进行分模块开发。同时,通过CRM客户列表显示案例,深入讲解了Struts2与Hibernate结合使用的实践技巧。

898

被折叠的 条评论
为什么被折叠?



