此类是struts的入口类,也是调渡类,tomcat是通过个servlet把相关参数等操作传给struts处理的,
ActionServlet是一个普能的servlet,他继承于:HttpServlet,有相应的doGet和doPost方法。
ActionServlet和其它servlet一样,是在web.xml进行定义的,不然系统将无法找到这个servlet
很显然struts帮我们处理了servlet部分,不然我们要每一个都要web.xml中进行配置也能使用。
而struts用一个servlet完成所有相关的控制转向等工作,然后调用真正的逻连javabean类。
我们看一下web.xml中的定义
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>dlp.oa.filter.SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<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>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</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>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
----------------------------------------------------------------------------
从上面配置可知,把所有以do结束的url地址都转给ActionServlet进行处理。
分享到:
相关推荐
- `<servlet-class>`指定了这个servlet的实现类为`org.apache.struts.action.ActionServlet`。 - `<init-param>`元素用于配置初始化参数,这里指定了两个配置文件:`/WEB-INF/struts-config.xml`和`/WEB-INF/struts-...
- **Action实例管理**:对于首次被调用的Action类,ActionServlet会创建其实例,并将其放入缓存中以便后续复用。 - **表单数据填充**:如果配置文件中指定了对应的ActionForm,则从HTTP请求中提取数据填充至...
Struts2 框架提供了多种方式来访问 Servlet API,包括使用 ActionContext 类、实现接口和使用 ServletActionContext 类等。在本文中,我们将详细介绍 Struts2 访问 Servlet API 的几种方法。 一、使用 ...
struts1之ActionServlet详解 struts1框架中的ActionServlet是Struts1架构的核心组件之一,负责处理用户请求、交互ActionForm、ActionMapping和Action等组件,以完成用户请求。下面将详细介绍ActionServlet的工作...
3. **module2**:可能包含了Action类,这些类是Struts的核心组件,它们实现了Struts的Action接口,执行具体的业务逻辑并返回对应的ActionForward,决定用户请求的下一步走向。 4. **module6**:可能包含了JSP页面,...
Struts通过Action类实现了对Servlet请求的分发,ActionForm负责收集和验证表单数据,而Model代表业务对象,View则负责展示数据。这种分离使得代码更易于维护和测试。Struts还提供了强大的国际化、异常处理、数据校验...
2. `ActionServlet`是Struts1的核心控制器,它是一个实现了Servlet接口的类,负责拦截所有的HTTP请求。当请求到达时,`ActionServlet`会根据配置文件(struts-config.xml)中的映射信息决定如何处理请求。 3. `...
要使用Struts2进行文件上传,你需要在Action类中创建一个FormFile类型的属性,并在struts.xml配置文件中声明对应的接收参数。同时,需要在HTML表单中设置`enctype="multipart/form-data"`,以便支持文件上传。 接...
在文件上传下载场景中,Struts提供了ActionForm来封装用户输入,Action类处理业务逻辑,并通过RequestDispatcher将控制权传递给JSP页面进行视图渲染。 **文件上传**: 在Struts中,文件上传通常依赖于第三方库如...
在`myStruts`这个压缩包中,可能包含模拟Struts1流程所需的代码和配置文件,如ActionServlet的实现、Action类、ActionForm类、struts-config.xml以及展示结果的JSP页面。通过对这些文件的分析和实践,你可以更深入地...
### servlet与struts简介 #### 一、Servlet概述 Servlet是一种服务器端的Java技术,用于扩展Web服务器的功能。Servlet能够动态地生成Web页面,并且可以处理来自客户端的HTTP请求。Servlet是Java EE的重要组成部分...
本文将深入探讨如何在Struts2中访问Servlet API。 首先,理解Struts2的执行流程至关重要。当一个请求到达服务器时,Struts2的过滤器(通常名为`FilterDispatcher`或`StrutsPrepareAndExecuteFilter`)会捕获这个...
在上面的代码中,我们定义了一个名为“action”的Servlet,它的类名是org.apache.struts.action.ActionServlet,这是Struts框架提供的ActionServlet实现类。 其次,我们需要配置<servlet-mapping>元素,以便指定...
通过这个Demo,你可以学习到如何配置Struts框架,理解ActionServlet和Action类的工作原理,以及它们如何与Servlet交互来处理请求和响应。同时,这个Demo也可能会展示如何利用Struts提供的优势,如更好的结构、可重用...
开发者需要掌握ActionServlet的工作原理,以及如何编写Action类、配置`struts-config.xml`、设计Form Bean,以及如何利用Struts的标签库来创建动态的用户界面。通过深入学习和实践,可以更好地利用Struts实现高效的...
首先,Struts2框架通过Action类处理用户请求,通常会通过配置文件(struts.xml)来映射URL到具体的Action。然而,有时开发者可能需要绕过Struts2的默认流程,直接使用Servlet API来处理请求,这可能是为了执行一些低...
### Struts2与Servlet共存问题详解 #### 一、问题背景 在Java Web开发中,Struts2框架因其简洁的MVC模式和强大的插件系统而被广泛使用。但在某些场景下,开发者可能需要同时使用Struts2和其他Servlet技术(如...
1. **子类化**:可以通过继承 `ActionServlet` 类来创建子类,从而覆盖或添加新的行为。 2. **拦截器**:使用拦截器(Interceptors)来扩展 ActionServlet 的功能,例如添加预处理步骤、后处理步骤等。 3. **配置...