本文档是关于Struts2框架的入门教程,主要讲解如何在Struts2中访问HelloWorld应用。Struts2作为基于WebWork2的MVC架构,与Struts1有所不同,它采用了无侵入式设计,减轻了对Servlet API和Struts API的依赖。以下是主要内容:
1. **访问HelloWorld应用的URL结构**:在Struts2中,访问Action的URL路径由命名空间(namespace)和Action名称组成,如`/test/helloworld`。完整的URL会包含Web服务器地址(如`http://localhost:端口/`)和具体的路径。例如,访问HelloWorldAction的URL可能是`http://localhost:端口/test/helloworld.action`。
2. **Struts2的配置**:示例中的XML配置展示了如何定义一个名为`itcast`的包,其中包含一个名为`helloworld`的Action。`execute`方法将被调用,成功后会跳转到`hello.jsp`页面。包的`namespace`属性设置为`/test`,意味着所有在这个命名空间下的Action可以通过相同的URL访问。
3. **Struts2的优点**:
- **松耦合性**:Struts2不再紧密依赖Servlet API和Struts API,允许开发者以非侵入方式使用框架。
- **拦截器**:Struts2提供拦截器功能,支持AOP编程,如权限控制。
- **类型转换器**:Struts2内置类型转换器简化了数据类型的处理,无需像Struts1那样手动注册。
- **表现层支持**:Struts2支持多种表现层技术,如JSP、FreeMarker和Velocity。
- **输入校验**:Struts2允许针对特定方法进行输入校验,改进了Struts1的校验机制。
- **国际化资源管理**:Struts2提供了不同范围(全局、包和Action)的国际化资源文件管理。
4. **搭建Struts2开发环境**:
- **所需JAR文件**:从Apache Struts官方网站下载最新版本的struts-2.x.x-all.jar文件。
- **配置文件**:编写struts.xml配置文件,定义Action、包和拦截器等组件。
- **web.xml配置**:在Web部署文件中添加Struts2 MVC的启动配置,确保框架能正确初始化和运行。
通过这个教程,读者可以了解如何在实际项目中应用Struts2,包括基本的配置和理解其与Struts1的主要区别。