java中如何获取WebContent下config文件下的xx.xml文件路径

java中如何获取WebContent下config文件下的xx.xml文件路径,第1张

前者:

用在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配置说明等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9737918.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存