"韩顺平关于Struts的笔记"
Struts是Apache软件基金会旗下面向Java平台的一个开源Web应用框架,它旨在简化使用Model-View-Controller (MVC)架构创建Web应用的过程。Struts通过提供一套标准的约定,使得开发团队能够遵循统一的规范进行开发,从而提高代码的规范性、开发效率,并增强程序的可读性和可维护性。
Struts框架的出现源于对MVC模式理解的多样性,导致各公司在开发时的规范不一致,不利于项目的长期维护和扩展。通过使用Struts,开发者可以遵循框架提供的规则,确保项目结构清晰,易于理解和协作。
运行原理方面,当一个HTTP请求到达Web服务器,例如`http://localhost:8080/web应用/action`,服务器首先解析URL,找到对应的Web应用和资源。接着,请求被转发给Struts框架的核心组件——ActionServlet。ActionServlet依赖于配置文件`struts-config.xml`,这个文件定义了表单(actionForm)、动作(action)及其间的映射关系。ActionServlet根据请求信息填充actionForm,并调用相应的action。action负责从表单中获取数据,然后调用业务逻辑层(如service,model)来处理任务。完成后,action返回结果给ActionServlet,ActionServlet根据配置决定将响应重定向到哪个JSP页面。最后,服务器将生成的静态HTML页面返回给浏览器。
在`struts-config.xml`配置文件中,`<action>`元素的`scope`属性用于定义actionForm对象的生命周期范围。默认情况下,`scope`是session,这意味着actionForm对象会在整个会话期间保持其状态。如果需要在一次请求内管理actionForm,可以将其设置为request。
过滤器(Filter)在Struts中也扮演着重要角色,例如自定义的过滤器`MyFilter`继承自`HttpServlet`并实现了`Filter`接口。过滤器在请求处理流程中起到了拦截和预处理的作用,可以用来实现身份验证、数据校验等操作。在`doFilter()`方法中,过滤器可以对请求和响应进行修改或控制其流向。
构建一个简单的Struts登录项目通常涉及以下步骤:
1. 创建一个新的Web工程。
2. 引入Struts相关的库和依赖。
3. 编写登录界面,如`login.jsp`。
4. 定义actionForm,用于接收和验证用户输入。
5. 实现处理登录动作的action类。
6. 配置`struts-config.xml`,定义actionForm、action及它们的映射。
7. 编写成功和错误提示页面,如`ok.jsp`和`err.jsp`。
8. 配置`web.xml`,添加Struts的初始化参数和过滤器。
9. 进行测试,验证登录功能是否正常工作。
韩顺平的Struts笔记详细介绍了Struts框架的核心概念、工作原理以及如何构建一个简单的Struts应用,对于学习和理解Struts框架具有很高的参考价值。