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 ...
随机推荐
- sqoop导出mysql数据进入hive错误
看mr的运行显示:sqoop job可以获得的select max(xxx)结果,但是当mr开始时却显示大片错误,就是连接超时,和连接重置等问题, 最后去每个节点ping mysql的ip地址,发现 ...
- 第11章 拾遗4:IPv6(3)_配置IPv6路由
5. 配置IPv6路由 5.1 配置IPv6静态路由 (1)在路由器上配置静态路由(以R1路由器为例) //静态路由 R1#config t R1(config)#ipv6 unicast-routi ...
- Windows Server 2012R2 网络地址转换NAT
一.NAT概述 网络地址转换NAT(Network Address Translation)可以动态改变通过路由器的IP报文的内容(修改报文的源IP地址和/或目的IP地址).离开路由器的报文的源地址或 ...
- solr 忽略大小写
1.types标签下加入如下fieldType <fieldType name="str_lower" class="solr.TextField" so ...
- oracle start with connect by prior 递归查询用法
start with 子句:遍历起始条件,有个小技巧,如果要查父结点,这里可以用子结点的列,反之亦然. connect by 子句:连接条件.关键词prior,prior跟父节点列parentid放在 ...
- svn下copy项目后定位到新资源库,产生不同版本号的方法
转载于http://blog.csdn.net/u012990533/article/details/44776465 最近这两天,公司要做国际化的开发,本打算要用struts2内置的i18n拦截器做 ...
- 五大排序算法(Python)
冒泡排序 冒泡排序通常是在CS入门课程中教的,因为它清楚地演示了排序是如何工作的,同时又简单易懂.冒泡排序步骤遍历列表并比较相邻的元素对.如果元素顺序错误,则交换它们.重复遍历列表未排序部分的元素,直 ...
- (转)SVN搭建(附下载地址)
原文地址:http://blog.csdn.net/jiminull/article/details/7763795 一.SVN服务端 1.VisualSVN Server下载: http://dow ...
- Windows2008R2安装Exchange 2010前必须要做的准备工作
由于WindowsServer2008R2已经包含了KB979099.KB982867.KB979744.KB983440.KB977020这些补丁的内容,所以无须另外下载安装. 详见https:// ...
- 18.Mysql搜索引擎及其区别
这是面试中的问题:当时也是没有直接回答出来,还是因为基础知识不扎实. 一般Mysql常用的搜索引擎有:ISAM.MylSAM.HEAP.InnoDB.Berkley(BDB) ISAM:执行读取操作的 ...