Java web 开发简介
web浏览器通过控制层,servlet 进入到模型层,ejb(已过时) javaBean(已过时) 处理完成以后,进入jsp页面,生成HTML进入显示层,由模型层,进入持久层,即,数据库中。
apache提供了标准的MVC 即 Struts
由客户端请求,数据流进入中间层,即web容器,struts框架,servlet(已不在使用netty偏多) jsps HTML 然后web容器访问java EE 服务,如JNDL JDBC 然后和 EJB容器交互,最后返回给客户端
生成DOM树,然后解析
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
// 获得DocumentBuildFactory 工厂对象
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
// 获得对象
DocumentBuilder documentBuilder = null;
try{
documentBuilder = documentBuilderFactory.newDocumentBuilder();
// 配置错误
}catch (ParserConfigurationException e){
e.printStackTrace();
}
// 生成DOM树
Document document = null;
try{
// 读取XML文件
document = documentBuilder.parse("/home/ming/IdeaProjects/untitled/src/name.XML");
// XML解析器基本错误
}catch (SAXException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
// 输出name节点
NodeList nodeList = document.getElementsByTagName("name");
// 输出文本内容
// 返回集合中的第一项,的第一个子节点的第一个名字
System.out.println(nodeList.item(0).getFirstChild().getNodeValue());
}
使用SAX解析器的时候触发事件, 扫描文档的时候,会触发相关的事件
只需要继承DefaultHandler 重写其中的开始,结束,元素开始,元素结束的方法,然后获得解析工厂,并从工厂中获得解析器,然后在解析器中调用重写类生成的对象。
JDOM
DOM4J