
每个 servlet 中 webxml 中可以有 <init-param > 参数,在 servlet 的 init 方法中可以把它们取出来并保存在某个地方(比如一个静态成员变量中,或者一个静态的 map 变量中,因为这个参数不会改变,因此可以直接放在静态变量中),其它的 Java 类就能去静态变量中取得这个参数。
如果你的程序不是一个 web 程序的话,可以把它放在命令行 -Djdbcdrive=orggitmmmysqlDriver 这样的参数中,之后程序可以用 SystemgetProperty("jdbcdriver"); 读取出来。或者放在一个 properties 配置文件中,然后读取这个properties 文件。
java中利用HtmlAgilityPack API就可以把html解析成xml了。
在HtmlAgilityPack中常用到的类有HtmlDocument、HtmlNodeCollection、
HtmlNode和HtmlWeb等。
其流程一般是先获取HTML,这个可以通过HtmlDocument的Load()或LoadHtml()来加载静态内容,或者也可以HtmlWeb的Get()或Load()方法来加载网络上的URL对应的HTML。
得到了HtmlDocument的实例之后,就可以用HtmlDocument的DocumentNode属性,这是整个HTML文档的根节点,它本身也是一个HtmlNode,然后就可以利用HtmlNode的SelectNodes()方法返回多个HtmlNode的集合对象HtmlNodeCollection,也可以利用HtmlNode的SelectSingleNode()方法返回单个HtmlNode。
HtmlAgilityPack确实是一个功能强大、体积小的开源HTML解析类库,在本篇仅仅是介绍了其中几个类的用法,但光这些就足以供周公快速实现了许久没有实现的功能,如果让周公用正则表达式来实现类似的功能,时间肯定要比用这个长得多。
dom4j的写法大概如下:
String xml = "上述的xml字符串";Document doc = DocumentHelperparseText(xml);
Element rootElt = docgetRootElement();
//有了根节点以后就可以为所欲为了
String userName = rootEltelement("adaptor-attributes")attribute("user-name")asXML();
String password = rootEltelement("adaptor-attributes")attribute("password")asXML();
java读取xml信息常用技术有dom解析和dom4J解析
dom4j是最常用的java解析xml技术,在使用时需要下载dom4jjar
具体解析方法可以参考一下内容
xml结构
<books>
<book id="001">
<title>Harry Potter</title>
<author>J K Rowling</author>
</book>
<book id="002">
<title>Learning XML</title>
<author>Erik T Ray</author>
</book>
</books>
java读取xml节点元素,主要使用java提供的解析xml的工具类SAXParserFactory,如下代码:
package xmlxmlreader;import javaioFile;import javanetURL;import javautilProperties;import javaxxmlparsersSAXParser;import javaxxmlparsersSAXParserFactory;public class CFGParser {//解析xml文件的工具类 private Properties props; public Properties getProps() { return props; } public void setProps(Properties props) { thisprops = props; } public void parse(String filename) throws Exception { CFGHandler handler = new CFGHandler(); SAXParserFactory factory = SAXParserFactorynewInstance(); factorysetNamespaceAware(false); factorysetValidating(false); SAXParser parser = factorynewSAXParser(); URL confURL = supergetClass()getClassLoader()getResource(filename); if (confURL == null) { Systemoutprintln("Can't find configration file"); return; } try { parserparse(confURLtoString(), handler); thisprops = handlergetProps(); } finally { factory = null; parser = null; handler = null; } } public void parseFile(String filename) throws Exception { CFGHandler handler = new CFGHandler(); SAXParserFactory factory = SAXParserFactorynewInstance(); factorysetNamespaceAware(false); factorysetValidating(false); SAXParser parser = factorynewSAXParser(); File f = new File(filename); if ((f == null) || (!fexists())) return; try { parserparse(f, handler); thisprops = handlergetProps(); } finally { factory = null; parser = null; handler = null; } }}package xmlxmlreader;import javautilProperties;import orgxmlsaxAttributes;import orgxmlsaxSAXException;import orgxmlsaxhelpersDefaultHandler; public class CFGHandler extends DefaultHandler{ private Properties props; private String currentSet; private String currentName; private StringBuffer currentValue = new StringBuffer(); public CFGHandler() { thisprops = new Properties(); } public Properties getProps() { return thisprops; } public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { thiscurrentValuedelete(0, thiscurrentValuelength()); thiscurrentName = qName; } public void characters(char[] ch, int start, int length) throws SAXException { thiscurrentValueappend(ch, start, length); } public void endElement(String uri, String localName, String qName) throws SAXException { thispropsput(qNametoLowerCase(), thiscurrentValuetoString()trim()); }}xml文件 <xml version="10" encoding="UTF-8"><xml-body> <refresh_userlist desc="用户列表刷新间隔时间(秒)">6</refresh_userlist> <refresh_message desc="短消息刷新间隔时间(秒)">10</refresh_message> <morningbegin desc="上午上班时间">23:00</morningbegin> <morningend desc="上午下班时间">12:00</morningend> <afternoonbegin desc="下午上班时间">18:00</afternoonbegin></xml-body>jsp获取各个节点的值:<%@ page language="java" import="javautil" pageEncoding="UTF-8"%><html> <jsp:useBean id="cfgp" scope="page" class="xmlxmlreaderCFGParser"></jsp:useBean> <body> <% cfgpparse("kaoqinxml"); Properties pro = cfgpgetProps(); String stTime = progetProperty("morningbegin"); String edTime = progetProperty("morningend"); String afternoonbegin = progetProperty("afternoonbegin"); outprintln(stTime+"\n"+edTime+"\n"+afternoonbegin); Systemoutprintln(stTime+"\n"+edTime+"\n"+afternoonbegin); %> </body></html>
如果是要取出全部的值建议解析WEBXML然后取值如果是取某个特定的值可以用下面的:
webxml里面可以定义两种参数:
(1)application范围内的参数,存放在servletcontext中,在webxml中配置如下:xml 代码
<context-param>
<param-name>context/param</param-name>
<param-value>avalible during application</param-value>
</context-param> (2)servlet范围内的参数,只能在servlet的init()方法中取得,在webxml中配置如下:xml 代码
<servlet>
<servlet-name>MainServlet</servlet-name>
<servlet-class>comwescontrollerMainServlet</servlet-class>
<init-param>
<param-name>param1</param-name>
<param-value>avalible in servlet init()</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet> 在servlet中可以通过代码分别取用:java 代码
package comtest;
import javaxservletServletException;
import javaxservlet>
以上就是关于java文件中怎么获取web.xml中的全局参数全部的内容,包括:java文件中怎么获取web.xml中的全局参数、JAVA怎么把HTML转换XML格式、java怎么读取xml文件 如下,获取username和password等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)