当前位置:文档之家› web.xml文件详解

web.xml文件详解

web.xml文件详解
web.xml文件详解

可以看出,web.xml 的加载顺序是:context-param -> listener -> filter -> servlet ,而同个类型之间的实际程序调用的时候的顺序是根据对应的mapping 的顺序进行调用的。

在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰。

首先可以肯定的是,加载顺序与它们在web.xml 文件中的先后顺序无关。即不会因为filter 写在listener 的前面而会先加载filter。最终得出的结论是:listener -> filter -> servlet

同时还存在着这样一种配置节:context-param,它用于向ServletContext 提供键值对,即应用程序上下文信息。我们的listener, filter 等在初始化时会用到这些上下文中的信息,那么context-param 配置节是不是应该写在listener 配置节前呢?实际上context-param 配置节可写在任意位置,因此真正的加载顺序为:context-param -> listener -> filter -> servlet

对于某类配置节而言,与它们出现的顺序是有关的。以filter 为例,web.xml 中当然可以定义多个filter,与filter 相关的一个配置节是filter-mapping,这里一定要注意,对于拥有相同filter-name 的filter 和filter-mapping 配置节而言,filter-mapping 必须出现在filter 之后,否则当解析到filter-mapping 时,它所对应的filter-name 还未定义。web 容器启动时初始化每个filter 时,是按照filter 配置节出现的顺序来初始化的,当请求资源匹配多个filter-mapping 时,filter 拦截资源是按照filter-mapping 配置节出现的顺序来依次调用doFilter() 方法的。

servlet 同filter 类似,此处不再赘述。

由此,可以看出,web.xml 的加载顺序是:context-param -> listener -> filter -> servlet ,而同个类型之间的实际程序调用的时候的顺序是根据对应的mapping 的顺序进行调用的。

web.xml文件详解

Xml代码

Web.xml常用元素

定义了WEB应用的名字

声明WEB应用的描述信息

context-param元素声明应用范围内的初始化参数。

过滤器元素将一个名字与一个实现javax.servlet.Filter接口的类相关联。

一旦命名了一个过滤器,就要利用filter- mapping元素把它与一个或多个servlet或JSP页面相关联。

servlet API的版本2.3增加了对事件监听程序的支持,事件监听程序在

建立、修改和删除会话或servlet环境时得到通知。

Listener元素指出事件监听程序类。

在向servlet或JSP页面制定初始化参数或定制URL时,必须首先命名servlet或JSP页面。Servlet元素就是用来完成此项任务的。

服务器一般为servlet提供一个缺省的URL:http://host/webAppPrefix/servlet/ServletName。

但是,常常会更改这个URL,以便servlet可以访问初始化参数或更容易地处理相对URL。在更改缺省URL时,使用servlet-mapping元素。

如果某个会话在一定时间内未被访问,服务器可以抛弃它以节省内存。

可通过使用HttpSession的setMaxInactiveInterval方法明确设置单个会话对象的超时值,或者可利用session-config元素制定缺省超时值。

如果Web应用具有想到特殊的文件,希望能保证给他们分配特定的MIME类型,则mime-mapping元素提供这种保证。

指示服务器在收到引用一个目录名而不是文件名的URL 时,使用哪个文件。

在返回特定HTTP状态代码时,或者特定类型的异常被抛出时,能够制定将要显示的页面。

对标记库描述符文件(Tag Libraryu Descriptor file)指定别名。此功能使你能够更改TLD文件的位置,

而不用编辑使用这些文件的JSP页面。

声明与资源相关的一个管理对象。

声明一个资源工厂使用的外部资源。

制定应该保护的URL。它与login-config 元素联合使用

指定服务器应该怎样给试图访问受保护页面的用户授权。它与sercurity-constraint元素联合使用。

给出安全角色的一个列表,这些角色将出现在servlet元素内的security-role-ref元素

的role-name子元素中。分别地声明角色可使高级IDE处理安全信息更为容易。

声明Web应用的环境项。

声明一个EJB的主目录的引用。

< ejb-local-ref>声明一个EJB的本地主目录的应用。

相应元素配置

1、Web应用图标:指出IDE和GUI工具用来表示Web应用的大图标和小图标

/images/app_small.gif

/images/app_large.gif

2、Web 应用名称:提供GUI工具可能会用来标记这个特定的Web应用的一个名称Tomcat Example

3、Web 应用描述:给出于此相关的说明性文本

Tomcat Example servlets and JSP pages.

4、上下文参数:声明应用范围内的初始化参数。

ContextParameter

test

It is a test parameter.

在servlet里面可以通过getServletContext().getInitParameter("context/param")得到

5、过滤器配置:将一个名字与一个实现javaxs.servlet.Filter接口的类相关联。

setCharacterEncoding

com.myTest.setCharacterEncodingFilter

encoding

GB2312

setCharacterEncoding

