Struts2第一章
一、 介绍:
a) Struts2是以web work优秀的设计思想为核心,吸收了struts1的部分优点,建立了一个基于webwork和struts1的MVC框架。
二、 优点:
a) 结构清晰,使开发者只关注业务逻辑实现即可。
b) 提供了丰富的标签,大大提高了开发效率。
c) 提供页面导航,通过配置文件把握整个系统各部分之间的联系,便于后期维护。
d) 不再依赖Servlet API,便于测试。
三、 环境搭建:
a) 在项目中导入Struts2必需的jar包。
b) 修改web.xml配置文件。
c) 添加struts.xml配置文件。
Struts2是一个强大的MVC框架,它融合了WebWork的核心设计思想和Struts1的优点,为Java Web开发提供了高效、灵活的解决方案。本章主要介绍了Struts2的基础知识,包括其设计理念、优点、环境搭建步骤以及核心配置文件的设置。
1. **设计理念**:
Struts2是一个基于MVC模式的框架,它将Web Work的设计精髓与Struts1的实用功能结合,旨在简化Web应用的开发。核心是将表现层与业务逻辑层分离,使得开发者可以专注于业务逻辑的实现,而不必过多关心页面展示和控制流的细节。
2. **优点**:
- **结构清晰**:Struts2的架构使得代码组织有序,有利于团队协作和代码维护。
- **丰富的标签库**:内置的JSP标签极大地提高了开发效率,如s:form、s:textfield等,使得界面构建更为简洁。
- **页面导航**:通过配置文件(如struts.xml)可以清晰地管理各页面间的跳转,方便后期维护和扩展。
- **独立于Servlet API**:Struts2不再直接依赖Servlet API,这使得单元测试变得更加容易。
3. **环境搭建**:
- **引入依赖**:将Struts2所需的jar包添加到项目的类路径中,这些库包含了框架运行所需的类和接口。
- **配置web.xml**:在`web.xml`中配置Struts2的过滤器,以拦截所有请求并处理。
- **创建struts.xml**:添加框架的核心配置文件`struts.xml`,用于定义Action、结果视图等。
4. **web.xml配置示例**:
`<filter>`和`<filter-mapping>`元素用于注册Struts2的过滤器,`<filter-name>`应保持一致,以确保过滤器能够正确识别。
5. **struts.xml配置**:
- 动手创建`struts.xml`,可以通过复制并修改现有模板来快速开始。
- 在这个配置文件中定义Action,指定Action类和方法,以及对应的视图结果。
6. **输出Hello Struts2**:
- 创建`login.jsp`,设置表单提交到`test/loginAction`。
- 编写`LoginAction.java`,继承自`ActionSupport`,定义属性和execute方法,根据验证结果返回不同的字符串。
- 更新`struts.xml`,配置Action和结果视图。
- `success.jsp`用于展示"Hello Struts2",注意namespace的设定。
7. **结果关键字**:
- INPUT、ERROR、SUCCESS、LOGIN和NONE是Struts2预定义的结果关键字,分别对应不同处理状态。
8. **默认行为**:
- 若未在`action`中指定`class`,则默认为`ActionSupport`。
- 若未指定`method`,默认调用`execute`方法。
- 若`result`未指定`name`,默认结果为`SUCCESS`。
9. **结果类型**:
- `dispatcher`:默认类型,采用请求转发。
- `redirect`:重定向跳转。
- `redirectAction`:跳转到其他Action,常用于动作间的跳转。
- `plainText`:显示原始文本内容。
10. **全局视图**:
对于多个Action共享的视图,可以定义全局结果,避免重复配置。在`struts.xml`的全局结果区域定义`<global-results>`,这样可以统一处理错误或通用视图。
Struts2框架通过其结构化的设计、丰富的功能和便捷的配置,为Java Web开发带来了高效和灵活的解决方案。了解并掌握这些基础知识,能帮助开发者快速构建出稳定且易于维护的Web应用。