Struts2常见配置(草稿)
Struts2框架配置文件加载的顺序(了解加载配置文件的顺序,重点掌握struts.xml配置文件)
1.Struts2框架的核心是StrutsPrepareAndExecuteFilter过滤器,该过滤器有两个功能
* Prepare -- 预处理,加载核心的配置文件
* Execute -- 执行,让部分拦截器执行
2.目的:要了解Struts2的框架默认加载了哪些配置文件的信息,有一些重点的配置文件的信息要记住。还要了解配置文件加载的顺序。以后需要知道在哪个配置文件中来编写配置文件
2.StrutsPrepareAndExecuteFilter过滤器会加载哪些配置文件呢?
* 通过源代码可以看到具体加载的配置文件和加载配置文件的顺序
* init_DefaultProperties(); // [1] -- 加载org/apache/struts2/default.properties
* init_TraditionalXmlConfigurations(); // [2] -- 加载struts-default.xml,struts-plugin.xml,struts.xml
* init_LegacyStrutsProperties(); // [3] -- 加载自定义的struts.properties.
* init_CustomConfigurationProviders(); // [5] -- 加载用户自定义配置提供者.
* init_FilterInitParameters() ; // [6] -- 加载web.xml
* init_AliasStandardObjects() ; // [7] -- 加载Bean的配置.
3.重点了解的配置文件
* default.properties -- 在org/apache/struts2/目录下,代表的是配置的是Struts2的常量的值
* struts-default.xml -- 在Struts2的核心包下,代表的是Struts2核心功能的配置(Bean、拦截器、结果类型等)
* struts.xml -- 重点中的重点配置,代表WEB应用的默认配置,在工作中,基本就配置它就可以了!!(可以配置常量)
* web.xml -- 配置前端控制器(可以配置常量)
* 注意:
* 前3个配置文件是struts2框架的默认配置文件,基本不用修改。
* 后3个配置文件可以允许自己修改struts2的常量。但是有一个特点:后加载的配置文件修改的常量的值,会覆盖掉前面修改的常量的值。
4.总结(重点掌握的配置文件)
* 先加载default.properties文件,在org/apache/struts2/default.properties文件,都是常量。
* 又加载struts-default.xml配置文件,在核心的jar包最下方,struts2框架的核心功能都是在该配置文件中配置的。
* 再加载struts.xml的配置文件,在src的目录下,代表用户自己配置的配置文件
* 最后加载web.xml的配置文件
* 后加载的配置文件会覆盖掉之前加载的配置文件(在这些配置文件中可以配置常量)
struts.xml配置文件的常见配置(重点掌握开发中常用的配置方式)
1.struts.xml的配置文件是咱们以后开发中最常见的配置,所以它的配置文件需要大家重点掌握!!
* <package>标签,如果要配置<Action>的标签,那么必须要先配置<package>标签,代表的包的概念。
* 包含的属性
* name -- 包的名称,要求是唯一的,管理action配置。
* extends -- 继承,可以继承其他的包,只要继承了,那么该包就包含了其他包的功能,一般都是继承struts-default
* namespace -- 名称空间,一般与<action>标签中的name属性共同决定访问路径(通俗话:怎么来访问action),常见的配置如下
* namespace="" -- 默认的名称空间(访问的方式和namespace="/"是一样的)
* namespace="/" -- 根名称空间
* namespace="/aaa" -- 带有名称的名称空间
* abstract -- 抽象的。这个属性基本很少使用,值如果是true,那么编写的包是被继承的。
* <action>标签
* 代表配置action类,包含的属性
* name -- 和<package>标签的namespace属性一起来决定访问路径的。
* class -- 配置Action类的全路径(默认值是ActionSupport类)
* method -- Action类中执行的方法,如果不指定,默认值是execute.
* <result>标签
* action类中方法执行,返回的结果跳转的页面
* name -- 结果页面逻辑视图名称
* type -- 结果类型(默认值是转发,也可以设置其他的值)
2.Action的默认处理类(了解)
* 如果在<action>标签中,没有指定具体的Action类,那么Struts2的框架中是有默认值的。
* 例如
<action name="delete">
<result>/pages/success.jsp</result>
</action>
* 上面这段配置,没有指定具体的Action类,那么在地址栏上敲链接访问,程序也不会报错,而是会跳转到success.jsp的页面。说明默认的Action类执行了。
* 打开struts-default.xml,在配置文件的最下面,有一段配置
* <default-class-ref class="com.opensymphony.xwork2.ActionSupport" /> 该类就是默认的Action处理类。
3.默认的Action和Action默认的处理类(了解)
* 听名称容易混淆,需要大家区分这一类的问题
* 默认的Action
* 在地址栏上输入一个不存在的action请求,程序会报404的异常。
* 但是在<package>标签中通过<default-action-ref name="指定action的标签的name属性的值"></default-action-ref>来该请求。
* Action默认处理类
* 在地址栏上输入一个正确的action请求,但是<action>标签中的class属性没有写具体的Action类
* 在<package>标签中通过<default-class-ref class="指定action类的全路径"></default-class-ref>
4.package标签中配置文件出现是有顺序的
Struts2配置常量(重点掌握怎么编写常量,了解一些常见的常量)
1.可以在Struts2框架中的哪些配置文件中配置常量?
* struts.xml(必须要掌握,开发中基本上就在该配置文件中编写常量)
* <constant name="key" value="value"></constant>
* web.xml
* 在StrutsPrepareAndExecuteFilter配置文件中配置初始化参数
* 注意:后加载的配置的文件的常量会覆盖之前加载的常量!!!!
2.需要大家了解的常量
* struts.i18n.encoding=UTF-8 -- 指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法
* struts.action.extension=action,, -- 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理。如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开
* struts.serve.static.browserCache=true -- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭
* struts.configuration.xml.reload=false -- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开
* struts.devMode = false -- 开发模式下使用,这样可以打印出更详细的错误信息
指定多个struts的配置文件(了解)
1.在大部分应用里,随着应用规模的增加,系统中Action的数量也会大量增加,导致struts.xml配置文件变得非常臃肿。为了避免struts.xml文件过于庞大、臃肿,提高struts.xml文件的可读性,我们可以将一个struts.xml配置文件分解成多个配置文件,然后在struts.xml文件中包含其他配置文件。
2.可以在<package>标签中,使用<include>标签来引入其他的struts_xx.xml的配置文件。例如:
<struts>
<include file="struts-part1.xml"/>
<include file="struts-part2.xml"/>
</struts>
3.注意注意注意(重要的事情说三遍):<include file="cn/itcast/demo2/struts-part1.xml"/>
Struts2常见配置(草稿)的更多相关文章
- struts2常见配置
<struts> <!--开发模式设置:该属性设置Struts2应用是否使用开发模式.如果设置该属性为true,则可以在应用出错时显示更多.更友好的出错提示.该属性只接受true和f ...
- struts2常见配置解决错误There is no mapped for namespace[/] and action name
我碰到这个错误的原因是我把配置文件名写成了Struts.xml,改成struts.xml就可以了. 在确定struts.xml本身并没有写错的情况下,那么发生错误有可能是路径,配置文件名. 如果实在找 ...
- struts2学习笔记(三)—— struts2的常见配置
一.配置文件的加载顺序 每次从客户端发送请求到服务器都要先经过Struts2的核心过滤器StrutsPrepareAndExecuteFilter,这个过滤器有两个功能:预处理和执行.在预处理中主要就 ...
- Struts2 XML配置详解
struts官网下载地址:http://struts.apache.org/ 1. 深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1. 包配置: S ...
- 深入 Struts2 的配置 - 处理多个请求-处理请求结果-模型驱动-异常机制
转:http://www.java3z.com/cwbwebhome/article/article2/2938.html?id=1631 本部分主要介绍struts.xml的常用配置. 1.1. ...
- Struts2 基本配置
Struts2是一个优秀的MVC框架,也是我比较喜欢用的框架.它个各种配置基本都可以集中在一个xml文档中完成.现在让我们看看如何简单几步实现常用功能. 一.搭建Struts2的开发环境 1)首先是利 ...
- struts2 action配置时 method 省略不写 默认执行方法是父类ActionSuppot中的execute()方法
struts2 action配置时 method 省略不写 默认执行方法是父类ActionSuppot中的execute()方法
- struts2环境配置
struts2环境配置 struts2框架,大多数框架都在使用.由于工作需要,开始做Java项目.先学个struts2. 一.下载struts2 有好多版本,我下载的是struts-2.2.1.1. ...
- 在Struts2中配置Action
在Struts2中配置Action <package>: 1.定义Action使用<package>标签下的<action>标签完成,一个<package&g ...
随机推荐
- AS 阿里巴巴Java开发规约 CheckStyle-IDEA
Alibaba Java Coding Guidelines 简介 github地址:https://github.com/alibaba/p3c 官方文档 阿里巴巴Java开发手册(纪念版) ...
- 利用proguard对java web工程代码混淆
目标: 将代码混淆,也就是给第三方源代码,让他们只能运行,却看不懂代码. 用到的工具: 混淆jar的工具:proguard5.1 下载地址:http://download.csdn.net/detai ...
- C#将数据集DataSet中的数据导出到EXCEL文件的几种方法
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.W ...
- Laravel 5 中使用 JWT(Json Web Token) 实现基于API的用户认证
在JavaScript前端技术大行其道的今天,我们通常只需在后台构建API提供给前端调用,并且后端仅仅设计为给前端移动App调用.用户认证是Web应用的重要组成部分,基于API的用户认证有两个最佳解决 ...
- ios 内存管理总结
在ios 中 项目有两个内存管理方式 第一种,arc 方式,编译器编译时,自动给obj 加上 release 实现要求 1. 设置项目 将 Objective-C Automatic Referen ...
- Sql Server重复数据删除
--在sql2005下可以 ,sql2000不可以 create table tb(id int,name varchar(4))insert tb select 1,'aa'union all s ...
- easyui form load 数据表单有下拉框
(function () { $('#text1').combobox({ url: 'http://localhost:5463/test/getComboJson' }) $('#text2'). ...
- Android MarsDaemon实现进程及Service常驻
前段时间.就讨论过关于怎样让Service常驻于内存而不被杀死,最后的结论就是使用JNI实现守护进程,可是不得不说的是,在没有改动系统源代码的情况下,想真正实现杀不死服务,是一件非常难的事情.眼下除了 ...
- 报错信息:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
用Eclipse创建jsp页面时,提示这个错误 解决的方法是:右键项目,Build Path->Configure Build Path Add Library Server Runtime,这 ...
- 1004: 不明飞行物(ufo)
#include <iostream> #include <iomanip> #include <cstdlib> #include <string> ...