前者:
用在webconfig或者appconfig之类
是系统约定的节点,约定在这个节点下的所有
节点会被systemconfigurationconfigurationmanagerappsetting读到
后者:
完全的自定义接点,appsettings表示什么意思,add表示什么意思将在自己写的xml解析方法里指定和使用
简单来说,config是xml的一个子集
通常的xml都是只定义基本语法,至于节点的层次,节点格式,节点的含义,节点怎么被解析都是你自己定义使得你的xml文件能和你的xml解析方法对应
而webconfig,appconfig这类,是microsoft和软件作者已经定义好了节点意义,你只需要遵守他的格式和规则,就能达到配置作用。
打个可能不太好的比方:
xml文件本身是扑克牌
config是斗地主。
你用config,就不需要自己制定规则,按照它的规则打就行。很方便,但是你不能违反他的规则。
而你自己写xml,还要先制定好规则,规则怎么定都随便你,然后按照这个规则出牌
当然,这些都有一个大前提,都满足xml节点规范,你不能制定扑克牌的规则中放入几个麻将牌
相对路径的话,可以先获取到当前文件的编译路径,之后在找到想找文件的路径的思路来实现。
举例:
XMLSclassgetClass()getResourceAsStream("/test/testxml");
解释:XMLSclassgetClass()是获取当前的类编译路径,之后通过getResourceAsStream的形式即可找到要读取的文件的路径。
备注:这个方法中后面的路径也可以通过截取的形式来进行路径获取,实现原理都是找到当前类路径,之后通过相对位置找到另外文件路径。
不存在明确的接口让你去查看webxml里的东西,但是对于这些配置,你可以有特定的接口,比如spring的配置,spring的代码有动态查看的方式。
但,如果你就想看webxml的内容的话,有一个简单的方法:直接读取webxml,路径你知道,文件名你知道,你自然可以用FileInputStream读取它。
①webxml文件是用来配置:欢迎页、servlet、filter等配置文件用的。当你的web工程没用到这些时,你可以不用webxml文件来配置你的web工程
webxml的模式文件中定义的标签并不是定死的,模式文件也是可以改变的,一般来说,随着webmxl模式文件的版本升级,里面定义的功能会越来越复杂,
也即标签元素的种类会越来越多,但有些是不常用的,我们只需记住一些常用的就可以了。
首先是定义头和根元素
声明为xml文件,版本为10,编码为utf-8
声明该文件的内容可以使用xsi的标签库
声明标签的使用范围是被javaee的开发使用的
声明可以使用的标签库和对应的具体的标签库版本地址。
webxml的模式(Schema)文件中定义了多少种标签元素,它就能拥有定义出来的那些功能
随着webmxl模式文件的版本升级,里面定义的功能会越来越复杂,也即标签元素的种类会越来越多
定义项目的名称
项目名称
欢迎页面
servlet
配置springmvc DispatcherServlet( 前台控制器)-->example这个Servlet的名字是example,可以有多个DispatcherServlet,是通过名字来区分的。
async-supported
启动一个新的线程去处理你的请求,完成之后调用你指定的回调函数来完成整个异步 *** 作。
一般的jsp是通过地址栏输入一个地址,或者提交表单的方式发送请求的,这样网页都会被刷新。但是如果你在jsp页面发送一个ajax请求的话,跟前两种不同,
后台会返回给jsp页面内容,页面不会直接刷新,这样可以把返回的数据写在页面的div中,这样就完成了页面的局部刷新。
举个例子,baidu你做一个查询功能,页面上有查询条件和查询结果显示区域,你可以点查询按钮的时候通过ajax异步发送你的查询条件,
而你得到后台返回的查询结果后,更新你的jsp页面的查询结果,jsp的其他部分,比如查询条件,都没有更新,jsp没有刷新,而是更新了查询结果这一块内容
url-pattern 默认匹配所有请求Servlet拦截匹配规则可以自已定义1、拦截do、htm, 例如:/user/adddo,这是最传统的方式,最简单也最实用。不会导致静态文件(jpg,js,css)被拦截。2、拦截/,例如:/user/add,可以实现现在很流行的REST风格。很多互联网类型的应用很喜欢这种风格的URL。弊端:会导致静态文件(jpg,js,css)被拦截后不能正常显示。
监听器
Listener获取的是Web应用ServletContext(application)的配置参数。-为Web应用配置Listener的两种方式: 使用@WebListener修饰Listener实现类即可 在webxml文档中使用进行配置。我们选择webxml这种配置方式,只有一个元素指定Listener的实现类
②启动WEB项目的时候,Tomcat容器首先会去它的配置文件读取两个节点listener和context-param。
然后Tomcat会创建一个ServletContext(application),WEB项目所有部分都将共享这个上下文
将applicationContextxml存入ServletContext中
Tomcat容器根据class类路径来创建监听
上面这些都是在web项目还没有完全启动起来就完成的工作,而servlet是在第一次发起请求时被实例化的
而且一般不会被容器销毁,并服务于多个用户的请求
webxml的加载顺序是: context-param-> listener -> filter -> servlet
filter
Filter可认为是Servlet的“增强版”,因此Filter配置与Servlet的配置非常相似,需要配置两部分:配置Filter名称和Filter拦截器URL模式。区别在于Servlet通常只配置一个URL,而Filter可以同时配置多个请求的URL。配置Filter有两种方式:
在Filter类中通过Annotation进行配置。
在webxml文件中通过配置文件进行配置。
①百度
②>
是不是webxml配置中的某个地方写错了,我之前是这样配置的,不知道不是同一个意思。。
<init-param>
<param-name></param-name>
<param-value></param-value>
</init-param>
<util:properties id="config" location="classpath:testproperties" />
其中id为读取文件以后的bean id,可以通过这个id获取文件中对应属性的值,如configtest代表获取文件中test属性的值
以上就是关于java中如何获取WebContent下config文件下的xx.xml文件路径全部的内容,包括:java中如何获取WebContent下config文件下的xx.xml文件路径、web配置读取xml文件报找不到路径、怎样在java代码中查看web.xml配置说明等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)