目录

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的更多相关文章

  1. struts -执行流程

    When a client request is given, a web container will receive request Web container loads web.xml and ...

  2. Struts框架之 执行流程 struts.xml 配置详细

    1.执行流程 服务器启动: 1. 加载项目web.xml 2. 创建Struts核心过滤器对象, 执行filter  →  init()   struts-default.xml,    核心功能的初 ...

  3. Struts2第二篇【开发步骤、执行流程、struts.xml讲解、defalut-struts讲解】

    前言 我们现在学习的是Struts2,其实Struts1和Struts2在技术上是没有很大的关联的.Struts2其实基于Web Work框架的,只不过它的推广没有Struts1好,因此就拿着Stru ...

  4. Struts 2 执行流程 配置信息

    Struts 2 执行流程 首先,浏览器访问,经过Filter,Filter从src/struts.xml中寻找命名空间和action的名字,获取action类,从方法中拿到返回值,接着从result ...

  5. Struts框架的执行流程或原理

    Struts2的执行流程如下: 1.浏览器发送请求,经过一系列的过滤器,到达StrutsPreapareAndExecteFilter 2.StrutsPrepareAndExectueFilter通 ...

  6. SpringMVC--从理解SpringMVC执行流程到SSM框架整合

    前言 SpringMVC框架是SSM框架中继Spring另一个重要的框架,那么什么是SpringMVC,如何用SpringMVC来整合SSM框架呢?下面让我们详细的了解一下. 注:在学习SpringM ...

  7. 从源码角度看finish()方法的执行流程

    1. finish()方法概览 首先我们来看一下finish方法的无参版本的定义: /** * Call this when your activity is done and should be c ...

  8. Servlet、Struts2、SpringMVC执行流程

    Servlet 有以下四个阶段: 1.加载和实例化 Servlet容器负责加载和实例化Servlet. 当Servlet容器启动时,或者在容器检测到需要这个Servlet来响应第一个请求时,创建Ser ...

  9. 从 mian 函数开始一步一步分析 nginx 执行流程(二)

    如不做特殊说明,本博客所使用的 nginx 源码版本是 1.0.14,[] 中是代码所在的文件! 上一个博客中我们将 main 函数执行流程分析完,到最后一步调用 ngx_master_process ...

随机推荐

  1. a++ 与 ++a 的运算

    var a=5: b=a++和b=++a的区别: 前者是先赋值,再自加,即b=a:a=a+1: //结果b=5,a=6 后者是先自加,再赋值,即a=a+1;b=a;  //结果a=6,b=6

  2. Jupyter配置步骤

    Jupyter是基于浏览器的可交互式开发工具,在数据科学界非常受欢迎,它功能齐全,使用方便,是一款数据分析和建模挖掘的利器. 本文简介Jupyter的配置和使用过程 一.修改添加国内镜像 通常我会先安 ...

  3. SerializeHelper

    using System; using System.Collections.Generic; using System.Configuration; using System.IO; using S ...

  4. tomcat简单使用(一)

    先来说一说tomcat的使用 官网下载tomcat:tomcat,我的百度云上的:tomcat Tomcat分为安装版和解压版:安装版:一台电脑上只能安装一个Tomcat:解压版:无需安装,解压即可用 ...

  5. Java基础方面

    1.作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域        当前类     同一package       子孙类     其他package ...

  6. PHP:引用Phpword导出数据到word文档

    下载地址https://www.cnwenhui.cn/html/show-597.html(其中有中文使用手册可以下载看看) 1.首先要下载Phpword类库,放在如下图目录下 2.调用方法 pub ...

  7. CF235C Cyclical Quest(SAM)

    /* 统计串的出现次数显然可以在自动机上匹配出来即可 但是每次都挨个匹配的话会时间爆炸 那么考虑我们把串复制一份, 然后一起在后缀自动机上跑, 当我们匹配长度大于该串长度的时候强行失配即可 可能会有旋 ...

  8. 傅立叶变换系列(五)快速傅立叶变换(FFT)

    说明: 傅里叶级数.傅里叶变换.离散傅里叶变换.短时傅里叶变换...这些理解和应用都非常难,网上的文章有两个极端:“Esay”  Or  “Boring”!如果单独看一两篇文章就弄懂傅里叶,那说明你真 ...

  9. jvm 内存分配 (转)

    深入理解JVM—JVM内存模型  http://www.cnblogs.com/dingyingsi/p/3760447.html 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区 ...

  10. concurrent.futures模块 -----进程池 ---线程池 ---回调

    concurrent.futures模块提供了高度封装的异步调用接口,它内部有关的两个池 ThreadPoolExecutor:线程池,提供异步调用,其基础就是老版的Pool ProcessPoolE ...