`

struts的几个问题

阅读更多
Struts工作机制
Struts的工作流程:
在web应用启动时就会加载初始化ActionServlet,ActionServlet从
struts-config.xml文件中读取配置信息,把它们存放到各种配置对象
当ActionServlet接收到一个客户请求时,将执行如下流程.
-(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;
-(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;
-(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法;
-(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象, 就表示表单验证成功;
-(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的 Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;
-(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给 ActionForward对象指向的JSP组件;
-(7)ActionForward对象指向JSP组件生成动态网页,返回给客户;


为什么要使用Struts
JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱,所以在此之上,我们需要一个规则、一个把这些技术组织起来的规则,这就是框架,Struts便应运而生。

基于Struts开发的应用由3类组件构成:控制器组件、模型组件、视图组件

Struts的validate框架是如何验证的
在struts配置文件中配置具体的错误提示,再在FormBean中的validate()方法具体调用

Struts的设计模式
MVC 模式: web应用程序启动时就会加载并初始化ActionServler。用户提交表单时,一个配置好的ActionForm对象被创建,并被填入表单相应的数据,ActionServler根据Struts-config.xml文件配置好的设置决定是否需要表单验证,如果需要就调用ActionForm的 Validate()验证后选择将请求发送到哪个Action,如果Action不存在,ActionServlet会先创建这个对象,然后调用 Action的execute()方法。Execute()从ActionForm对象中获取数据,完成业务逻辑,返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指定的jsp组件,ActionForward对象指定的jsp生成动态的网页,返回给客户。
分享到:
评论

相关推荐

    struts中文乱码问题解决详细步骤

    解决这个问题通常涉及到编码设置的调整,下面将详细介绍两种方法来解决Struts中的中文乱码问题。 **方法一:配置Filter** 1. **添加过滤器**:首先,我们需要在Web应用的`web.xml`文件中添加一个`...

    编写struts2需要的几个jar包

    struts2需要的几个jar包: 1)xwork-core-2.1.6 2)struts2-core-2.1.8 3)ognl-2.7.3 4)freemarker-2.3.15 5)commons-io-1.3.2 6)commons-fileupload-1.2.1

    Tomcat5.5 for Struts几个jar包

    Struts和Tomcat是Java Web开发中的两个关键组件。Struts是一个开源的MVC(Model-View-Controller)框架,用于构建和维护可扩展、结构化的Web应用程序,而Tomcat则是一个轻量级的Java应用服务器,常用于部署Servlet和...

    struts2常用的7个jar包,struts2常用的7个jar包

    在Struts2框架中,有几个核心的JAR(Java Archive)文件是不可或缺的,它们构成了Struts2的核心组件,帮助开发者构建基于Struts2的应用程序。下面将详细介绍这些常用的JAR包及其在Struts2框架中的作用。 1. **...

    Struts2主要Lib

    Struts2是一个强大的Java web应用程序框架,用于构建和管理MVC(模型-视图-控制器)架构的应用程序。它的核心库由一系列的JAR(Java Archive)文件组成,这些文件包含了实现其功能的各种组件和依赖。在提供的"Struts...

    Struts2必须的几个包(Struts2.3.7)

    在搭建Struts2环境时,有几个关键的库文件是必不可少的,这些库文件构成了Struts2的基础框架。以下是你提供的压缩包中包含的一些关键组件的详细解释: 1. **freemarker-2.3.19.jar**:FreeMarker是一个模板引擎,...

    struts2最常用的几个类库

    Struts2是一个强大的Java web应用程序框架,它基于MVC(Model-View-Controller)设计模式,简化了开发过程,提供了丰富的功能和强大的控制能力。在使用Struts2时,了解并掌握其常用的类库至关重要。以下是一些核心的...

    struts的几个jar包

    Struts是Apache软件基金会下的一个开源项目,主要是一款基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。这些jar包是Struts框架的核心组件和其他依赖库,用于构建动态、数据驱动的Web应用。以下是...

    struts练习struts练习

    在这个"struts练习"的项目中,我们看到几个关键的文件名,它们暗示了可能涉及到的Struts实践和学习内容。 1. **test_servlet**: 这个文件可能是用于测试Servlet的,Servlet是Java Web应用的基础,负责处理HTTP请求...

    Struts2 框架搭建(基本)和几个报错问题

    Struts2是一个强大的Java Web应用程序框架,用于构建和部署企业级的MVC(Model-View-Controller)架构的Web应用。这个框架简化了开发过程,提供了丰富的特性来处理请求、控制流程、展示视图以及与数据库交互。在本文...

    几个struts例子

    struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子

    Struts2必须的几个包

    在Struts2框架中,有几个核心库是不可或缺的,这些库构成了Struts2的基础,使得开发者能够实现控制器、视图和模型的分离,从而更好地管理业务逻辑和用户界面。 首先,我们来看一下`struts2-core`包,这是Struts2的...

    Struts2.5.2的配置及问题解决

    总的来说,配置Struts2.5.2需要关注以下几个要点: 1. 下载并导入正确的jar包。 2. 配置web.xml中的Struts过滤器。 3. 编写struts.xml配置文件。 4. 解决可能出现的依赖问题,如日志和类找不到错误。 5. 验证配置...

    Struts开发中有哪几个关键对象

    在Struts框架中,有几个核心的关键对象,它们是构建基于MVC(模型-视图-控制器)架构的应用程序的关键组件。下面将详细解释这些对象及其作用: 1. **ActionServlet**: ActionServlet是Struts框架的核心控制器,它...

    struts2 必须的几个jar包

    Struts2是一个流行的Java Web应用程序框架,用于构建和维护可扩展、高效且易于维护的Web应用。它基于Model-View-Controller(MVC)架构模式,提供了强大的动作调度、国际化支持、异常处理等功能。要使用Struts2,...

    struts的一个例子

    在描述中提到的"基础的东西"可能包括以下几个方面: 1. **配置文件**:在Struts应用中,`struts-config.xml`是核心配置文件,它定义了Action类、ActionForm、ActionMapping等元素,用于指定请求如何映射到特定的...

    Struts2.2 升级到Struts2.3

    在升级过程中,我们需要关注以下几个关键知识点: 1. **依赖包的更新**:Struts2.3.32版本可能对原有的依赖包进行了升级或添加了新的依赖。确保所有相关依赖库(如ognl、freemarker、xwork等)都更新到与Struts...

    struts2的几个包

    本文将详细介绍Struts2框架中的几个核心JAR包及其功能。 1. **struts2-core.jar**:这是Struts2的核心库,包含了框架的主要组件。它提供了Action、Result、Interceptor等关键接口和实现,用于处理HTTP请求,执行...

    第一个Struts程序和仿Struts(登入问题)

    通常,一个简单的Struts登录流程包括以下几个步骤: 1. 创建Action类:这是控制器部分,处理用户提交的登录请求。在Struts1中,我们通常会创建一个继承自`Action`的类,而在Struts2中,我们使用实现`Action`接口...

Global site tag (gtag.js) - Google Analytics