18.struts-执行流程.md
目录
1.流程
- 在核心类中,加载了struts的过滤器。具体的加载配置在struts-default.xml中。
- 用户定于的struts.xml就是继承了这个文件
2.bean节点
bean节点定义了struts在创建时候的对象类型
3.package节点
result-type
在result-type中定义了跳转类型
- dispatcher:转发,不指定的情况下是默认
- redirect:重定向
- redirectAction:重定向到action
- stream:文件下载时候使用
拦截器
概念
- 总共定义了32个拦截器
- 为了使用方便,通过定义栈的方式来定义使用的拦截器:
<default-interceptor-ref name="defaultStack"/>——》指向<interceptor-stack name="defaultStack">——》指向需要的拦截器在interceptors下
- 在defaultStack下定义了18个默认拦截器
拦截器和过滤器的异同:
- 过滤器:所有资源都可以用,对于struts和servlet都可以用
- 拦截器:只能过滤action请求,struts的专用概念
问题:拦截器什么时候执行,action类和拦截器的执行顺序
先执行action类的创建->在执行拦截器->拦截器执行完成后->执行任务
4.常见问题
在xml中配置没有默认代码助手提示?
- 必须有引用头
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
其中的"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"和"http://struts.apache.org/dtds/struts-2.3.dtd"相当于键与值的关系。
- 离线方法:
- 不能提示是因为没有dtd文件。
- 在源码中找到struts-2.3.dtd文件拷贝到一个没有中文的目录下
- 在windows->preference->搜索xml catalog->配置
Location:配置dtd目录
Key:填写刚才的目录
*在线方法:
*连网会自动下载
18.struts-执行流程.md的更多相关文章
- struts -执行流程
When a client request is given, a web container will receive request Web container loads web.xml and ...
- Struts框架之 执行流程 struts.xml 配置详细
1.执行流程 服务器启动: 1. 加载项目web.xml 2. 创建Struts核心过滤器对象, 执行filter → init() struts-default.xml, 核心功能的初 ...
- Struts2第二篇【开发步骤、执行流程、struts.xml讲解、defalut-struts讲解】
前言 我们现在学习的是Struts2,其实Struts1和Struts2在技术上是没有很大的关联的.Struts2其实基于Web Work框架的,只不过它的推广没有Struts1好,因此就拿着Stru ...
- Struts 2 执行流程 配置信息
Struts 2 执行流程 首先,浏览器访问,经过Filter,Filter从src/struts.xml中寻找命名空间和action的名字,获取action类,从方法中拿到返回值,接着从result ...
- Struts框架的执行流程或原理
Struts2的执行流程如下: 1.浏览器发送请求,经过一系列的过滤器,到达StrutsPreapareAndExecteFilter 2.StrutsPrepareAndExectueFilter通 ...
- SpringMVC--从理解SpringMVC执行流程到SSM框架整合
前言 SpringMVC框架是SSM框架中继Spring另一个重要的框架,那么什么是SpringMVC,如何用SpringMVC来整合SSM框架呢?下面让我们详细的了解一下. 注:在学习SpringM ...
- 从源码角度看finish()方法的执行流程
1. finish()方法概览 首先我们来看一下finish方法的无参版本的定义: /** * Call this when your activity is done and should be c ...
- Servlet、Struts2、SpringMVC执行流程
Servlet 有以下四个阶段: 1.加载和实例化 Servlet容器负责加载和实例化Servlet. 当Servlet容器启动时,或者在容器检测到需要这个Servlet来响应第一个请求时,创建Ser ...
- 从 mian 函数开始一步一步分析 nginx 执行流程(二)
如不做特殊说明,本博客所使用的 nginx 源码版本是 1.0.14,[] 中是代码所在的文件! 上一个博客中我们将 main 函数执行流程分析完,到最后一步调用 ngx_master_process ...
随机推荐
- ubuntu14.04安装telnet
1.首先查看telnet运行状态 netstat -a | grep telnet 输出为空,表示没有开启该服务 2.安装openbsd-inetd apt-get install openbsd-i ...
- 4G模块*99#拨号上网
操作系统:win10 模块型号:quectel EC20 CE FAG 4G模块拨号步骤如下: 1. 打开网络和internet设置 2. 选择“拨号” 3. 选择“设置新连接” 4. 选择“拨号调至 ...
- 第9章 应用层(2)_动态主机配置协议(DHCP)
2. 动态主机配置协议(DHCP) 2.1 静态地址和动态地址的应用场景 (1)静态地址应用场景 ①IP地址不经常更改的设备(如服务器地址) ②使用有规律的IP地址以便于管理(如学校机房为方便教师管理 ...
- 第8章 传输层(7)_TCP连接管理
7. TCP连接管理 7.1 TCP的连接建立 (1)三次握手 ①三次握手过程 A.第1.2次握手,数据包的SYN均为1,表示用于同步.即第1次客户端发起请求,并将自己的连接参数(如接收窗口大小.MS ...
- C# 委托在线程与UI界面之间的应用
前景:我们在使用线程的时候,经常会想要访问到Form窗体的控件,也就是线程与UI界面交互,但是他们隶属于连个不同的线程,所以是不能直接访问的,这个时候我们就可以通过委托来实现.打个比方,你想要给远方的 ...
- windows模拟linux部分功能
--------------------------------------------分割线----------------------------------------------- 系统 wi ...
- NoSQL学习1
MongoDB使用C++语言编写的一个基于分布式的文件存储的开源数据库.可以在承受高负载的情况下,保证服务器的性能. MongoDB将数据存储成为一个文档,数据结构有键值对组成.类似于JSON,字段值 ...
- iOS 第三方应用调用safari
一,直接调用safari打开url [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www. ...
- 20.多线程.join()和setDaemon()的使用
1.join()方法 join ()方法:主线程A中,创建了子线程B,并且在主线程A中调用了B.join(),那么,主线程A会在调用的地方等待,直到子线程B完成操作后,才可以接着往下执行,那么在调用这 ...
- 插件:★★★ !!!图片懒加载 lazyload.js 、 jquery.scrollLoading.js
插件:图片懒加载 jquery.lazyload.js 2016-3-31 插件说明:http://www.w3cways.com/1765.html (小插件,好用) 下载地址: https://r ...