/*

6、监听器配置

listener.SessionListener

7、Servlet配置

基本配置

snoop

SnoopServlet

snoop

/snoop

高级配置

snoop

SnoopServlet

foo

bar

Security role for anonymous access

tomcat

snoop

/snoop

元素说明

用来声明一个servlet的数据,主要有以下子元素:

指定servlet的名称

指定servlet的类名称

指定web站台中的某个JSP网页的完整路径

用来定义参数,可有多个init-param。在servlet类中通过getInitParamenter(String name)方法访问初始化参数

指定当Web应用启动时,装载Servlet的次序。

当值为正数或零时:Servlet容器先加载数值小的servlet,再依次加载其他数值大的servlet.

当值为负或未定义:Servlet容器将在Web客户首次访问这个servlet时加载它

用来定义servlet所对应的URL,包含两个子元素

指定servlet的名称

指定servlet所对应的URL

8、会话超时配置(单位为分钟)

120

9、MIME类型配置

htm

text/html

10、指定欢迎文件页配置

index.jsp

index.html

index.htm

11、配置错误页面

一、通过错误码来配置error-page

404

/NotFound.jsp

上面配置了当系统发生404错误时,跳转到错误处理页面NotFound.jsp。

二、通过异常的类型配置error-page

https://www.doczj.com/doc/621288771.html,ng.NullException

/error.jsp

上面配置了当系统发生https://www.doczj.com/doc/621288771.html,ng.NullException(即空指针异常)时,跳转到错误处理页面error.jsp

12、TLD配置

https://www.doczj.com/doc/621288771.html,/tomcat/debug-taglib

/WEB-INF/jsp/debug-taglib.tld

如果MyEclipse一直在报错,应该把 放到

https://www.doczj.com/doc/621288771.html,/tomcat/debug-taglib

/WEB-INF/pager-taglib.tld

13、资源管理对象配置

jms/StockQueue

14、资源工厂配置

mail/Session

javax.mail.Session

Container

配置数据库连接池就可在此配置:

JNDI JDBC DataSource of shop

jdbc/sample_db

javax.sql.DataSource

Container

15、安全限制配置

Example Security Constraint

Protected Area

/jsp/security/protected/*

DELETE

GET

POST

PUT

tomcat

role1

16、登陆验证配置

FORM

Example-Based Authentiation Area

/jsp/security/protected/login.jsp

/jsp/security/protected/error.jsp

17、安全角色:security-role元素给出安全角色的一个列表,这些角色将出现在servlet元素内的security-role-ref元素的role-name子元素中。

分别地声明角色可使高级IDE处理安全信息更为容易。

tomcat

18、Web环境参数:env-entry元素声明Web应用的环境项

minExemptions

1

https://www.doczj.com/doc/621288771.html,ng.Integer

19、EJB 声明

Example EJB reference

ejb/Account

Entity

com.mycompany.mypackage.AccountHome

com.mycompany.mypackage.Account

20、本地EJB声明

Example Loacal EJB reference

ejb/ProcessOrder

Session

com.mycompany.mypackage.ProcessOrderHome com.mycompany.mypackage.ProcessOrder

21、配置DWR

dwr-invoker

uk.ltd.getahead.dwr.DWRServlet

dwr-invoker

/dwr/*

22、配置Struts

Struts Blank Application

action

org.apache.struts.action.ActionServlet

detail

2

debug

2

config

/WEB-INF/struts-config.xml

application

ApplicationResources

2

action

*.do

index.jsp

struts-bean

/WEB-INF/tld/struts-bean.tld

struts-html

/WEB-INF/tld/struts-html.tld

struts-nested

/WEB-INF/tld/struts-nested.tld

struts-logic

/WEB-INF/tld/struts-logic.tld

struts-tiles

/WEB-INF/tld/struts-tiles.tld

23、配置Spring(基本上都是在Struts中配置的)

contextConfigLocation

/WEB-INF/applicationContext.xml, /WEB-INF/action-servlet.xml

org.springframework.web.context.ContextLoaderListener

org.springframework.web.context.request.RequestContextListener

setMaxInactiveInterval和session-config的比较:

1、setMaxInactiveInterval的优先级高,如果setMaxInactiveInterval没有设置,则默认是session-config中设置的时间。

2、setMaxInactiveInterval设置的是当前会话的失效时间,不是整个web服务的。

3、setMaxInactiveInterval的参数是秒,session-config当中配置的session-timeout是分钟。

Source Insight用法精细

Source Insight实质上是一个支持多种开发语言(java,c ,c 等等) 的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,常被我 们当成源代码阅读工具使用。 作为一个开放源代码的操作系统,Linux附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会,特别是Linux内核的组织极为复杂,同时,又不能像windows平台的程序一样,可以使用集成开发环境通过察看变量和函数,甚至设置断点、单步运行、调试等手段来弄清楚整个程序的组织结构,使得Linux内核源代码的阅读变得尤为困难。 当然Linux下的vim和emacs编辑程序并不是没有提供变量、函数搜索,彩色显示程序语句等功能。它们的功能是非常强大的。比如,vim和emacs就各自内嵌了一个标记程序,分别叫做ctag和etag,通过配置这两个程序,也可以实现功能强大的函数变量搜索功能,但是由于其配置复杂,linux附带的有关资料也不是很详细,而且,即使建立好标记库,要实现代码彩色显示功能,仍然需要进一步的配置(在另一片文章,我将会讲述如何配置这些功能),同时,对于大多数爱好者来说,可能还不能熟练使用vim和emacs那些功能比较强大的命令和快捷键。 为了方便的学习Linux源程序,我们不妨回到我们熟悉的window环境下,也算是“师以长夷以制夷”吧。但是在Window平台上,使用一些常见的集成开发环境,效果也不是很理想,比如难以将所有的文件加进去,查找速度缓慢,对于非Windows平台的函数不能彩色显示。于是笔者通过在互联网上搜索,终于找到了一个强大的源代码编辑器,它的卓越性能使得学习Linux内核源代码的难度大大降低,这便是Source Insight3.0,它是一个Windows平台下的共享软件,可以从https://www.doczj.com/doc/621288771.html,/上边下载30天试用版本。由于Source Insight是一个Windows平台的应用软件,所以首先要通过相应手段把Linux系统上的程序源代码弄到Windows平台下,这一点可以通过在linux平台上将 /usr/src目录下的文件拷贝到Windows平台的分区上,或者从网上光盘直接拷贝文件到Windows平台的分区来实现。 下面主要讲解如何使用Source Insight,考虑到阅读源程序的爱好者都有相当的软件使用水平,本文对于一些琐碎、人所共知的细节略过不提,仅介绍一些主要内容,以便大家能够很快熟练使用本软件,减少摸索的过程。 安装Source Insight并启动程序,可以进入图1界面。在工具条上有几个值得注意的地方,如图所示,图中内凹左边的是工程按钮,用于显示工程窗口的情况;右边的那个按钮按下去将会显示一个窗口,里边提供光标所在的函数体内对其他函数的调用图,通过点击该窗体里那些函数就可以进入该函数所在的地方。

软件系统详细设计说明书文档模板

1概述 2约定说明 3开发环境与源程序文件结构说明(所有人) 3.1 开发环境 EJB服务器: web服务器: 数据库服务器:sql server 2000 客户端配置: 开发工具: 3.2 源代码文件结构 3.2.1源文件说明

3.2.2源程序类文件 3.2.3图片文件 3.2.4系统配置文件 4系统管理模块详细设计说明(邱亚斌)4.1 系统登陆设计 4.2 组织机构管理 4.3 初始信息维护 4.4 日志管理 5行政办公模块详细设计说明(邱亚斌)5.1 收文管理 5.2 发文管理 5.3 考勤管理 5.4 常用电话号码簿 6业务管理模块详细设计说明 6.1 通知公告(邱亚斌)

6.2.1功能设计说明 6.2.2业务及数据流程图 6.2.3Xx模块源程序设计 6.2.3.1 J AVABEAN设计 6.2.3.2 J SP页面设计 6.2.3.3 S ERVLET设计 6.2.3.4 其他设计 6.2.4Xx模块数据库功能设计6.2.4.1 数据库关系图 6.2.4.2 数据表结构的设计:

6.3.1功能设计说明 6.3.2业务及数据流程图 6.3.3Xx模块源程序设计 6.3.3.1 J AVABEAN设计 6.3.3.2 J SP页面设计 6.3.3.3 S ERVLET设计 6.3.3.4 其他设计 6.3.4Xx模块数据库功能设计6.3.4.1 数据库关系图 6.3.4.2 数据表结构的设计:

6.4.1功能设计说明 6.4.2业务及数据流程图 6.4.3Xx模块源程序设计 6.4.3.1 J AVABEAN设计 6.4.3.2 J SP页面设计 6.4.3.3 S ERVLET设计 6.4.3.4 其他设计 6.4.4Xx模块数据库功能设计6.4.4.1 数据库关系图 6.4.4.2 数据表结构的设计:

USB INF文件详解(USB)

INF文件详解 INF文件格式要求 一个INF文件是以段组织的简单的文本文件。一些段油系统定义(System-Defined)的名称,而另一些段由INF文件的编写者命名。每个段包含特定的条目和命名,这些命名用于引用INF文件其它地方定义的附加段。 INF文件的语法规则: 1、要求的内容:在特定的INF文件中所要求的必选段和可选段、条目及命令依赖于所要安装的设备组件。端点顺序可以是任意的,大多数的INF文件安装惯用的次序来安排各个段。 2、段名:INF文件的每个段从一个括在方括号[]中的段名开始。段名可以由系统定义或INF编写者定义 在Windows 2000中,段名的最大长度为255个字符。在Windows 98中,段名不应该超过28个字符。如果INF设计要在两个平台上运行,必须遵守最小的限制。段名、条目和命令不分大小写。在一个INF文件中如果有两个以上的段有相同的名字,系统将把其条目和命令合并成一个段。每个段以另一个新段的开始或文件的结束为结束。 3、使用串标记:在INF文件中的许多值,包括INF编写者定义的段名都可以标示成%strkey%形式的标记。每个这样的strkey必须在INF文件的Strings 段中定义为一系列显示可见字符组成的值。 4、行格式、续行及注释:段中的每个条目或命令以回车或换行符结束。在条目或命令中,“\”可以没用做一个显示的续行符;分好“;”标示后面的内容是注释;可以用都好“,”分隔条目和命令中提供的多个值。 INF文件举例 下面是一个完整的.inf文件,它是Windows 2000 DDK提供的USB批量阐述驱动程序范例中所附的.inf文件。 ; Installation inf for the Intel 82930 USB Bulk IO Test Board ; ; (c) Copyright 1999 Microsoft ; [Version] Signature="$CHICAGO$" Class=USB ClassGUID={36FC9E60-C465-11CF-8056-444553540000} provider=%MSFT% DriverVer=08/05/1999 [SourceDisksNames] 1="BulkUsb Installation Disk",,, [SourceDisksFiles] BULKUSB.sys = 1 BULKUSB.inf = 1

软件开发文档说明(又全又详细)

在软件行业有一句话:一个软件能否顺利的完成并且功能是否完善,重要是看这个软件有多少文档,软件开发文档是一个软件的支柱,如果你的开发文档漏洞百出,那么你所开发出来的软件也不可能会好;开发文档的好坏可以直接影响到所开发出来软件的成功与否。 一、软件开发设计文档:软件开发文档包括软件需求说明书、数据要求说有书、概要设计说明书、详细设计说明书。 1.软件需求说明书:也称为软件规格说明。该说明书对所开发软件的功能、性能、用户界面及运行环境等做出详细的说明。它是用户与开发人员双方对软件需求取得共同理解基础上达成的协议,也是实施开发工作的基础。软件需求说明书的编制目的的就是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解、并使之面成为整个开发工作的基础。 其格式要求如下: 1 引言1.1 编写目的。1. 2 背景1. 3 定义 2 任务概述2.1 目标2.2 用户的特点2. 3 假定和约束 3 需求规定3.1 对功能的规定3.2 对性能的规定3.2.1 精度3.2.2 时间特性的需求3.2.3 灵活性3.3 输入输出要求3. 4 数据管理能力要求3. 5 故障处理要求3. 6 其他专门要求 4 运行环境规定4.1 设备4.2 支持软件4.3 接口4.4 控制 2.概要设计说明书:又称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处理。流程、程序系统的组织结构、模块划分、功能分配、接口设计。运河行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。 其格式要求如下: 1 引言1.1 编写目的1. 2 背景1. 3 定义1. 4 参考资料 2 总体设计2.1 需求规定2.2 运行环境2. 3 基本设计概念和处理流程2. 4 结构2. 5 功能需求与程序的关系2. 6 人工处理过程2. 7 尚未解决的问题 3 接口设计3.1 用户接口3.2 外部接口3.。3 内部接口 4 运行设计4.1 运行模块的组合4.2 运行控制4.3 运行时间 5 系统数据结构设计5.1 逻辑结构设计要点5.2 物理结构设计要求5.3 数据结构与程序的关系 6 系统出错处理设计6.1 出错信息6.2 补救措施6.3 系统维护设计。 3.详细设计文档:主要是把我们每个小模块,小功能的业务逻辑处理用文字的方式表达出来,让程序员在编码的时

spring在web.xml中的配置

把如下代码添加到web.xml即可完成spring的基本配置 SetCharacterEncoding org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true SetCharacterEncoding /* contextConfigLocation /WEB-INF/applicationContext.xml, /WEB-INF/action-servlet.xml org.springframework.web.context.ContextLoaderListener

source insight解析命令行

安装完SI后,会在安装一个如下的文件 我的文档\Source Insight\c.tom c.tom的功能与C语言中的#define类似。打开这个文件,会看到有很多空格分割的字符串,SI在我们阅读代码时,自自动将空格前的字符串替换为空格后的字符串(仅仅是影响阅读,不影响编译喔)。 举两个例子。 #define AP_DECLARE(type) type AP_DECLARE(int) ap_calc_scoreboard_size(void) { .... } source insight 把AP_DECLARE当作了函数,当想查ap_calc_scoreboard_size的时候总是很麻烦,不能直接跳转. 我的文档\Source Insight\c.tom 加入 AP_DECLARE(type) type 如下的代码如何让SI 识别出f是一个函数? #define EXPORT_CALL(return,functionname) return functionname EXPORT_CALL (int, f1()) 我的文档\Source Insight\c.tom 加入 EXPORT_CALL(return,functionname) return functionname 同时,在#define中,标准只定义了#和##两种操作。#用来把参数转换成字符串,##则用来连接前后两个参数,把它们变成一个字符串。(c.tom的功能与支持##,不支持#好像) 这个技巧我在阅读zebra的命令行代码时也用到了。 比如下吗一段代码:(DEFUN是一个宏定义,这个文件中有很多这样的DEFUN。不修改c.tom 之前看到的是这样的)

OA系统功能模块说明

OA系统功能模块说明 功能模块 系统一共10个模块,包括了50多个子系统,覆盖了办公中所需的所有功能。如下表所示:

文件管理 文件管理以用于处理日常工作中的单位内外部的各种公文,利用计算机网络的高速迅捷和计算机控制的严格准确性实现公文的处理。文件管理模块相对传统公文处理而言,在很大程度上提高了公文处理效率和准确性,用户操作简便易行。 基本功能包括: ◇新建文件 ◇代办文件 ◇文件查询 ◇收文管理 ◇发文管理 ◇收文查询 ◇发文查询 ◇电子签名 工作流程 工作流程中可以进行公文的审批、意见处理、等功能。基本功能包括: ◇新建申请 ◇流程列表 个人办公 个人办公管理是办公人员处理个人事务的系统,是用户开始日常办公的工作平台。在这里,员工可以及时了解需要办理的各项事务,查看最新文件、进行自己的工作日程安排。基本功能包括: ◇文档管理 ◇个人工作计划 ◇工作日志 ◇名片夹 ◇个人参数设定 部门管理 部门管理系统是处理部门以及部门之间相关事务的一个平台,有利于部门内部计划及项目的管理,同时也有利于部门之间的交流和沟通,提高协同办公效率。

基本功能包括: ◇部门交流 ◇部门计划 ◇项目管理 ◇活动安排 信息发布平台 信息发布平台是通过计算机网络进行员工之间、部门之间进行信息交流与共享的公共平台。在这里,用户可以根据本身实际情况自行定义信息栏目名称(如新闻、公告、大事记、机关介绍、规章制度、奖惩通报等),设置各个栏目的发布管理人员、修改删除人员,并可将指定栏目设置为默认栏目,即进入信息中心后的默认显示栏目;员工可以查看组织中的最新消息,各种规章制度等等;使用BBS功能,可以随时发表相关的意见或针对某一问题进行讨论; 基本功能包括: ◇信息平台 ◇BBS ◇公告板 ◇规章制度 ◇大事记 行政事务 行政事务是日常办公中需处理的一些日常事务,其基本功能包括: ◇会议管理 ◇车辆管理 ◇考勤管理 人事管理 人事管理涉及到政府的机构设置以及各部门的人员编制情况,有利于领导了解相关人员的基本情况以及对应的职位权限。 基本功能包括: ◇机构设置 ◇人事管理

tomcat web.xml配置详解

web.xml元素介绍 每一个站的WEB-INF下都有一个web.xml的设定文件,它提供了我们站台的配置设定. web.xml定义: .站台的名称和说明 .针对环境参数(Context)做初始化工作 .Servlet的名称和映射 .Session的设定 .Tag library的对映 .JSP网页设定 .Mime Type处理 .错误处理 .利用JDNI取得站台资源 要了解web.xml的设定值,必须了解它的schema,从web.xml中知道它的schema是由Sum Microsystems公司定制的,如果你想更为详细的了解它, 可以到https://www.doczj.com/doc/621288771.html,/xml/ns/j2ee/web-mapp_2_4.xsd网页,那里有更为详细的介绍。这里我介绍我们平常见得最都的. 这是一般在写XML时所做的声明,定义了XML的版本,编码格式,还有重要的指明schema的来源,为https://www.doczj.com/doc/621288771.html,/xml/ns/j2ee /web-app_2_4.xsd. ,, ____________________________________________ 站台描述 对站台做出描述. 站台名称 定义站台的名称. icon元素包含small-icon和large-icon两个子元素.用来指定web站台中小图标和大图标的路径. /路径/smallicon.gif small-icon元素应指向web站台中某个小图标的路径,大小为16 X 16 pixel,但是图象文件必须为GIF或JPEG格式,扩展名必须为:.gif或 .jpg. /路径/largeicon-jpg large-icon元素应指向web站台中某个大图表路径,大小为32 X 32 pixel,但是图象文件必须为GIF或JPEG的格式,扩展名必须为; gif

source命令与“.”点命令

source命令与“.”点命令 source 命令是bash shell 的内置命令,从C Shell 而来。 source 命令的另一种写法是点符号,用法和source 相同,从Bourne Shell而来。 source 命令可以强行让一个脚本去立即影响当前的环境。 source 命令会强制执行脚本中的全部命令,而忽略文件的权限。 source 命令通常用于重新执行刚修改的初始化文件,如.bash_profile 和.profile 等等。source 命令可以影响执行脚本的父shell的环境,而export 则只能影响其子shell的环境。 使用方法举例: $source ~/.bashrc 或者: $. ~/.bashrc 执行后~/.bashrc 中的内容立即生效。 一个典型的用处是,在使用Android 的mm 等相关命令时,需要先执行以下命令:$cd $source ./build/envsetup.sh 或者$. ./build/envsetup.sh source命令(从C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne Shell而来)是source的另一名称。同样的,当前脚本中设置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化文件,如.bash_profile 和.profile 等等。例如,如果在登录后对.bash_profile 中的EDITER 和TERM 变量做了修改,则能用source 命令重新执行.bash_profile 中的命令而不用注销并重新登录。 source命令的作用就是用来执行一个脚本,那么: source a.sh 同直接执行./a.sh 有什么不同呢,比如你在一个脚本里export $KKK=111 ,如果你用./a.sh执行该脚本,执行完毕后,你运行echo $KKK ,发现没有值,如果你用source 来执行,然后再echo ,就会发现KKK=111。因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结果并没有反应到父shell里,不过source不同,他就是在本shell 中执行的,所以能看到结果。 “.”点命令是shell的一个内部命令,它从指定的shell 文件中读入所有命令语句并在

web.xml配置解析

一.监听器: 1.ContextLoaderListener 配置信息: org.springframework.web.context.ContextLoaderListener 配置解释: ContextLoaderListener的作用就是启动Web容器时,自动装ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。至于ApplicationContext.xml这个配置文件部署在哪,如何配置多个xml文件,书上都没怎么详细说明。现在的方法就是查看它的API文档。在ContextLoaderListener中关联了ContextLoader这个类,所以整个加载配置过程由ContextLoader来完成。看看它的API说明 第一段说明ContextLoader可以由ContextLoaderListener和ContextLoaderServlet 生成。如果查看ContextLoaderServlet的API,可以看到它也关联了ContextLoader 这个类而且它实现了HttpServlet接口。 第二段,ContextLoader创建的是XmlWebApplicationContext这样一个类,它实现的接口 WebApplicationContext->ConfigurableWebApplicationContext->ApplicationContext-> BeanFactory,这样一来spring中的所有bean都由这个类来创建。 第三段,讲如何部署applicationContext的xml文件,如果在web.xml中不写任何参数配置信息,默认的路径是"/WEB-INF/applicationContext.xml,在WEB-INF目录下创建的xml文件的名称必须是applicationContext.xml。如果是要自定义文件名可以在web.xml 里加入contextConfigLocation这个context参数: view plaincopy to clipboardprint? contextConfigLocation /WEB-INF/classes/applicationContext-*.xml

bird在web.xml中的配置及详解

一.web.xml 1> 参数配置context-param BIRT_VIEWER_LOCALE en-US BIRT_VIEWER_TIMEZONE BIRT_VIEWER_WORKING_FOLDER BIRT_VIEWER_DOCUMENT_FOLDER

WORKING_FOLDER_ACCESS_ONLY true BIRT_VIEWER_IMAGE_DIR BIRT_VIEWER_LOG_DIR BIRT_VIEWER_LOG_LEVEL WARNING

source Insight工程的说明

Source Insight工程的说明 说明:source insight 是我们在工作中最常用到的软件,它对我们查找函数,变量,修改代码起到了不可估量的作用。熟练运用source insight可以提高工作效率,了解整个工程的架构是很有帮助的。 一source Insight工程的建立步骤 1、打开source insight 如下图所示:

2、工程目录的旁边建立一个文件夹,名字为code_s(文件夹名字自己可以为任意,最好能够区 分工程)。 3、在source insight里面,状态栏上,根据如下顺序,建立工程project- new project,点击后如 下图所示:

在上图中,new project name : 创建你要建立的source insight 工程的名字。例如我们创建为M53_code. Where do you want to stor the project data files? 是我们要将创建的工程文件放入的路径是什么?我们选择刚才我们创建的code_s文件夹的路径。最后如图所示。 4、按OK后,进入如下图所示的界面。 在这个界面里,所有的选项我们都默认,但是选择工程路径是我们需要建立的工程路径。例如我们现在要建立的工程路径是F:\M53\code那么,我们就要选择我们的工程路径。如图下图所示

5、按OK,进入下一个窗口。如图所示。 我们选择,后,如下图所示, 我们在前面全部选择,然后按OK。进行搜索源工程文件,搜索完成后,如图所示。 工程不同,文件的数量不同。这里有7472个文件。我们按确定后,按close,关闭上述窗口。工程建立成功。 二source insight 工程与源工程同步 在上述,工程建立之后,由于我们需要在source insight修改的时候,修改源工程,那么我们需

web_xml标签介绍

Web.xml文件标签介绍说明 ● 用于为父元素提供一个文本描述。这个元素不仅可以在元素中出现,还可以在其他多个元素中出现。他有一个可选的属性xml:lang,用于指示在描述中使用的语言,该属性的默认值是en(英语)。 ● 为这个web应用程序指定一个简短的名字,这个名字可以被一些工具所显示。他有一个可选的属性xml:lang,用于指示在描述中使用的语言,该属性的默认值是en(英语)。 ● 包含了两个元素,用于指定大小图标(GIF或JPEG格式的图标)的文件名。指定的图标在图形界面工具中将用于表示父元素 ● 是一个空元素,用于指示这个web应用程序可以被部署到分布式的servlet容器中 ● 用于声明web应用程序servlet上下文的初始化参数。他包含两个子元素用于指定参数的名字,用于指定参数的值。在servlet中可以使用getServletContext().getInitParameter(“”);来获取初始化参数。 ● 用于在web应用程序中声明一个过滤器。包括为过滤器指定一个名字,该元素的内容不能为空。元素用于指定过滤器的完整的限定类名。元素用于指定过滤器的初始化参数,他的子元素指定参数的名字,指定参数的值。过滤器在运行时,通过FilterConfig接口对象访问初始化参数。 ● 元素用于设置过滤器负责过滤的URL或者Servlet。包括子元素的值必须在元素中已声明过的过滤器的名字。元素和元素可以选择一个,元素指定过滤器对应的URL,元素指定过滤器对应的Servlet。元素指定过滤器对应的请求方式,可以是REQUEST,INCLUDE,FORWARD,ERROR4种之一,默认为REQUEST。 ● 用于指定web应用程序的监听类。可以包含0个或者多个

软件模块设计说明模板.doc

软件模块设计说明模板1 软件模块设计说明书-XX模块 1.1 模块概述 说明模块具有哪些基本功能、采用的设计架构以及关键技术。 详细一一列出模块对应的浦东安管项目功能指标、性能指标。 1.2 基本设计概念和处理流程 具体说明模块的主要设计思想。 以模块结构图的方式说明子模块之间的关系。 以图文的形式一一说明模块各功能点的处理流程。 1.3 模块包结构说明 说明模块涉及到哪些Java包,主要完成什么功能(具体给出每个包与1.2中的子模块的对应关系)。 1.4 模块类结构说明 以表格的形式说明所有Java类的主要功能及设计思想。 序号包名类名功能描述设计说明 1.5 模块核心数据结构说明

模块使用的核心数据结构设计说明。 1.6 模块数据存贮设计说明 模块使用的数据存贮(包括数据表、文件)设计说明,需具体到所存贮的各字段。 1.7 模块前台(用户界面)设计说明 具体说明模块前台页面(面板)的组织结构、各页面(面板)的主要功能。 1.8 模块的加载与配置说明 具体说明模块的启动加载方式、顺序等。 具体说明模块所有配置项功能、配置方法。 1.9 模块外部环境接口说明 具体说明模块与运行容器以及其它模块之间的接口。 具体说明模块与外部环境进行数据交互的方式、数据结构。 1.10 模块现存的主要问题 具体说明模块现在未解决的主要问题。 如有可能,请给出问题的基本解决思路。

软件系统项目管理及考核办法模板4 XX系统项目管理及考核办法 为了加强XX系统项目建设的管理,提高项目管理水平,确保XX系统项目建设的顺利进行,根据XX相关文件要求,结合本项目特点,特制定本管理办法。 一、项目组织管理结构 本项目在XX的统一领导下,成立项目管理组对该项目实施建设及管理。本项目总负责人:XX;项目牵头人:XX;项目组下具体分XX个系统:权限系统负责人:XX;身份认证负责人:XX;安全设备负责人:XX;网络系统负责人:XX。 二、职责划分 1.xx:总领xx项目的建设。 2xx:具体负责:协助项目负责人进行项目的组织、协调、文档、项目进度控制、项目问题解决、例会等内容。 3xx:负责内容:xx系统的调试、测试、部署、更新以及维护。 4. xx:负责内容:xx系统的调试、测试、部署、更新及维护。 5. xx:负责内容:①xx系统的调试、测试、部署、更新及维护。

Web.xml中配置Struts

Web.xml中配置Struts1: 1.配置Struts的ActionServlet 元素来声明ActionServlet 元素:用来定义Servlet的名称 元素:用来指定Servlet的完整类名 Eg: action org.apache.struts.action.ActionServlet 还要配置元素,它用来指定ActionServlet可以处理哪些URL action *.do 注意:(1)中的?的要填写一致,它就是一根线,把联接在一起的。 (2)在Struts框架中只能有一个Servlet,因为Servlet支持多线程。而org.apache.struts.action.ActionServlet中的ActionServlet是在Struts.jar包中的.在导入Struts包时会导入。 (3)在显示层所有以*.do为扩展名提交的URL,都会交由这个Servlet来处理。*.do可以改写成你想要的任何形式,例如:/do/* ,此时该Servlet会处理所有以"/do"为前缀的URL,如http://localhost:8080/helloapp/do/helloWord, 扩展(1)我们可以继承org.apache.struts.action.ActionServlet 得到我们可以扩展的子类,在子类中重写一个方法init()。这时?中的?是我们新建的类的路径,同样只能存在一个。 2. 声明ActionServlet的初始化参数 初始化参数用来对Servlet的运行时环境进行初始配置。子元素用于配置Servlet初始化参数。 config :以相对路径的方式指明Struts应用程序的配置文件位置,如不设置,则默认值为/WEB-INF/struts-config.xml debug : 设置Servlet的debug级别,控制日志记录的详细程度。默认为0,记录相对最少的日志信息。 detail : 设置Digester的debug级别,Digester是Struts框架所使用的用来解析xml配置文件的一个框架,通过此设置,可以查看不同详细等级的解析日志。默认为0,记录相对最少的日志信息。 中?号的值是此ActionServlet在服务器开启时加载的次序,数值越低,越先加载。 eg: action org.apache.struts.action.ActionServlet

WinCE中sources文件中targetlibs与sourcelibs的作用与区别

[原创] WinCE中sources文件中targetlibs与sourcelibs的作用与区别[复制链接] wwfiney 当前离 线 最后登录2011-12-23 在线时间488 小时权威 71 金币 1455 注册时间2009-2-9 阅读权限200 帖子 1286 精华 4 积分 1707 UID 86 管理员 权威 71 金币 1455 阅读权限200 积分 1707 精华 4 电梯直达 主题贴 wwfiney 发表于2009-2-11 17:23:04 |只看该作者|倒序浏览 在WinCE里面,编译和链接的必备文件sources,做过WinCE BSP开发的一定都很熟悉,其中有2个关键字,targetlibs和sourcelibs,一直让我对其中的区别很感兴趣,故查阅了一些资料,与大家分享。 其实只要搜索以下就会得到一些基本的答案,比如: TARGETLIBS,如果一个库以DLL的形式提供给调用者,就需要用TARGETLIBS,它只链接一个函数地址,系统执行时会将被链接的库加载。比如coredll.lib就是这样的库文件。即动态链接。 SOURCELIBS,将库中的函数实体链接进来。即静态链接,用到的函数会在我们的文件中形成一份拷贝。 这个答案已经基本解决问题了,但是这个答案让我们能看到更深入的东西: This is componentization feature of Windows CE. The link has two steps. First, whatever is in SOURCELIBS gets combined in a signle library yourproductname_ALL.lib. In the second step, executable module is linked from that library and all the targetlibs. This is done to allow stubs to be conditionally linked: if the function is defined into your source already, stubs get excluded. If it is not there, stubbed version (returning ERROR_NOT_IMPLEMENTED or something to that effect) gets linked in instead. If the link were to be performed in just one step, it would be impossible to predict which version (real or stub) would get included. As it is, implemented functions have a priority over stubs. -- Sergey Solyanik Windows CE Core OS 总的来说就是先编译了你自己在sources里指定的源文件,在链接阶段,先将所有的sourcelibs链接在一起成为一个lib,然后与targetlibs指定的lib一起参与链接。 当然这里targetlibs指定的可以是dll的lib文件,在CE的帮助文件中,

sources文件详解

sources文件详解 在Windows CE中,所有的驱动程序都以dll形式存在。Dll文件可以用EVC来开发,也可以使用PB来开发,使用PB开发驱动程序,可以跟NK同时进行编译,要比EVC来的方便一点。这篇文章就只要介绍用PB来进行dll库开发的方法。 使用PB来开发,首先应该在你的工作平台下面建立一个目录,用来存放源文件,同时要修改dir文件,使得编译的时候能够进到源文件所在的目录。 编写dll的方法这里就不说了,反正就是写一堆的函数,这里主要解释一下使用PB编译,需要增加的文件。 第一个文件是sources文件,这里给出了一个sources文件的例子: TARGETNAME=led 使用TARGETNAME来指示生成目标的文件名(不包含扩展名,扩展名PB会自动加上) RELEASETYPE=PLATFORM RELEASETYPE指示该文件将要生成的类型,一共有五个取值: SDK:使用该类型将使得生成的目标文件被存储 到%_PUBLICROOT%\Oak目录,而lib文件被放置

到%_PUBLICROOT%\Sdk目录 DDK:使用该类型将使得生成的目标文件被存储 到%_PUBLICROOT%\Oak目录,而lib文件被放置 到%_PUBLICROOT%\Ddk PLATFORM:使用该类型将使得生成的文件受平台控制LOCAL:该类型使得生成的文件全部放置到当前路径CUSTOM:该类型使得生成的文件放置到TARGETPATH 制定的位置(也就是说必须要有TARGETPATH参数设置)TARGETTYPE=DYNLINK 生成的目标类型,LIBRARY表示是一个lib库,DYNLINK 则表示是dll,而PROGRAM则是一个exe文件TARGETLIBS= $(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib TARGETLIBS指示连接需要的库的名字 SOURCELIBS=mm.lib SOURCELIBS指示将于某一个lib一起连接。上面一个lib 是需要什么就取什么,而这个lib则是连接所有的。DEFFILE=led.def DLL文件的def文件名 INCLUDES=..\..\inc 指定include的路径 SOURCES=

配置模块详细说明文档

Radiusd.conf文件配置 Radiusd.conf文件是freeradius的核心配置文件,其中设置了服务器的基本信息,配置文件与日志文件的环境变量,并详细配置freeradius模块所使用的信息,与认证和计费所使用模块的配置. 配置的变量定义的形式为${foo},他们就在这个文件上,并且不随请求到请求而改变. 变量的格式参照variables.txt. 此处定义其他配置文件以及目录的位置,也就是环境变量 prefix = /usr/local exec_prefix = ${prefix} sysconfdir = ${prefix}/etc localstatedir = ${prefix}/var sbindir = ${exec_prefix}/sbin logdir = ${localstatedir}/log/radius raddbdir = ${sysconfdir}/raddb radacctdir = ${logdir}/radacct 配置文件和日志文件的位置 confdir = ${raddbdir} run_dir = ${localstatedir}/run/radiusd 日志文件的信息,添加到如下配置文件的底部 log_file = ${logdir}/radius.log 模块的位置由libdir来配置。 如果不能工作,那么你可以从新配置,从新Build源码,并且使用共享库。 pidfile: Where to place the PID of the RADIUS server. pidfile = ${run_dir}/radiusd.pid user/group 如果有评论,服务器会运行用户/组启动它. 修改用户/组,必须具有root权限启动服务器这里的含义是指定启动radius服务可以限定操作系统上的用户和组,但是不建议启动它. #user = nobody #group = nobody 最长请求时间(秒),这样的问题经常需要存在在应用SQL数据库时候,建议设置为5秒到120秒之间. max_request_time = 30 当请求超过最长请求时间的时候,可以设置服务器删除请求.当你的服务在threaded(线程下)运行,或者线程池(thread pool) 模式,建议这里设置为no.但用threaded 服务设置为yes时,有可能使服务器崩溃. delete_blocked_requests = no 在reply 发送给NAS后的等待清空时间. 建议2秒到10秒

相关主题
文本预览
相关文档 最新文档