### Struts2基础知识详解 #### 一、Struts2简介与环境搭建 **Struts2**是Apache组织下的一个开源框架,它继承了Struts1的设计理念,但在很多方面进行了改进,提供了更丰富的功能和更好的灵活性。Struts2基于MVC(Model-View-Controller)模式,将业务逻辑、数据和表示层分离,简化了Web应用程序的开发过程。 **准备工作**: - **解压struts-2.1.6-all.zip**:这是Struts2的一个发布版本,包含各种资源和示例程序,帮助开发者快速入门和开发。 - **apps目录**:包含Struts2自带的示例程序,用于学习和参考。 - **docs目录**:官方文档,提供详细的框架使用说明和技术细节。 - **lib目录**:存储所有必需的JAR文件。 - **src目录**:源代码存放地,可用于深入研究框架内部实现。 **六个基本包**: - **struts2-core-2.1.6.jar**:Struts2的核心类库,包含框架的基础API和实现。 - **freemarker-2.3.13.jar**:用于页面渲染的模板引擎,Struts2的UI标签基于Freemarker实现。 - **commons-logging-1.0.4.jar**:日志处理包,用于记录应用运行时的信息。 - **ognl-2.6.11.jar**:对象图导航语言,用于读写对象属性,是Struts2表达式语言的基础。 - **xwork-2.1.2.jar**:XWork类库,Struts2在其基础上构建,处理请求和响应的核心组件。 - **commons-fileupload-1.2.1.jar**:文件上传组件,自2.1.6版本起必须加入,否则会因缺少RequestContext类而引发异常。 #### 二、Struts2配置文件详解 **配置文件**在Struts2中扮演着至关重要的角色,它们指导框架如何工作,以及如何与应用程序交互。 1. **web.xml**:配置StrutsPrepareAndExecuteFilter,这是一个过滤器,初始化整个Struts框架并处理所有请求。可以配置初始化参数,如加载额外的XML配置文件或影响框架行为。 2. **struts.xml**:框架的核心配置文件,用于配置action、拦截器等,支持包括其他配置文件,便于模块化管理。 3. **struts.properties**:存储框架使用的各种属性,允许开发者根据需求调整。通常放置于/WEB-INF/classes目录下,可在struts-default.properties中找到属性列表。 4. **struts-default.xml**:Struts2框架默认加载的配置文件,定义核心bean和拦截器,自动包含到struts.xml中,提供标准配置。 5. **其它配置文件**:如velocity.properties、struts-default.vm、struts-plugin.xml,分别用于Velocity模板引擎、默认视图模板和插件配置。 #### 三、工具集成与开发技巧 **MyEclipse提示xml信息**:为了在编写struts.xml时获得更好的支持,需手动导入DTD以启用提示。操作步骤包括添加DTD位置、选择URI键类型和指定键值。 **使用alt+/提示**:在MyEclipse中,默认的提示快捷键Ctrl+Space可能会与输入法切换冲突,导致提示失效。解决方法是重新绑定快捷键至"alt+/”。 **实例开发**: 1. 创建项目并导入六个基本JAR包。 2. 开发具体的Action类和对应的配置,例如LoginAction,配置其请求映射、结果页面等。 以上介绍了Struts2的基本概念、环境搭建、配置文件解析以及在IDE中的开发技巧,对于初学者而言,掌握这些知识点是进入Struts2开发领域的第一步。随着实践的深入,开发者还将遇到更多高级特性,如拦截器、自定义标签、国际化支持等,这些都是进一步提高应用程序性能和用户体验的关键。
剩余57页未读,继续阅读
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Django和OpenCV的智能车视频处理系统.zip
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- (源码)基于Nio实现的Mycat 2.0数据库代理系统.zip
- (源码)基于Java的高校学生就业管理系统.zip
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip