struts基本配置,在web.xml中
<servlet>
<servlet-name>
<servlet-class>org.apach.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/strutx-config.xml</param-value>
</init-param>
<servlet>
struts-config.xml基本配置信息:
<struts-config>
<data-sources />
<form-beans />
<global-exceptions />
<global-forwards />
<action-mappings>
<action path="/login"
type="com.xxx.LoginAction"
/>
</action-mappings>
<message-resources parameter="com.xxx.ApplicaionResources.properties" />
</struts-config>
------------
struts 执行步骤
1. 载入web.xml, 实例化ActionServlet
2. 执行到ActionServlet中的init方法, 将<init-param>里的名为config的值读出来,
这个值, 对应struts-config.xml的所在位置和文件名
3. 生成ActionMapping对象, 这个对象里放的都是struts-config.xml中的配置内容以键值 对的方式.
<action path="" type="" />
第一个对应是把<form action="login.do">和<action path="/login">
login.do -> login, path中,是不用写.do
如果对应不上, 出错
如果对应上, 把对应的struts-config.xml中的action段的内容读到ActionMapping对象 中.
经过这三步后,我们现在有三个东西,request, response, ActionMapping
4. 从ActionMapping中获得type的值,
5. 通过反射, 生成这个type值对应类的实例.
6. 调用对应的Action实例execute方法.
7. ActionServlet里还要收集这个Action的返回
<forward name="ok" path="/success.jsp" />
ActionMapping对象的findForward("xx")方法找到相应的forward
findForward方法返回的是一个ActionForward对象,把这个ActionForward对象
返回给ActionServlet
8. ActionServlet中解析出ActionForward对象里的地址, 并跳转.
<form-bean name="loginForm" type="" />
<action name="loginForm" type="" path="" />
<action xxx validate="true" input="/login.jsp" />
input表示如果没验证通过就跳转到哪去?
<action attribute="aaa" scope="request|session" />
request.get|setAttribute("aaa", new ActionForm);
findForward方法找寻的时候,首先找当前配置段中局部forward,如果找不到,再找全局的.
---------------------------------------
分享到:
- 2009-09-20 23:45
- 浏览 1075
- 评论(0)
- 论坛回复 / 浏览 (0 / 1263)
- 查看更多
相关推荐
例如,为用户登录场景创建一个表单,包含username和password字段,使用Struts1.2 Form Declaration创建Form Bean,并自动生成对应的JSP页面。 4. 创建控制层:在struts-config.xml中配置Action,定义请求映射和...
首先,我们来看Struts1.2,这是一个经典的MVC(Model-View-Controller)框架。在MYBOOK项目中,Struts负责处理HTTP请求,将用户界面与业务逻辑解耦。通过Action类和配置文件(struts-config.xml),Struts能够映射...
本文将基于书中部分内容,重点解析Struts应用中的四个关键配置文件:`web.xml`、`struts-config.xml`、`build.xml`和`application.properties`。 #### 二、Struts配置文件详解 ##### 1. **Web应用部署描述符 (web....
- **2.3.2 RequestProcessor类**:RequestProcessor类是Struts中的另一个核心组件,它负责解析用户的请求并创建ActionForm对象,然后将请求转发给ActionServlet处理。 - **2.3.3 Action类**:Action类是Struts框架...
#### 重点解析 1. **使用`s:property`标签获取错误信息**:如上面示例所示,我们可以利用`s:property`标签结合OGNL表达式来获取`ValueStack`中的错误信息。例如,`[0]"/>`和`['displayErrorInfo'][0]"/>`都可以用来...
本文将重点介绍一种常见的异常——`java.lang.IllegalArgumentException: argument type mismatch`,并详细解析其成因与解决策略。 #### 异常示例 在JavaWeb项目中使用Struts框架时,可能会遇到如下异常: ```java...
- **技术栈**:Struts 1.2 + Hibernate 3.0。 - **开发工具**:Dreamweaver 8.0 + MyEclipse 5.0。 - **数据库**:MySQL 5.0。 - **角色**:开发组成员。 - **负责模块**:职位管理、客户管理。 - **团队规模*...
此外,Struts2的JSON插件支持将Java对象序列化为JSON格式,便于Ext前端获取和解析。 **2.2 Spring与Ibatis的整合** Spring框架的强大之处在于其提供了灵活的依赖注入机制,可以有效地管理应用程序的各种组件。通过...
- **核心组件**:解析Struts框架的核心组件,如ActionForm、ActionServlet等。 - **工作流程**:描述Struts框架的执行流程,从用户发起请求到最后呈现页面的全过程。 - **案例分析**:提供一个基于Struts框架的Web...
通过以上知识点的梳理,可以更好地准备花期的面试,尤其是在Java基础知识、JSP/Servlet、J2EE、XML以及Struts/Spring/Hibernate和EJB相关领域,这些都是面试官关注的重点。深入理解这些概念和技术,不仅能够提升面试...
### DEMO系统概要设计文档知识点解析 #### 一、引言 **1.1 目的** 本文档旨在明确DEMO系统的总体架构和技术实现方案,重点在于介绍系统的层次划分和核心机制的设计。 **1.2 背景** DEMO系统作为一款面向特定业务...
根据提供的文档信息,本文将对“基于JAVA语言的农产品销售系统设计”进行深入解析,重点阐述该系统的开发背景、技术选型及应用价值,并结合具体的技术实现细节进行展开。 ### 1. 绪论 #### 1.1 网站的开发背景 ...