- 浏览: 165001 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
zhousheng193:
非常感谢LZ
在JSP页面及servlet的doGet()方法中处理汉字乱码的问题 -
jie523314:
学习下。。。
读取XML文件
大致上 ,Struts2 框架由三个部分组成 : 核心控制器 FilterDispatcher, 业务控制器和用户实现的业务逻辑组件 . 在这三个部分里面 ,Struts2 框架提供了核心控制器 FilterDispatcher, 而用户需要提供业务控制器和业务逻辑组件 .
(1) 核心控制器 FilterDispatcher
FilterDIspatcher 是 Struts2 框架的核心的控制器 , 该控制器作为一个 Filter 运行在 Web 应用当中 , 它负责拦截所有的用户请求 , 当用户请求到达的时候 , 该 Filter 将会过滤用户请求 . 如果用户请求以 action 结尾 , 那么 , 该请求将被转入 Struts2 框架处理 .
Struts2 框架获得了 *.action 请求之后 , 将会根据 *.action 请求的前面的部分决定调用哪个业务逻辑组件 , 比如说 , 对于 login.action 请求 ,Struts2 调用名为 login 的 Action 来处理该请求 .
Struts2 应用中的 Action 都被定义到 struts.xml 文件当中了 , 在该文件中定义 Action 的时候 , 定义了该 Action 的 name 属性和 class 属性 , 其中 name 属性决定了改 action 处理哪个用户的请求 . 而 struts 框架提供了系列拦截器 , 该系列拦截器负责将 HttpServletRequest 请求中的请求参数解析出来 , 传入到 Action 当中 , 并且回调 Action 的 execute 方法来处理用户的请求 .
显然 , 上面的处理过程是典型的 AOP 处理方式 .( 面向切面编程 ), 用户实现的 Action 类仅仅是 Struts2 的 Action 代理的代理目标 . 用户实现的业务控制器 Action 则包含了对用户请求的处理 . 用户的请求数据包含在 HttpServletRequest 对象里面 , 而用户的 Action 类无需访问 HttpServletRequest 对象 , 拦截器负责将 HttpServletRequest 里面的请求数据解析出来 , 并且传给业务逻辑组件 Action 实例 .
(2) 业务控制器
业务控制器组件就是用户实现的 Action 类的实例 ,Action 中通常包含了一个 execute 方法 , 该方法返回一个字符串 — 这个字符串就是一个逻辑视图名 , 当业务控制器处理完用户的请求之后 , 根据处理的结果不同 ,execute 方法就返回不同的字符串 — 每个字符串对应一个视图名 .
程序员开发出系统所需要的业务控制器之后 , 还需要配置 struts2 的 Action, 也就是配置 Action 的如下三个部分的定义 :
1) Action 所要处理的 URL
2) Action 组件所对应的实现类
3) Action 里面包含的逻辑视图和物理资源之间的关系
每个 Action 都要处理一个用户的请求 , 而用户请求总是包含了指定的 URL, 当 FilterDispatcher 拦截到用户的请求之后 , 根据请求的 URL 和 Action 处理 URL 之间的对应关系来进行转发 .
(3) Struts2 的模型组件
JavaEE 应用里的模型组件 , 通常是指业务逻辑组件 , 而隐藏在系统业务逻辑组件下面的 , 还可能包含了 DAO, 领域对象等组件 .
通常 MVC 框架里面的业务控制器会调用模型组件的方法来处理用户请求 . 也就是说 , 业务逻辑控制器不会对用户请求进行任何的实际处理 . 用户请求最终由模型组件负责处理 . 业务控制器只是中间负责调度的调度器 , 这也是称 Action 为控制器的原因 .( 当控制器需要获得业务逻辑组件的实例的时候 , 通常不会直接获取业务逻辑组件实例 , 而是通过工厂模式来获得业务逻辑组件的实例 , 或者利用其他 IOC 容器 , 比如说 Spring 容器来管理业务逻辑的实例 )
请求发送到容器 - à FilterDispatcher- à 转发请求 - à Action-- à 业务逻辑组件
(4) Struts2 的视图组件
Struts2 已经改变了 Struts1 只能够使用 JSP 作为视图技术的现状 ,Struts2 允许使用其他的模版模式 , 比如说 FreeMarker,Velocity 等作为视图技术 .
当 Struts2 的控制器返回逻辑视图名的时候 , 逻辑视图并没有和任何的视图技术相关联 , 仅仅是返回一个字符串 , 该字符串作为逻辑视图名
当我们在 struts.xml 文件中配置 Action 的时候 , 不仅要制定 Action 的 name 属性和 class 属性 , 还要为 Action 元素指定 result 子元素 , 每个 result 子元素定义一个逻辑视图和物理视图之间的映射 .
如果需要在 Struts2 中使用其他的视图技术 , 则可以再配置 result 子元素的时候 , 指定相应的 type 属性就可以了 , 比如说 , 要使用 FreeMarker, 则为 result 指定 freeMarker 的 type 属性 , 如果想使用 velocity 模版技术作为视图资源 , 则为 result 指定值为 velocity 的 type 属性 ……
(5) Struts2 的运行流程
Struts2 框架的运行流程非常类似于 WebWork 的流程 .
发表评论
-
struts2的select标签的标签显示问题
2010-09-20 20:00 861引用使用select的标签的时候第一个显示标签怎么都弄不出来纠 ... -
解决long类型转换成date类型的转换通过struts2在页面显示
2010-09-20 17:05 1247由于数据库里面的时间类型统一的为long类型,但是到页面取值的 ... -
何时使用转发,何时使用重定向
2010-09-19 12:45 1651转发:两个jsp共享一个request请求 重定向:放弃当前r ... -
struts标签的使用总结
2010-09-17 21:01 691总结了好久才做到了 自己想要的标签使用方法,具体看代码 ... -
jsp页面导入外部文件的3种方法
2010-09-15 13:27 1779第一种: jsp 的include指令引入外部文件 <% ... -
WARN - Got result of null when trying to get Boolean.
2010-09-12 18:50 1749今天,真倒霉给注册页面添加框架验证结果却是 WARN - G ... -
Struts2内建拦截器的简要介绍
2010-09-07 19:14 921Struts2内建拦截器的简要介绍 ali ... -
struts2自定类型转换器
2010-09-04 14:28 731类型转换 a.自定类型转换器 ... -
taglib引入struts标签的使用
2010-09-03 21:01 1420<%@ page language="java ... -
struts2中ognl表达式的理解和用法
2010-09-03 19:40 1344ognl表达式的使用如下面的例子: 总的来说,就是 actio ... -
熟悉Struts2的配置文件
2010-09-03 19:28 628熟悉Struts2的配置文件 a.内置配置文件 s ... -
struts2国际化配置(+页面下拉修改)
2010-09-03 19:01 1357可以用struts.xml或struts.properties ... -
深入Struts2的配置文件
2010-09-03 13:53 1185struts.xml文件中每个元素的含义. 1) Bean ... -
初步理解和使用Struts2拦截器的原理与实现
2010-09-02 11:23 1224一、理解Struts2拦截器 1. Struts2拦截器是在 ... -
The Struts dispatcher cannot be found
2010-09-02 09:42 986The Struts dispatcher cannot be ... -
struts2.0笔记(1)
2010-08-30 19:51 672了解Struts2发展历程及其特点 a.支持 ... -
两种方式修改struts2的访问路径以.do为结尾的方式
2010-08-30 19:24 1417struts2的核心包中找到:org.apache.strut ... -
帮你彻底解决eclipse(myeclipse)中写struts.xml配置文件时,没有提示功能的烦恼
2010-08-30 18:30 2252其实,在自己写struts.xml ... -
struts2基本配置(基本一个登陆)
2010-08-30 17:55 928一、导struts2的包几个包 1.struts2-c ...
相关推荐
我们已在前面学习了Servlet 数据库应用,有了JSP、Servlet 、JDBC的一些知识、理解和...2. Struts2基本流程 3. 了解核心控制器FilterDispatcher及在web.xml中的配置 4. 了解业务控制器Action及在struts.xml中的配置
在深入探讨Struts2的工作流程之前,我们先了解一下MVC模式的基本概念。MVC模式将应用逻辑分隔为三个部分:模型(Model)处理业务逻辑,视图(View)负责展示数据,控制器(Controller)协调用户输入和模型间的交互。...
这张流程图 深刻的描述了 struts2的执行流程 帮助了解Struts2
在深入理解Struts2的工作流程之前,我们需要先了解一些基本概念。 1. **MVC模式**: MVC模式将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller)。模型负责业务逻辑,视图负责显示...
总的来说,"struts2开发基本包"是一个集成了Struts2框架核心组件及必需依赖的集合,是开始Struts2开发的起点。下载并使用这个基本包,开发者能够搭建起一个基本的Struts2环境,进而进行Web应用的开发。
以上就是Struts2的基本运行流程。理解这一流程有助于开发者更好地设计和调试应用,确保系统的高效运行。在实际开发中,还需要结合具体的业务需求和最佳实践,对Struts2的配置和拦截器进行定制,以满足项目的需求。
Struts2是一个流行的Java Web框架,它简化了MVC...以上就是Struts2的基本开发流程,实际开发中可能还需要考虑国际化、异常处理、安全配置等更多细节。理解并熟练掌握这个流程对于构建健壮的Struts2应用程序至关重要。
在Java Web开发中,Struts2被广泛用于构建企业级应用,提供了强大的控制层,使得开发者能够更有效地管理请求和响应流程。Struts2.2.3的"需要11个基本包"是指为了成功地配置和运行Struts2框架,开发者通常需要引入一...
Struts2的设计理念和工作流程与WebWork框架相似,可以认为Struts2是对WebWork的升级和扩展,吸收了WebWork的优点,同时改进了Struts1的一些不足,如更简洁的配置和更强大的动作映射。 8. **集成其他框架**: ...
总之,"Struts2详细分类流程API文档"涵盖了Struts2框架的核心流程和API,包括Action、Interceptor、Result的使用,以及Struts2标签库和OGNL等重要概念。开发者可以通过这份文档深入理解Struts2的工作原理,提高开发...
下面将从 Struts2 项目开发的角度,详细介绍 Struts2 框架的应用、开发流程、技术架构、实践经验等方面的知识点。 项目需求分析 在 Struts2 项目开发中,需求分析是非常重要的一步。通过对项目的需求分析,可以...
Struts1.2 是一款经典的Java Web开发框架,它的核心在于提供了一种MVC(Model-View-Controller)架构模式的实现。以下是Struts1.2的基本控制流程...通过以上详细阐述,相信你已经对Struts1.2的基本流程有了清晰的认识。
- **Hello Struts2**:通过创建一个简单的“Hello World”示例,帮助开发者快速上手Struts2的基本配置和运行流程。 - **Action类详解**:Action类是Struts2的核心组件之一,负责处理用户的请求并返回相应的结果。...
Struts2是一个基于MVC(Model-View-Controller)设计模式的Java web框架,它极大地简化了Java web应用的开发工作。...但是,这些基本的库是搭建Struts2框架的基石,确保了应用的基本功能和流程能够正确执行。
这是一个struts2框架的处理流程的demo,里面有struts2基本的配置和模拟登录的例子,以及struts2前台后后台的数据交互方式的解释,代码中有完整的注释帮助理解struts2的基本流程,同时对jstl和struts2的标签也有一定...
这个“struts2小程序”很可能是开发者利用Struts2框架开发的一个小型项目,可能包含了基本的CRUD操作或其他特定功能。在描述中提到花费了3小时搭建,暗示这可能是一个简单的入门示例,用于学习或教学目的。 Struts2...
这个"留言板留言板struts2"项目,显然是一个基于Struts2实现的简单留言板系统,旨在展示Struts2的核心功能和开发流程。下面将详细介绍Struts2框架以及在该项目中可能涉及的关键知识点。 1. **Struts2框架概述**:...
Struts1虽然历史悠久,但其配置繁琐,而Struts2通过OGNL和拦截器等特性大大简化了开发流程。Spring MVC虽然同样强大,但在轻量级和简洁性上可能略逊于Struts2,但对于大型企业级应用,Spring的整体生态和丰富的功能...
- **请求处理流程**:当用户提交表单后,Struts2会根据配置找到对应的Action处理请求,并调用该Action中的`execute()`方法(或指定的方法)。处理完毕后,根据返回的结果名称跳转到相应的视图页面。 综上所述,...