struts2详解
### Struts2详解 #### 一、Struts2概述与工作原理 Struts2是一个用于构建企业级Java Web应用的强大框架。它继承了Struts1的一些特性,并在此基础上进行了改进和扩展,支持更加灵活和强大的功能。Struts2基于MVC(Model-View-Controller)模式,将业务逻辑和展示层分离,使开发更加清晰和高效。 **工作流程简述**: 1. **用户请求**:用户通过浏览器向服务器发送请求。 2. **过滤器处理**:Struts2的过滤器捕获用户的请求并将其转发给Struts2的Action容器。 3. **Action容器处理**:Action容器解析请求,并根据配置文件(struts.xml)找到相应的Action类。 4. **Action执行**:调用Action类中的方法(通常是execute方法),处理业务逻辑。 5. **返回结果**:Action处理完成后返回一个结果,该结果指定页面跳转的路径。 6. **视图显示**:根据返回的结果显示相应的页面给用户。 #### 二、Struts2工程开发步骤 以登录系统为例,开发步骤如下: 1. **加载Struts2的支持jar包**:需要包含Struts2的核心库以及其他相关的第三方库,如Spring、Hibernate等。 2. **配置web.xml**:配置Struts2的过滤器,使得所有的HTTP请求都经过Struts2框架的处理。示例如下: ```xml <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` 3. **编写Action操作类**:Action类是处理业务逻辑的核心,负责数据的处理及与数据库的交互。示例如下: ```java public class LoginAction extends ActionSupport { private String username; private String userpass; private String msg; public String execute() throws Exception { if ("chao".equals(username) && "123".equals(userpass)) { return SUCCESS; } this.setMsg("用户名或密码错误!"); return INPUT; } } ``` 4. **配置struts.xml文件**:这是Struts2框架的核心配置文件,用来配置Action映射、拦截器等信息。示例如下: ```xml <struts> <package name="test" namespace="/chao" extends="struts-default"> <action name="login" class="com.action.LoginAction"> <result name="success">/main.jsp</result> <result name="input">/login.jsp</result> </action> </package> </struts> ``` #### 三、Struts2的核心配置 1. **struts-default.xml**:位于Struts2-core-2.1.6.jar文件下,是Struts2的默认配置文件,包含了框架的基础配置。 2. **Bean配置**:通过Bean的配置实现Struts2组件的依赖注入(DI)。示例如下: ```xml <bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest" name="struts" class="org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest" scope="default"/> ``` - `.class`:Bean实例的实现类 - `.type`:Struts2定义的规范接口 - `.name`:Bean实例的名称 - `.scope`:Bean的作用域 3. **常量配置**:可以在以下三个位置进行配置: - `struts.xml` - `struts.properties` - `web.xml` 例如配置资源文件常量: ```xml <!-- 在struts.xml中 --> <constant name="struts.custom.i18n.resource" value="MessageResource" /> ``` 或者更改提交的后缀名: ```xml <!-- 在struts.xml中 --> <constant name="struts.action.extension" value="do" /> ``` 4. **包配置**:Struts2使用包来管理Action和拦截器。包的属性包括`name`、`extends`、`namespace`等。例如: ```xml <package name="test" namespace="/chao" extends="struts-default"> ... </package> ``` - `name`:包的名称 - `namespace`:命名空间 - `extends`:继承的包 以上是对Struts2框架的详细介绍,包括了其工作原理、开发步骤以及核心配置等方面的内容。通过这些内容的学习,可以更好地理解和掌握Struts2框架的应用。
剩余15页未读,继续阅读
- 暗夜枭熊2013-04-16谢谢分享,word文件格式,讲解了sturts的基本开发步骤,业务逻辑处理,拦截器,类型转换,OGNL表达式,文件上传下载,国际化等相关内容,应该是自己总结的,很精辟
- sdfxdf2012-03-29谢谢分享 word格式文件, 讲解了struts2的开发步骤,核心配置, 业务逻辑处理,拦截器,类型转换,OGNL,文件上传下载,国际化等内容. 看出来应该是自己应用的积累,很好
- 粉丝: 0
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Delphi 12 控件之Sublime Text 4 Build 4189 x64.7z
- 在线学习管理系统(LMS)的数据库 这个系统将包括学生、教师、课程、注册、作业、考试等多个实体以及它们之间的关系
- 基于LabVIEW 2018开发的多通道测振仪源代码,可对IEPE振动加速度传感器的信号进行采集分析 为保证良好的体验性,建议选择显示器的分辨率为1920*1080,Windows的显示缩放比例为1
- 《计算机基础》网上考试系统(编号:84295362).zip
- Java-美妆神域_3rm1m18i_221-wx.zip
- 大学生就业信息管理系统_xb8ce10b_229-wx.zip
- 基于 Javaweb 的二手图书交易系统(编号:76915352).zip
- 300多种鸟类图像分类数据集【已标注,约50,000张数据】
- 高校大学生竞赛项目管理系统_22og99ki_246-WX.zip
- 湖南交通工程学院学生就业信息系统_u26ajz8t_205-wx.zip
- Carsim和simulink联合仿真车辆状态估计 估计的状态为:质心侧偏角,横摆角速度,纵向力和侧向力,纵向车速,侧向车速,四个轮速 基于dugoff轮胎模型进行了轮胎纵向力和侧向力计算,再基于无迹
- 农场投入品运营线上管理系统(编号:84235399).zip
- 基于web的小区停车场管理系统_673i609q_240-wx.zip
- 基于YOLO的人体手脚位置识别数据集准备与环境搭建
- 简单的电子书管理系统 这个系统将允许用户添加、删除、搜索电子书,管理借阅记录,并提供一些统计信息
- 224010323施欣怡《加强合规审计的必要性及方式》.doc