Struts1的工作原理:
1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的
Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts
中不同的模块初始化相应的对象。(面向对象思想)
2.发送请求:用户提交表单或通过URL向WEB服务器提交请求,请求的数据用HTTP协议传给web服务器。
3.form填充:struts的总控制器ActionServlet在用户提交请求时将数据放到对应的form对象中的成员
变量中。
4.派发请求:控制器根据配置信息对象ActionConfig将请求派发到具体的Action,对应的formBean一并
传给这个Action中的excute()方法。
5.处理业务:Action一般只包含一个excute()方法,它负责执行相应的业务逻辑(调用其它的业务模块)
完毕后返回一个ActionForward对象。服务器通过ActionForward对象进行转发工作。
6.返回响应:Action将业务处理的不同结果返回一个目标响应对象给总控制器。
7.查找响应:总控制器根据Action处理业务返回的目标响应对象,找到对应的资源对象,一般情况下
为jsp页面。
8.响应用户:目标响应对象将结果传递给资源对象,将结果展现给用户。
客户端发送请求(Http Request),被struts1的核心控件器ActionServlet接收,ActionServlet根据struts-config.xml里的映射关系找到对就的Action,若找不到就返回500错误到JSP页面。若有就Action里的 excute()方法里执行相应的逻辑操作,比如调用Model层的方法,然后通过ActionForward,跳转到对应的输出页面
struts1的步骤:
1.导入struts1在lib文件下的所有架包;
2.把web-inf文件下的struts-config.xm文件复制到自己项目里面的web-inf下,把注释去掉只留下一对<struts-config>标签;
3.把web-inf文件下的web.xml文件里的servlet配置复制到自己项目里面的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>
<load-on-startup>2</load-on-startup>
</servlet>
4.创建有关的action类继承action重写他的execute方法;
5.根据所写的有关action类配置<struts-config>文件里的东西如:
<action-mappings>
<action path="/addUser"
type="com.wangzhaohui.action.AddUserAction"
>
<forward name="scuess" path="/ok.jsp"></forward>
</action>
</action-mappings>
6.我们还可以写一个继承ActionForm的类,里面的写法和pojo类差不多,看需要接收哪些参数就写什么。配置好了就可来自动接收表单数据
<struts-config>
<form-beans>
<form-bean name="userForm" type="com.wangzhaohui.actionForm.UserActionForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/addUser"
type="com.wangzhaohui.action.AddUserAction"
name="userForm">
<forward name="scuess" path="/ok.jsp"></forward>
</action>
</action-mappings>
</struts-config>
然后在action里面接收数据的时候就可以用如form.getXX来自动接受表单数据了。
(view)视图层里面的.do请求都被actionservlet中央控制器(在web.xml里面配置好的)接收到,会读取配置文件(srtuts-config)找到相应的请求,分发给相应的action进行处理。进行处理的时候需要传几个参数:request,response,mapping(把配置拿出来封装成一个对象取出来), 还有一个actionForm(根据配置文件里配置的name=“”来自动接收表单数据,最终调用业逻辑,拿到一些数据返回回来,返回actionservlet的是一个actionForward的跳转信息,通过mapping.findForward找到然后servlet里面它会帮你自动的挑战到相应的页面
相关推荐
**Struts1原理:** Struts1是Apache组织的一个开源项目,它引入了ActionServlet来处理HTTP请求。当用户发起请求时,请求会被Struts1的Front Controller(即ActionServlet)拦截,然后根据配置文件(struts-config....
1. **Tiles定义与原理** Struts Tiles是Apache Struts项目的一个子项目,它基于JSP的Include指令扩展而来。Tiles通过定义模板(Template)和组件(Component)来组织页面,模板是页面的基本结构,而组件则是页面上...
Convention插件的工作原理是基于“约定优于配置”(Convention over Configuration)的原则,它会自动识别并配置符合特定规则的Java类作为Action。具体来说,以下两点是关键: 1. **Action识别**: - 实现了`...
#### 一、Struts2概述与工作原理 Struts2是一个用于构建企业级Java Web应用的强大框架。它继承了Struts1的一些特性,并在此基础上进行了改进和扩展,支持更加灵活和强大的功能。Struts2基于MVC(Model-View-...
### Struts2框架简述 #### 一、Struts2框架概述 Struts2作为Java Web开发中的一个重要框架,是Apache Struts项目的一个版本,它继承了Struts1的优点,并在此基础上进行了大量的改进和增强。Struts2不仅更加灵活、...
1. **第一章:介绍** - 简述Struts2框架的历史背景和其在Java web开发中的重要性。 2. **第二章:环境搭建** - 指导如何配置开发环境,包括安装JDK、Apache Tomcat服务器,以及设置IDE。 3. **第三章:第一个Struts2...
这篇文章将深入探讨Struts2拦截器的概念、工作原理以及如何在实际应用中使用它们。 **一、什么是Struts2拦截器** 拦截器是基于AOP(面向切面编程)思想的组件,它可以理解为在Action调用前后插入的逻辑处理。在...
- **拦截器基础**:介绍拦截器的概念及其工作原理。 - **使用拦截器**:演示如何配置并使用Struts2提供的内置拦截器。 - **自定义拦截器**:如何创建自定义拦截器,以及其应用场景。 - **综合示例**:通过实例展示...
### SSH框架的工作原理及搭建步骤 #### 一、Struts、Spring、Hibernate的功能与定位 在Java Web开发中,为了实现高效、灵活且易于维护的应用程序,通常采用分层架构设计,即“页面表示层”、“业务逻辑层”和...
在本文中,我们将探讨Spring在`web.xml`中的配置与在Struts中的配置差异,以及这两种配置方式背后的基本原理。 首先,Spring的核心是ApplicationContext,它是一个管理Bean的容器,可以看作是应用程序的上下文环境...
了解了这些基本方法后,我们可以通过阅读Struts2的源码来深入理解其工作原理。例如,研究`ActionSupport`类如何与ActionContext交互,或者查看`ValueStack`如何管理栈中的对象。此外,开发工具如IDE的调试功能,可以...
- **拦截器基础**:解释拦截器的概念及工作原理。 - **使用拦截器**:详细介绍Struts2中预定义的拦截器及其应用场景。 - **自定义拦截器**:讲解如何根据需求编写自定义拦截器以增强应用的功能。 - **综合示例**:...
本文将从JSP的基本概念出发,逐步深入到Struts框架的原理与应用实践。通过对比两种模型(JSP Model 1与JSP Model 2),我们能够更好地理解Struts是如何作为MVC(Model-View-Controller)模式的一种实现来提高Web应用...
### 一个简单的Login应用程序知识点详解 #### 一、项目背景与需求定义 本项目旨在创建一个简单...对于初学者而言,这是一个非常有价值的实践案例,有助于理解Maven、Struts2以及其他Web开发技术的基本原理和应用场景。
Struts2和Spring是两个非常重要的Java Web开发框架,它们在企业级应用中广泛使用。Struts2提供了强大的MVC(Model-View-...然而,理解和掌握Struts2+Spring的基础,对于理解现代Web框架的工作原理仍然十分有益。
通过理解Struts、Spring和Hibernate的原理及其相互关系,开发者可以将它们高效地组合起来,形成一个以Spring为核心,Struts为表现层,Hibernate为数据访问层的架构。这个案例的实现有助于深入理解SSH整合的实际运用...
在Java Web开发领域,Spring、Struts和Hibernate是三大主流框架,它们分别负责不同层面的...虽然现代开发趋势更倾向于使用Spring Boot和Spring MVC,但理解这种传统的三层架构对于理解现代框架的工作原理仍然很有帮助。
#### 四、Struts框架的工作原理简述 - **请求处理流程**:当客户端发送请求到服务器时,请求首先被ActionServlet接收。ActionServlet根据请求路径找到对应的Action,并创建ActionForm对象来封装请求参数。接着,...
### Struts2、Spring、Hibernate使用XML的整合方式 #### 概述 本文档将详细介绍如何使用XML配置文件实现Struts2、Spring以及...对于初学者而言,这是一个很好的学习案例,有助于理解SSH框架的工作原理及实际应用场景。
2. **简述Struts2的工作原理。** - Struts2采用拦截器(Interceptor)机制处理用户请求,使业务控制器(Action)与Servlet分离。 - 用户请求提交后,经过多个拦截器处理后交由核心控制器FilterDispatcher处理。 -...