Struts2入门教程:从零开始学习Struts2框架

4星 · 超过85%的资源 需积分: 9 400 下载量 189 浏览量 更新于2024-10-13 2 收藏 577KB PDF 举报
"Struts2教程,学习Struts2的各种技术,包括开发环境配置、核心组件及使用方法,对比与Struts1.x的区别" 在Java Web开发领域,Struts2是一个广泛使用的MVC(Model-View-Controller)框架,它是基于Webwork技术构建的。尽管在大版本号上是Struts的第二个版本,但在设计和实现上,Struts2与Struts1.x有显著的不同。Struts2引入了许多改进,提供了更灵活、更强大的功能,并且在配置和使用上进行了简化。 **1. 开发环境和依赖** 在学习Struts2时,通常会使用如MyEclipse这样的IDE,尽管在MyEclipse6中不直接支持Struts2,但可以通过手动添加所需的库来使用。Web服务器通常选择Tomcat,而Struts2的版本在此教程中为2.0.11.1。关键的依赖库包括`struts2-core-2.0.11.1.jar`、`xwork-2.0.4.jar`、`commons-logging-1.0.4.jar`、`freemarker-2.3.8.jar`和`ognl-2.6.11.jar`等。这些库分别对应Struts2的核心组件、Webwork的技术基础、日志处理、模板引擎和对象-图形表示语言。 **2. Struts2与Struts1.x的区别** 与Struts1.x相比,Struts2在很多方面进行了重构和优化: - **配置方式**:Struts2的配置文件更加灵活,可以使用XML或者注解,而Struts1.x主要依赖XML配置。 - **拦截器**:Struts2引入了拦截器(Interceptor)的概念,允许开发者定义和组合不同的处理逻辑,增强了可扩展性。 - **动作类(Action)**:Struts2的动作类不再需要继承特定的Action类,而是通过实现特定接口或使用注解来定义动作。 - **请求处理**:Struts2支持更多种方式的请求映射,比如使用通配符和正则表达式,而Struts1.x的请求映射较为固定。 - **视图层**:Struts2支持多种视图技术,如JSP、FreeMarker、Velocity等,而Struts1.x主要使用JSP。 **3. 建立Struts2应用的基本步骤** 不同于Struts1.x,建立Struts2应用的步骤包括: 1. **添加依赖**:将上述提到的Struts2及其依赖库添加到项目类路径中。 2. **配置web.xml**:配置Struts2的前端控制器(Filter Dispatcher),而不是像Struts1.x那样配置ActionServlet。 3. **创建Action类**:编写业务逻辑处理类,无需直接继承特定的Action类,而是实现`com.opensymphony.xwork2.ActionSupport`或使用注解。 4. **编写结果映射**:在Struts2的配置文件(struts.xml或类似的)中定义动作与视图的映射。 5. **视图层的构建**:创建对应的视图页面,如JSP或FreeMarker模板。 6. **测试运行**:通过URL访问应用程序,如`http://localhost:8080/struts2/index.action`。 **4. 动作和表单** 在Struts2中,ActionForm的概念被淡化,通常使用POJO(Plain Old Java Object)作为Action类的属性,直接绑定请求参数,减少了额外的类定义。 **5. 国际化与异常处理** Struts2提供了内置的国际化和异常处理机制,允许开发者方便地管理错误消息和多语言支持。 Struts2提供了一个更加现代化、灵活和易于扩展的MVC框架,它的出现是为了弥补Struts1.x的一些不足,使得Java Web开发更加高效。通过深入学习Struts2,开发者能够更好地掌握Web应用程序的架构和设计,提高开发效率和代码质量。