「javaxml放在」javaxml文件

博主:adminadmin 2022-11-27 04:36:07 57

今天给各位分享javaxml放在的知识,其中也会对javaxml文件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

怎么在java类中加载xml文件

JAVA与XML文件,可以说是软件开发的“黄金搭档”,而如何使用JAVA完成对XML文件的读取,是我们首先要解决的问题。

一、XML文件

这个示例文件包括了用来打开ORACLE数据库的各种参数

?xml version="1.0" encoding="UTF-8"?

dbmsg

dbinfo

drivernameoracle.jdbc.driver.OracleDriver/drivername

sConnStrjdbc:oracle:thin:@11.88.225.80:1521:VOUCHERDB/sConnStr

usernameSYS AS SYSDBA/username

passwordvoucherdb/password

/dbinfo

/dbmsg

二、编写类名为ReadXml的类,用于解析XML文件

我们要在应用程序中打开数据库,就必须完成对该文件中drivername、sConnStr、username、password的读取,通过查找有关资料,笔者编制了以下程序,用于读取文件名为filename的XML文件。

package voucher.basic;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;

import org.xml.sax.SAXException;

public class ReadXml {

private String drivername;

private String sConnStr;

private String username;

private String password;

public String getDrivername() {

return drivername;

}

public String getSConnStr() {

return sConnStr;

}

public String getUsername() {

return username;

}

public String getPassword() {

return password;

}

public void setDrivername(String drivername) {

this.drivername = drivername;

}

public void setSConnStr(String connStr) {

sConnStr = connStr;

}

public void setUsername(String username) {

this.username = username;

}

public void setPassword(String password) {

this.password = password;

}

public ReadXml(String fileName){

DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();

try {

DocumentBuilder dombuilder=domfac.newDocumentBuilder();

InputStream is=new FileInputStream(fileName);

Document doc=dombuilder.parse(is);

Element root=doc.getDocumentElement();

NodeList dbinfo=root.getChildNodes();

if(dbinfo!=null){

for(int i=0;idbinfo.getLength();i++){

Node db=dbinfo.item(i);

for(Node node=db.getFirstChild();node!=null;node=node.getNextSibling()){

if(node.getNodeType()==Node.ELEMENT_NODE){

if(node.getNodeName().equals("drivername")){

setDrivername(node.getFirstChild().getNodeValue());

}

if(node.getNodeName().equals("sConnStr")){

setSConnStr(node.getFirstChild().getNodeValue());

}

if(node.getNodeName().equals("username")){

setUsername(node.getFirstChild().getNodeValue());

}

if(node.getNodeName().equals("password")){

setPassword(node.getFirstChild().getNodeValue());

}

}

}

}

}

} catch (ParserConfigurationException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SAXException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

这个以ReadXml命名的类,使用了参数为文件名的构造方法,用户只要将配置文件我名称传递给该方法,就可以完成对XML文件的解析,进而完成对相应参数数的读取。

三、如何获取XML文件全路径并读取配置参数

获取XML文件全路径的方法有两个,一是在servlet中获取,二是在单独的JAVA类中获取。

1.在servlet中获取XML文件的全路径并读取配置参数

程序片段String dirPath = getServletContext().getRealPath( "/WEB-INF");

String fileName = dirPath + "/conn.xml";

ReadXml xm = new ReadXml(fileName);

String DriverName = xm.getDrivername();

String connStr = xm.getSConnStr();

String user = xm.getUsername();

String pas = xm.getPassword();

将这段程序添加到servlet中dopost()之后即可完成参数的读取

2.在单独的JAVA类中获取全路径并读取配置参数

程序片段

String dirpath = System.getProperty("user.dir");

String xmlFile = dirpath + "/WebRoot/WEB-INF/conn.xml";

ReadXml rdxml = new ReadXml(xmlFile);

String driverName = rdxml.getDrivername();

String sConnStr = rdxml.getSConnStr();

String userName = rdxml.getUsername();

String passWord = rdxml.getPassword();

注:配置文件conn.xml保存在webroot/WEB-INF目录中。

java中xml有什么作用,用在什么地方?

java中xml一般是用来当做配置文件的,比方说struts的struts.xml、spring的application.xml,这里面记录的一般是配置信息,比方说servlet配置,映射注入配置等等都可以用xml来配置,当然配置也可以写入数据库,如果配置和程序的业务无关,也和系统配置无关,仅仅和系统构架有关,那就可以把配置写入xml里面来存储这些配置。

xml放哪儿java才能解析???

这个没什么限制的。

绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:

C:xyz est.txt 代表了test.txt文件的绝对路径。也代表了一个URL绝对路径。

相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在

Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。

参考:

java读xml相对路径问题

如果你发布项目的话,绝对路径是不行的(那是你本地电脑上的路径)

这时应该用类加载器来读取类的路径,你可以把xml文件放到src目录下,这个目录时存放源代码和字节码的

class.getClassloader.get,,,,,,

class表示当前类的class对象,getClassLoader获得类加载器

后面的一个方法我记不太清了,是获取IO流的方法,你找找看

这种方法即使你发布工程到tomcat上也没问题

java中spring框架中的beanConfig.xml配置文件放在哪里呢

这个不是一定的,随你自己的意思,你可以放在WEB-INF里,也可以放在classpath下。只需在配置web.xml时指定位置即可。

listener

listener-class

org.springframework.web.context.ContextLoaderListener

/listener-class

/listener

context-param

param-namecontextConfigLocation/param-name

param-value

classpath:beans.xml

/param-value

/context-param

上面就是web.xml中对spring容器的初始化配置,context-param中param-value中的classpath:beans.xml 即是spring配置文件beans.xml的位置(classpath下,在myeclipse的工程中是src目录下)

java web项目中struts.xml有的放在src下有的放在web-inf下面

struts.xml文件不是只能放在src文件夹下,其实他放在那个文件夹下都可以,比如你说的WEB-INF下,但是问什么真是的项目中是放在src下呢,这是由于,前端控制器在问web文件中查找struts.xml文件不需要再配置文件的位置了,如果你像放在其他的文件夹下,需要在web.xml文件中做相关的配置,但是不建议你这样做,真正的项目就是放在src下的。

javaxml放在的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javaxml文件、javaxml放在的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-27,除非注明,否则均为首码项目网原创文章,转载请注明出处。