怎样在JavaWeb项目中自定义一个配置文件。
我要写个过滤器过滤IP,但是被过滤的IP不能写在web.xml中,需要单独新建一个.xml。这个要怎么做?怎么读到这个新建的.xml文件?
专业回答
在resources里面新建一个XML file或者 file,
XML file 会自动生成XML头,在下面加入内容就可以了,首先要有一个根节点,然后如果需要用到一些类,如:spring的一些类,就需要引入包,如:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns=" http://www.springframework.org/schema/beans"
xmlns:mvc=" http://www.springframework.org/schema/mvc"
xsi:schemaLocation=" http://www.springframework.org/schema/beans
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<context:component-scan base-package="com.dist.*.controller" />
</beans >
其中<?xml ……就是头,<beans 是根节点,下面的<content:……是内容。
如果添加的事properties文件,格式如下:
# 连接池配置
pool.size = 2
pool.max = 50
XML file 会自动生成XML头,在下面加入内容就可以了,首先要有一个根节点,然后如果需要用到一些类,如:spring的一些类,就需要引入包,如:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns=" http://www.springframework.org/schema/beans"
xmlns:mvc=" http://www.springframework.org/schema/mvc"
xsi:schemaLocation=" http://www.springframework.org/schema/beans
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<context:component-scan base-package="com.dist.*.controller" />
</beans >
其中<?xml ……就是头,<beans 是根节点,下面的<content:……是内容。
如果添加的事properties文件,格式如下:
# 连接池配置
pool.size = 2
pool.max = 50
过滤ip一般采用filter的形式,至于读xml文件dom等都可以,太多了。
追问:
我不能在web.xml中配置,要新建一个配置文件,怎么才能读到这个配置文件?这就是我的问题:怎么新建另一个类似web.xml的其他.xml。
追答:
读文件本身并不在乎文件在哪里,你可以把文件放在类的目录里,放在jar里,放在web的访问目录里,也可以放在服务器任何可以被访问的目录里,唯一需要的只是通知xml解析程序去哪里读,和怎么解析而已。最简单的是放在类目录里,直接就可以访问呢了。
追问:
我就想新建一个配置文件,应该怎么做?你能不能简单的就只告诉我这个????
追答:
你在src根目录随便起个名字建个xml文件就可以了啊。这本来就是很简单的事,为什么要复杂化。 读的时候,写上文件名就可以访问了。
追问:
读到时候应该怎么读呢?之前在web.xml中,只需要 filterIP = conf ig.getInitParameter("filterIP") 就可以了,现在换了地方,应该怎么读到呢?怎么写上文件名?
追答:
如果你要使用xml文件,那么xml文件就应该要自己确定一下,root的名称,包含的属性。然后编写dom4j解析这个xml文件,将配置读到对象中,至于读文件时 ,用InputStream input = this.getClass().getClassLoader().getResourceAsStream("ip.xml"); 就可以获取数据流。 不过从我看来,你根本就不懂xml,也没意识到 自己要做什么,我还是建议你改用属性文件,或者使用spring注入的方式把ip作为参数读入。
追问:
我确实不懂,所以我着急。获取数据流然后呢?我想获取的是我配置的那个IP,接下来该怎么办?
追答:
你去查查外面dom4j的说明,网上有很多,都是告诉你,如何正确获取xml中的数据。访问xml没有简单的做法,之所以可以用config.getInitParameter,是由于有web服务器解析了web.xml,你现在要踏踏实实的自己解析xml,那么请至少花些时间,看懂自己要做什么。