java xml解析内存中的xml怎么解析

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&[转载]java:XML的四种解析器原理及性能比较
DOM是基于平台、语言无关的官方W3C标准。基于树的层次,其优点是可以移植,编程容易,开发人员只需要调用建树的指令。其缺点是加载大文件不理想。
SAX是基于事件模型的,它在解析 XML
文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。类似与流媒体的解析方式,所以在加载大文件时效果不错。
JDOM是想成为 Java 特定文档模型。它简化与 XML 的交互并且比使用 DOM
实现更快。使用的是具体类不使用接口,运用了大量的COllections类,方便程序员。
DOM4J是一个独立的开发结果。是一个非常非常优秀的Java XML
API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。推荐使用。
是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准。DOM
是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。(所以其劣势就是基与大文件的加载速度很慢,因为它是需要全部加载后才操作的).
由于它是基于信息层次的,因而 DOM
被认为是基于树或基于对象的。DOM 以及广义的基于树的处理具有几个优点。
首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像 SAX
那样是一次性的处理。DOM 使用起来也要简单得多。
另一方面,对于特别大的文档,解析和加载整个文档可能很慢且很耗资源,因此使用其他手段来处理这样的数据会更好。这些基于事件的模型,比如
这种处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。一般来说,SAX
还比它的替代者 DOM 快许多。
JDOM的目的是成为 Java 特定文档模型,它简化与 XML 的交互并且比使用 DOM 实现更快。
&&& JDOM 与
DOM 主要有两方面不同。首先,JDOM 仅使用具体类而不使用接口。这在某些方面简化了 API,但是也限制了灵活性。第二,API
大量使用了 Collections 类,简化了那些已经熟悉这些类的 Java 开发者的使用。
文档声明其目的是“使用 20%(或更少)的精力解决 80%(或更多)Java/XML 问题”(根据学习曲线假定为 20%)。JDOM
对于大多数 Java/XML 应用程序来说当然是有用的,并且大多数开发者发现 API 比 DOM 容易理解得多。JDOM
还包括对程序行为的相当广泛检查以防止用户做任何在 XML 中无意义的事。然而,它仍需要您充分理解 XML
以便做一些超出基本的工作(或者甚至理解某些情况下的错误)。这也许是比学习 DOM 或 JDOM
接口都更有意义的工作。
自身不包含解析器。它通常使用 SAX2 解析器来解析和验证输入 XML 文档(尽管它还可以将以前构造的 DOM
表示作为输入)。它包含一些转换器以将 JDOM 表示输出成 SAX2 事件流、DOM 模型或 XML 文本文档。JDOM 是在
Apache 许可证变体下发布的开放源码。
&&& 虽然 DOM4J
代表了完全独立的开发结果,但最初,它是 JDOM 的一种智能分支。它合并了许多超出基本 XML 文档表示的功能,包括集成的 XPath
支持、XML Schema 支持以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项,它通过 DOM4J API
和标准 DOM 接口具有并行访问功能。从 2000 下半年开始,它就一直处于开发之中。
为支持所有这些功能,DOM4J 使用接口和抽象基本类方法。DOM4J 大量使用了 API 中的 Collections
类,但是在许多情况下,它还提供一些替代方法以允许更好的性能或更直接的编码方法。直接好处是,虽然 DOM4J 付出了更复杂的 API
的代价,但是它提供了比 JDOM 大得多的灵活性。
在添加灵活性、XPath 集成和对大文档处理的目标时,DOM4J 的目标与 JDOM 是一样的:针对 Java
开发者的易用性和直观操作。它还致力于成为比 JDOM 更完整的解决方案,实现在本质上处理所有 Java/XML
问题的目标。在完成该目标时,它比 JDOM 更少强调防止不正确的应用程序行为。
是一个非常非常优秀的Java XML
API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用
DOM4J 来读写 XML,特别值得一提的是连 Sun 的 JAXM 也在用 DOM4J. Hibernate 也用 DOM4J
来读取 XML 配置文件。如果不考虑可移植性,那就采用DOM4J吧!
&&&DOM是基于平台、语言无关的官方W3C标准。基于树的层次,其优点是可以移植,编程容易,开发人员只需要调用建树的指令。其缺点是加载大文件不理想。
SAX是基于事件模型的,它在解析 XML
文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。类似与流媒体的解析方式,所以在加载大文件时效果不错。
JDOM是想成为 Java 特定文档模型。它简化与 XML
的交互并且比使用 DOM 实现更快。使用的是具体类不使用接口,运用了大量的COllections类,方便程序员。
DOM4J是一个独立的开发结果。是一个非常非常优秀的Java
XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。推荐使用。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Java web.xml配置解读与加载分析 - 推酷
Java web.xml配置解读与加载分析
、启动一个
项目的时候,
容器会去读取它的配置文件
&listener&
&context-param&
两个结点。
、紧接着,容器会创建一个
ServletContext
上下文),这个
项目的所有部分都将共享这个上下文。
&context-param&
转换为键值对,并交给
servletContext
、容器创建
&listener&
中的类实例,创建监听器。
&Load-on-startup
Load-on-startup
应用启动的时候指定了
被加载的顺序,它的值必须是一个整数。
如果它的值是一个负整数或是这个元素不存在,容器会在该
被调用的时候才加载这个
;如果值是正整数或零,容器在配置的时候就加载并初始化这个
;容器必须保证值小的先被加载;如果值相等,容器可以自动选择先加载谁。
的配置当中,
&load-on-startup&5&/load-on-startup&
的含义是:
标记容器是否在启动的时候就加载这个
时,表示容器在应用启动时就加载这个
当是一个负数时或者没有指定时,则指示容器在该
被选择时才加载。
正数的值越小,启动该
的优先级越高。
首先可以肯定的是,加载顺序与它们在
文件中的先后顺序无关。即不会因为
的前面而会先加载
。最终得出的结论是:
ServletContext-&&listener
-&filter -& servlet
同时还存在着这样一种配置节点:
context-param
,它用于向
ServletContext
提供键值对,即应用程序上下文信息。我们的
listener, filter
等在初始化时会用到这些上下文中的信息,
context-param
配置可写在任意位置,因此真正的加载序为:
context-param
-& listener-& filter -& servlet
对于某类配置而言,与它们出现的顺序是有关的。以
中当然可以定义多个
相关的一个配置节是
filter-mapping
,这里一定要注意,对于拥有相同
filter-name
filter-mapping
配置而言,
filter-mapping
必须出现在
之后,否则当解析到
filter-mapping
时,它所对应的
filter-name
还未定义。
容器启动时初始化每个
时,是按照
配置节点出现的顺序来初始化的,当请求资源匹配多个
filter-mapping
拦截资源是按照
filter-mapping
出现的顺序来依次调用
doFilter()
类似,此处不再赘述。
由此,可以看出,
的加载顺序是:
ServletContext-&&context-param
-&listener -& filter -& servlet
而同个类型之间的实际程序调用的时候的顺序是根据对应的
的顺序进行调用的。
首先是肯定要包含它的
&web-app xmlns=”
xmlns:xsi=”
xsi:schemaLocation=”
version=”2.4″&
&/web-app&
其它的元素都放在
&web-app&&/web-app&
&discription&&/discription&
是对站点的描述
&display-name&&/display-name&
定义站点的名称
&distributable/&
指定该站点是否可分布式处理
&context-param&&/context-param&
站点的环境参数,它包含两个子元素:
&param-name&&/param-name&
&param-value&&/param-value&
在此设定的参数,可以在
getServletContext().getInitParameter(“my_param”)
&filter&&/filter&
是用来声明
的相关设定,它包含以下子元素:
&filter-name&&/filter-name&
&filter-class&&/filter-class&
&init-param&&/init-param&
&param-name&&/param-name&
&param-value&&/param-value&
&filter-name&setCharacterEncoding&/filter-name&
&filter-class&com.myTest.setCharacterEncodingFilter&/filter-class&
&init-param&
&param-name&encoding&/param-name&
&param-value&GB2312&/param-value&
&/init-param&
同时使用的是
&filter-mapping&
,用来定义
,它有两个子元素:
&filter-name&&/filter-name&
&url-pattern&&/url-pattern&
&filter-mapping&
&filter-name&setCharacterEncoding&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
&listener&&/listener&
接口,它的主要子元素为
&listener-class&&/listener-class&
&listener&
&listener-class&com.myTest.ContextListener&/listener-class&&
&/listener&
&servlet&&/servlet&
用来声明一个
的数据,主要有以下子元素:
&servlet-name&&/servlet-name&
&servlet-class&&/servlet-class&
&jsp-file&&/jsp-file&
站台中的某个
网页的完整路径
&init-param&&/init-param&
用来定义参数,和前面的
&init-param&
&servlet&&/servlet&
一起使用的是
&servlet-mapping&&/servlet-mapping&
,包含两个子元素:
&servlet-name&&/servlet-name&
&url-pattern&&/url-pattern&
&servlet-name&ShoppingServlet&/servlet-name&
&servlet-class&com.myTest.ShoppingServlet&/servlet-class&
&/servlet&
&servlet-mapping&
&servlet-name&ShoppingServlet&/servlet-name&
&url-pattern&/shop/ShoppingServlet&/url-pattern&
&/servlet-mapping&
&session-config&&/session-config&
参数,包含一个子元素:
&session-timeout&&/session-timeout&
用来定义这个
的有效期限,单位为
&mime-mapping&&/mime-mapping&
定义某一个扩展名和某一个
做对映,包含
&extension&&/extension&
扩展名的名称
&mime-type&&/mime-type&MIME
&mime-mapping&
&extension&doc&/extension&
&mime-type&application/vnd.ms-word&/mime-type&
&/mime-mapping&
&mime-mapping&
&extension&xls&/extension&
&mime-type&application/vnd.ms-excel&/mime-type&
&/mime-mapping&
&welcome-file-list&&/welcom-file-list&
用来定义首页的列单,包含一个子元素:
&welcome-file&&/welcome-file&
&welcome-file-list&
&welcome-file&index.jsp&/welcome-file&
&welcome-file&index.html&/welcome-file&
&/welcom-file-list&
&error-page&&/error-page&
用来处理错误代码或异常的页面,有三个子元素:
&error-code&&/error-code&
指定错误代码
&exception-type&&/exception-type&
&location&&/location&
站台内的相关资源路径
&error-page&
&error-code&404&/error-code&
&location&/error404.jsp&/location&
&/error-page&
&error-page&
&exception-type&java.lang.Exception&/exception-type&
&location&/exception.jsp&/location&
&/error-page&
&taglib&&/taglib&
网页所用到的
Tag Library
路径,有两个子元素:
&taglib-uri&&/taglib-uri&
指令便可取得该
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&TLD
&taglib-location&&/taglib-location&
文件相对于
站台的存放位置
&taglib-uri&myTaglib&/taglib-uri&
&taglib-location&/WEB-INF/tlds/MyTaglib.tld&/taglib-location&
&resource-ref&&/resource-ref&
取得站台可利用的资源,有五个子元素:
&description&&/description&
&rec-ref-name&&/rec-ref-name&
&res-type&&/res-type&
&res-auth&&/res-auth&
Application
&res-sharing-scope&&/res-sharing-scope&
资源是否可以共享,有
Unshareable
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
值,默认为
比如,配置数据库连接池就可在此配置:
&resource-ref&
&description&JNDI
JDBC DataSource ofshop&/description&
&res-ref-name&jdbc/sample_db&/res-ref-name&
&res-type&javax.sql.DataSource&/res-type&
&res-auth&Container&/res-auth&
&/resource-ref&
&jsp-config&
&jsp-property-group&
两个子元素。
时就已经存在;而
&jsp-property-group&
新增的元素。
&jsp-property-group&
元素主要有八个子元素,它们分别为:
1.&description&
:设定的说明;
2.&display-name&
:设定名称;
3.&url-pattern&
:设定值所影响的范围,如:
4.&el-ignored&
,表示不支持
5.&scripting-invalid&
,表示不支持
&%scripting
6.&page-encoding&
网页的编码;
7.&include-prelude&
网页的抬头,扩展名为
8.&include-coda&
网页的结尾,扩展名为
一个简单的
&jsp-config&
元素完整配置:
&jsp-config&
&taglib-uri&Taglib&/taglib-uri&
&taglib-location&/WEB-INF/tlds/MyTaglib.tld&/taglib-location&
&jsp-property-group&
&description&Special
property groupfor JSP Configuration JSPexample.&/description&
&display-name&JSPConfiguration&/display-name&
&url-pattern&/jsp/*&/url-pattern&
&el-ignored&true&/el-ignored&
&page-encoding&GB2312&/page-encoding&
&scripting-invalid&true&/scripting-invalid&
&include-prelude&/include/prelude.jspf&/include-prelude&
&include-coda&/include/coda.jspf&/include-coda&
&/jsp-property-group&
&/jsp-config&
来限制对某些
有时我们只希望通过认证的用户才能请求某些
的话,就可以在
中来进行相应的配置,来达到此目的。
这就要用到
&security-constraint&&/security-constraint&
security-constraint
元素需要在位于
&Tomcat-installation-directory&/conf/tomcat-users.xml
文件中创建用户名和密码。比如下面的这个
tomcat-users.xml
version=’1.0′encoding=’utf-8′?&
&tomcat-users&
&rolerolename=”tomcat”/&
&rolerolename=”manager”/&
&rolerolename=”admin”/&
username=”tomcat”password=”tomcat”
roles=”tomcat”/&
username=”both”password=”tomcat”
roles=”tomcat,manager”/&
username=”admin”password=”admin”
roles=”admin”/&
&/tomcat-users&
片段包括一个
tomcat-users
根元素,它包含一个或多个
应用程序的
security-constraint
login-config
security-role
&security-constraint&
&web-resource-collection&
&web-resource-name&HelloServlet&/web-resource-name&
&url-pattern&/HelloServlet&/url-pattern&
&http-method&GET&/http-method&
&http-method&POST&/http-method&
&/web-resource-collection&
&auth-constraint&
&description&This
applies only to the”tomcat” securityrole&/description&
&role-name&admin&/role-name&
&/auth-constraint&
&user-data-constraint&
&transport-guarantee&NONE&/transport-guarantee&
&/user-data-constraint&
&/security-constraint&
&login-config&
&auth-method&BASIC&/auth-method&
&/login-config&
&security-role&
&role-name&admin&/role-name&
&/security-role&
security-constraint
元素包含一个或多个
web-resource-collection
元素,它是描述
应用程序中的哪些
资源受到指定安全限制的保护。
http-method
元素指定安全限制覆盖的
方法。上面的例子中,当我们对
/HelloServlet
请求时将触发配置的安全机制。
auth-constraint
元素用于描述允许访问
组件的安全角色。此例中安全角色的例子有
。而只有当作为
角色的用户才可以访问
HelloServlet
应用程序通过
login-config
元素来认证用户,并确认该用户是否为正确的角色。
longin-config
transport-guarantee
子元素用来指定认证方法,
是一种常见的
认证方式,浏览器给用户提示一个对话框,要求输入用户名和密码,随后
将给出的用户名和密码与
tomcat-users.xml
中的用户名和密码进行比较,然后使用前面的
security-constraint
配置来确定用户是否可访问受保护的
外,还可以是
CLIENT-CERT
其实这种认证方法实际上有两个步骤:
、检查提供的用户名和密码是否正确。
、判断用户是否映射到特定的安全角色。例如,用户可能提供了正确的用户名和密码,但没有映射到特定的安全角色,也将被禁止访问特定的
相应元素配置
应用图标:指出
工具用来表示
应用的大图标和小图标
&small-icon&/images/app_small.gif&/small-icon&
&large-icon&/images/app_large.gif&/large-icon&
应用名称:提供
工具可能会用来标记这个特定的
应用的一个名称
&display-name&TomcatExample&/display-name&
应用描述:给出于此相关的说明性文本
&disciption&Tomcat Example servletsand
JSPpages.&/disciption&&&&&
、上下文参数:声明应用范围内的初始化参数。
&context-param&
&param-name&ContextParameter&/para-name&
&param-value&test&/param-value&
&description&It is a
testparameter.&/description&&&&&
&/context-param&
里面可以通过
getServletContext().getInitParameter(“context/param”)
、过滤器配置:将一个名字与一个实现
javaxs.servlet.Filter
接口的类相关联。
&filter-name&setCharacterEncoding&/filter-name&
&filter-class&com.myTest.setCharacterEncodingFilter&/filter-class&
&init-param&
&param-name&encoding&/param-name&
&param-value&GB2312&/param-value&
&/init-param&
&filter-mapping&
&filter-name&setCharacterEncoding&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
、监听器配置
&listener&
&listerner-class&listener.SessionListener&/listener-class&
&/listener&
&servlet-name&snoop&/servlet-name&
&servlet-class&SnoopServlet&/servlet-class&
&/servlet&
&servlet-mapping&
&servlet-name&snoop&/servlet-name&
&url-pattern&/snoop&/url-pattern&
&/servlet-mapping&
&servlet-name&snoop&/servlet-name&
&servlet-class&SnoopServlet&/servlet-class&
&init-param&
&param-name&foo&/param-name&
&param-value&bar&/param-value&
&/init-param&
&description&Security
role foranonymousaccess&/description&&&&&
&role-name&tomcat&/role-name&
&/servlet&
&servlet-mapping&
&servlet-name&snoop&/servlet-name&
&url-pattern&/snoop&/url-pattern&
&/servlet-mapping&
&servlet&&/servlet&
用来声明一个
的数据,主要有以下子元素:
&servlet-name&&/servlet-name&
&servlet-class&&/servlet-class&
&jsp-file&&/jsp-file&
站台中的某个
网页的完整路径
&init-param&&/init-param&
用来定义参数,可有多个
init-param
getInitParamenter(Stringname)
方法访问初始化参数
&load-on-startup&&/load-on-startup&
应用启动时,装载
当值为正数或零时:
容器先加载数值小的
,再依次加载其他数值大的
servlet.&&&&
当值为负或未定义:
客户首次访问这个
&servlet-mapping&&/servlet-mapping&
,包含两个子元素
&servlet-name&&/servlet-name&
&url-pattern&&/url-pattern&
、会话超时配置(单位为分钟)
&session-config&
&session-timeout&120&/session-timeout&
&/session-config&
&mime-mapping&
&extension&htm&/extension&
&mime-type&text/html&/mime-type&
&/mime-mapping&
、指定欢迎文件页配置
&welcome-file-list&
&welcome-file&index.jsp&/welcome-file&
&welcome-file&index.html&/welcome-file&
&welcome-file&index.htm&/welcome-file&
&/welcome-file-list&
、配置错误页面
一、通过错误码来配置
error-page&&&&
&error-page&
&error-code&404&/error-code&
&location&/NotFound.jsp&/location&
&/error-page&
上面配置了当系统发生
错误时,跳转到错误处理页面
NotFound.jsp
二、通过异常的类型配置
error-page&&&&
&error-page&
&exception-type&java.lang.NullException&/exception-type&
&location&/error.jsp&/location&
&/error-page&
上面配置了当系统发生
java.lang.NullException
(即空指针异常)时,跳转到错误处理页面
error.jsp&&&&
&taglib-uri&
&/taglib-uri&&&&&
&taglib-location&/WEB-INF/jsp/debug-taglib.tld&/taglib-location&
一直在报错
&jsp-config&
&jsp-config&
&taglib-uri&
&/taglib-uri&&&&&
&taglib-location&/WEB-INF/pager-taglib.tld&/taglib-location&
&/jsp-config&
、资源管理对象配置
&resource-env-ref&
&resource-env-ref-name&jms/StockQueue&/resource-env-ref-name&
&/resource-env-ref&
、资源工厂配置
&resource-ref&
&res-ref-name&mail/Session&/res-ref-name&
&res-type&javax.mail.Session&/res-type&
&res-auth&Container&/res-auth&
&/resource-ref&
配置数据库连接池就可在此配置:
&resource-ref&
&description&JNDI JDBC
DataSource ofshop&/description&&&&&
&res-ref-name&jdbc/sample_db&/res-ref-name&
&res-type&javax.sql.DataSource&/res-type&
&res-auth&Container&/res-auth&
&/resource-ref&
、安全限制配置
&security-constraint&
&display-name&Example
SecurityConstraint&/display-name&&&&&
&web-resource-collection&
&web-resource-name&ProtectedArea&/web-resource-name&
&url-pattern&/jsp/security/protected/*&/url-pattern&
&http-method&DELETE&/http-method&
&http-method&GET&/http-method&
&http-method&POST&/http-method&
&http-method&PUT&/http-method&
&/web-resource-collection&
&auth-constraint&
&role-name&tomcat&/role-name&
&role-name&role1&/role-name&
&/auth-constraint&
&/security-constraint&
、登陆验证配置
&login-config&
&auth-method&FORM&/auth-method&
&realm-name&Example-BasedAuthentiationArea&/realm-name&
&form-login-config&
&form-login-page&/jsp/security/protected/login.jsp&/form-login-page&
&form-error-page&/jsp/security/protected/error.jsp&/form-error-page&
&/form-login-config&
&/login-config&
、安全角色:
security-role
元素给出安全角色的一个列表,这些角色将出现在
security-role-ref
子元素中。
分别地声明角色可使高级
处理安全信息更为容易。
&security-role&
&role-name&tomcat&/role-name&
&/security-role&
环境参数:
应用的环境项
&env-entry&
&env-entry-name&minExemptions&/env-entry-name&
&env-entry-value&1&/env-entry-value&
&env-entry-type&java.lang.Integer&/env-entry-type&
&/env-entry&
&description&Example
EJBreference&/decription&&&&&
&ejb-ref-name&ejb/Account&/ejb-ref-name&
&ejb-ref-type&Entity&/ejb-ref-type&
&home&com.mycompany.mypackage.AccountHome&/home&
&remote&com.mycompany.mypackage.Account&/remote&
&/ejb-ref&
&ejb-local-ref&
&description&Example Loacal
EJBreference&/decription&&&&&
&ejb-ref-name&ejb/ProcessOrder&/ejb-ref-name&
&ejb-ref-type&Session&/ejb-ref-type&
&local-home&com.mycompany.mypackage.ProcessOrderHome&/local-home&
&local&com.mycompany.mypackage.ProcessOrder&/local&
&/ejb-local-ref&
&servlet-name&dwr-invoker&/servlet-name&
&servlet-class&uk.ltd.getahead.dwr.DWRServlet&/servlet-class&
&/servlet&
&servlet-mapping&
&servlet-name&dwr-invoker&/servlet-name&
&url-pattern&/dwr/*&/url-pattern&
&/servlet-mapping&
Struts&&&&
&display-name&Struts
BlankApplication&/display-name&&&&&
&servlet-name&action&/servlet-name&
&servlet-class&
org.apache.struts.action.ActionServlet
&/servlet-class&
&init-param&
&param-name&detail&/param-name&
&param-value&2&/param-value&
&/init-param&
&init-param&
&param-name&debug&/param-name&
&param-value&2&/param-value&
&/init-param&
&init-param&
&param-name&config&/param-name&
&param-value&/WEB-INF/struts-config.xml&/param-value&
&/init-param&
&init-param&
&param-name&application&/param-name&
&param-value&ApplicationResources&/param-value&
&/init-param&
&load-on-startup&2&/load-on-startup&
&/servlet&
&servlet-mapping&
&servlet-name&action&/servlet-name&
&url-pattern&*.do&/url-pattern&
&/servlet-mapping&
&welcome-file-list&
&welcome-file&index.jsp&/welcome-file&
&/welcome-file-list&
&!– Struts Tag Library
Descriptors–&&&&&
&taglib-uri&struts-bean&/taglib-uri&
&taglib-location&/WEB-INF/tld/struts-bean.tld&/taglib-location&
&taglib-uri&struts-html&/taglib-uri&
&taglib-location&/WEB-INF/tld/struts-html.tld&/taglib-location&
&taglib-uri&struts-nested&/taglib-uri&
&taglib-location&/WEB-INF/tld/struts-nested.tld&/taglib-location&
&taglib-uri&struts-logic&/taglib-uri&
&taglib-location&/WEB-INF/tld/struts-logic.tld&/taglib-location&
&taglib-uri&struts-tiles&/taglib-uri&
&taglib-location&/WEB-INF/tld/struts-tiles.tld&/taglib-location&
(基本上都是在
中配置的)
配置文件位置
&context-param&
&param-name&contextConfigLocation&/param-name&
&param-value&
/WEB-INF/applicationContext.xml,/WEB-INF/action-servlet.xml
&/param-value&
&/context-param&
监听器,加载
spring–&&&&&
&listener&
&listener-class&org.springframework.web.context.ContextLoaderListener&/listener-class&
&/listener&
&listener&
&listener-class&
org.springframework.web.context.request.RequestContextListener
&/listener-class&
&/listener&
其他说明:
文件中一般包括
servlet, spring, filter,listenr
的配置。那么他们是按照一个什么顺序加载呢?
加载顺序会影响对
,但是加载顺序是
中初始化操作中的
首先可以肯定
加载顺序与他们在
文件中的先后顺序无关。
的加载顺序为
最终得出结果:先
listener && filter&& servlet&&&&spring
所以,如果过滤器中要使用到
&listener&
&listener-class&
org.springframework.web.context.ContextLoaderListener
&/listener-class&
&/listener&
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致

我要回帖

更多关于 java sax解析xml 的文章

 

随机推荐