Struts2相关问题

简介:Struts2是一个轻量级的典型的MVC框架。

工作流程:

1、客户端请求一个HttpServletRequest的请求,如在浏览器中输入http://localhost: 8080/bookcode/Reg.action就是提交一个(HttpServletRequest)请求。

2、这个请求经过一系列的过滤器(Filter)如(ActionContextCleanUp、其他过滤器(SiteMesh等)、FilterDispatcher)。注意:这里是有顺序的,先ActionContext CleanUp,再其他过滤器(Othter Filters、SiteMesh等),最后到FilterDispatcher。

FilterDispatcher是控制器的核心,就是MVC的Struts 2实现中控制层(Controller)的核心。

3、FilterDispatcher询问ActionMapper是否需要调用某个Action来处理这个(HttpServlet Request)请求,如果ActionMapper决定需要调用某个Action,FilterDispatcher则把请求的处理交给ActionProxy

4、ActionProxy通过Configuration Manager(struts.xml)询问框架的配置文件,找到需要调用的Action类。例如,用户注册示例将找到UserReg类

5、ActionProxy创建一个ActionInvocation实例,同时ActionInvocation通过代理模式调用Action。但在调用之前,ActionInvocation会根据配置加载Action相关的所有Interceptor(拦截器)

6、 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果result

7、最后通过HTTPServletResponse返回客户端一个响应。

拦截器:是一种AOP的思想。所有的请求都会到达filterDispatcher,如果访问action之前存在拦截器,则先走拦截器,然后在走action,先进后出。

ognl(object graph navigation language):对象图导航语言,是Struts2的核心标签库。

Struts1和Struts2的区别

Struts1是基于jsp和servlet的MVC框架。

Struts2是基于对象的MVC框架,且具有自己的标签库,还可以使用jstl标签库,拦截器库等,前身是webwork,跟Struts1没有关系。

时间: 2024-08-09 20:14:10

Struts2相关问题的相关文章

MyEclipse 8.6 自带的 struts1、struts2 相关类库(jar 包)在哪?请看本文!

[作者]:梨多情 -- 博客园 2014-10-31 < 尊重作者劳动成果 -- 转载请注明出处 !!!> [原文链接]:http://www.cnblogs.com/lsl-jobs/p/4065944.html MyEclipse 8.6 安装根目录为 Genuitec . 可以在 Genuitec 目录下搜索 “完整或部分文件名” 文本框中,输入“struts” ,点击“搜索” . 搜索结果: com.genuitec.eclipse.struts2_8.6.1.me2010111718

Struts2相关注意点

今天开始学习Struts2,有一个小栗子用到了DMI动态方法调用,使用DMI可以减少action的数量简化程序,不用在struts.xml的action中定义method属性.刚开始怎么也不能使用DMI,以为是版本的关系,百度之后才发现是因为struts.xml有一条相关的代码:<constant name="struts.enable.DynamicMethodInvocation" value="false" />即是否开启DMI,只要设置成true

Struts2相关面试题(转)

Struts2面试题 1.struts2工作流程 Struts 2框架本身大致可以分为3个部分: 核心控制器FilterDispatcher.业务控制器Action和用户实现的企业业务逻辑组件. 核心控制器FilterDispatcher是Struts 2框架的基础, 包含了框架内部的控制流程和处理机制. 业务控制器Action和业务逻辑组件是需要用户来自己实现的. 用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件, 供核心控制器FilterDispatcher来使用. St

struts2相关简单介绍

一 Struts2环境配置 1.准备jar包,核心jar包有: 2.创建Struts2项目并导入jar包 3.在Struts2项目中src下创建Struts.xml配置文件 4.在Web.xml文件中配置拦截器 其中:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter来自 二使用 1.Struts自动设值: 1.1必须继承ActionSupport这个类 1.2将你要自动设值得对象进行 get set 1.3

Struts2学习第一天——struts2基本流程与配置

struts2框架 什么是框架,框架有什么用? 框架 是 实现部分功能的代码 (半成品),使用框架简化企业级软件开发 ,提高开发效率. 学习框架 ,清楚的知道框架能做什么? 还有哪些工作需要自己编码实现 ? 什么是struts2框架,它有什么用? Struts 2是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架. 其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大.Struts 2以WebWork为核心 struts2=struts1+

Struts2 源码分析——调结者(Dispatcher)之执行action

章节简言 上一章笔者写关于Dispatcher类如何处理接受来的request请求.当然读者们也知道他并非正真的执行action操作.他只是在执行action操作之前的准备工作.那么谁才是正真的执行action呢?本章笔者就带大家来看看StrutsExecuteFilter类的工作.在理解StrutsExecuteFilter类的工作之前,笔者还是希望大家回顾一下前一章讲到的request请求工作.为什么这样子讲呢?可以说StrutsExecuteFilter类的工作是建立在StrutsPrep

(原)Struts 相关资源下载

官网:http://struts.apache.org 点击[Download],进入页面如下,可以看到下载的资源: 点击[struts-2.3.20-all.zip],就能获取Struts2项目所有的相关资源. Struts2项目的目录结构中主要包含了4个目录:apps.docs.lib 和 src: apps:存放了所有 Struts2 的实例项目 位于 apps 目录下的所有war都是部署到 Web 服务器中直接运行的 Web 应用. 这些 Struts2 的示例项目对学习 Struts2

【SSH2(理论篇)】--Struts2配置详解

上篇博客讨论了SSH2框架模型,在开发过程中发现SSH2的开发模型其实类似于经典的三层模式,在每一层中分别添加了不同的框架,显示层使用的是Struts2进行配置的,业务逻辑层使用的是Spring配置,数据持久层则采用的是Hibernate,开发模式简单易懂,接下来将会分别从三层着手讨论每一层的运行内容. 一.Struts体系简介 struts,是Apache软件基金会(ASF)赞助的一个开源项目,它通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-V

Struts2框架基本使用

时间:2017-1-6 16:53 修改struts.xml配置文件不需要重启服务器. Struts2框架 一.        *   介绍Struts2        *   关于Struts2配置(关于Action配置)        *   关于Struts2结果类型    二.        *   Struts2处理请求参数        *   Struts2的类型转换(了解)        *   Struts2的校验    三.        *   Struts2的国际化