深入理解Struts1.2框架:工作流程解析
"本文档是关于Struts1.2框架的学习笔记,主要探讨了Struts1.2的工作流程,特别是ActionServlet的角色以及配置方法。" 在Java Web开发领域,Struts1.2是一个广泛使用的MVC(Model-View-Controller)框架,它极大地简化了Web应用的构建。该框架的核心组件是ActionServlet,它作为控制器负责处理用户请求并协调模型与视图之间的交互。 在Struts1.2中,当用户通过浏览器发起一个请求,通常以`.do`结尾的URL,这个请求会被Web服务器解析并映射到`web.xml`文件中定义的ActionServlet。`web.xml`是部署描述符,它包含了应用程序的配置信息。例如: ```xml <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <!-- 其他参数 --> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> ``` 这里的`servlet-class`指定了ActionServlet的类,`init-param`则用来传递配置文件的位置,即`struts-config.xml`,这个文件定义了Struts的各个组件,如Action、Form Bean、Forward等。`load-on-startup`标签的值决定了服务器启动时是否加载这个Servlet。 ActionServlet的主要职责包括: 1. 解析请求:当用户请求到达,ActionServlet会解析请求的URL,根据`struts-config.xml`中的配置来决定如何处理。 2. 创建ActionForm:如果请求需要表单数据,ActionServlet会创建一个ActionForm对象,将请求参数填充到表单对象中。 3. 执行Action:找到对应的Action类实例,并调用其execute方法,执行业务逻辑。 4. 转发结果:根据Action的返回值,ActionServlet会决定跳转到哪个JSP页面或者进行其他操作,这通常通过ActionForward实现。 `struts-config.xml`配置文件中,每个Action元素定义了一个特定的请求处理逻辑,如: ```xml <action path="/login" type="com.example.LoginAction" name="loginForm"> <forward name="success" path="/success.jsp"/> <forward name="failure" path="/error.jsp"/> </action> ``` 在这个例子中,路径为"/login"的请求将由`LoginAction`处理,ActionForm的名称是`loginForm`。Action执行后,可以返回"success"或"failure",分别对应转发到`success.jsp`和`error.jsp`。 理解Struts1.2的工作流程对于开发者来说至关重要,因为它有助于构建清晰的架构,使得代码组织有序,易于维护。在实际开发中,开发者还需要掌握如何编写Action类、ActionForm以及JSP页面,以充分利用Struts1.2提供的功能。
第一讲:
1. 了解struts工作流程:
首先struts基于MVC模式, 用户发送的请求讲被ActionServlet处理,转发,但是它是怎样实现的了??
实现原理:
web.xml 配置:
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
... ...
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
上面描述*.do的url请求都会被ActionServlet接受.
完整配置讲解:
/*************************************************************
1. web.xml
web.xml文件对任何的Web项目都是一个必须的文件,使用Struts时,还需要对该文件进行一
些必须的配置。
1.1 ActionServlet的配置 一般需要在该文件中配置Struts的Servlet,示例配置如下:
Eg1. 简单的Struts的ActionServlet的配置:
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
剩余25页未读,继续阅读
- 粉丝: 0
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Ansys Comsol实现力磁耦合仿真及其在电磁无损检测中的应用
- 西门子数控系统调试与配置实战案例教程
- ELM多输出拟合预测模型:简易Matlab实现指南
- 一维光子晶体的Comsol能带拓扑分析研究
- Borland-5技术资料压缩包分享
- Borland 6 技术资料分享包
- UE5压缩包处理技巧与D文件介绍
- 机器学习笔记:深入探讨中心极限定理
- ProE使用技巧及文件管理方法分享
- 增量式百度图片爬虫程序修复版发布
- Emlog屏蔽用户IP黑名单插件:自定义跳转与评论限制
- 安装Prometheus 2.2.1所需镜像及配置指南
- WinRARChan主题包:个性化你的压缩软件
- Neo4j关系数据映射转换测试样例集
- 安装heapster-grafana-amd64-v5-0-4所需镜像介绍
- DVB-C语言深度解析TS流