标签:Java
1.1 上次课内容回顾:JDBC :
* JDBC的概述:
* JDBC:Java Database Connectivity
* JDBC的API:
* Connection:连接.
* 获得连接.
* 执行事务的管理.
* Statement:
* 执行SQL语句.
* int executeUpdate(String sql);
* ResultSet executeQuery(String sql);
* boolean execute(String sql);
* ResultSet:
* getXXX(int idx),getXXX(String name);
* JDBC完成CRUD的操作:
连接池:
* 自定义连接池:(了解)
* 增强一个类中的某个方法有几种方式:
* 继承:
* 控制控制这个类的构造.
* 装饰者模式:
* 增强的类和被增强类实现相同的接口.
* 在增强类中获得被增强的类引用.
* 接口中方法过多,增强其中一个方法,其他方法都要重写.
* 动态代理:
* 被增强的类实现了接口即可.
* 编写代码的时候麻烦.
* DBCP:
* C3P0:
DbUtils:工具类:
* 使用DBUtils完成CRUD的操作
1.2 案例一:使用XML作为配置文件的方式完成模拟Tomcat.1.2.1 需求:
现在有一套页面,这套页面想被其他人访问到.端口号可以进行修改的-(不修改源码的基础上).
1.2.2 分析:1.2.2.1 技术分析:
【Java基础的网络编程】
【XML的概述】
? 什么是XML:
**** 允许用户自定义标签的!!!
? XML的作用:
* 传输 和 存取数据.
* 软件的配置文件.
? XML的使用:
* XML的语法.
【XML的语法】
? XML的基本语法:
* XML必须有关闭标签
* 区分大小写
* 属性需要有引号
* 标签必须正确嵌套.
? XML的文档声明
* 文档声明:通常出现在XML的第一行第一列的位置!!!
* 写法:
* <?xml 属性名=”属性值” 属性名=”属性值” ...?>
* version :必须的. 使用”1.0”
* encoding :字符集. 是使用浏览器打开的时候采用的默认的字符集的编码.
* standalone :描述XML文档是否需要依赖其他的文件.
? XML的注释
* <!-- XML的注释 -->
? XML的元素
代码:br/>@Test
/**
DOM4J的XPath的写法:
/
public void demo2() throws Exception{
// 创建解析器:
SAXReader reader = new SAXReader();
// 解析XML返回Document对象.
Document document = reader.read("xml/demo1.xml");
/List<Node> list = document.selectNodes("//name");
for (Node node : list) {
Element element = (Element) node;
System.out.println(element.getText());
}*/
List<Node> list = document.selectNodes("//person[‘@id‘]");
for (Node node : list) {
Element element = (Element) node;
System.out.println(element.attributeValue("id"));
}
}
1.2.3 代码实现:
【步骤一】:将基础班的Socket编写的代码复制到工程中.
【步骤二】:新建xml.在conf/server.xml
【步骤三】:使用DOM4J解析XML
public class MyServer {
public static void main(String[] args) throws Exception {
// 解析XML:
// 创建解析器
SAXReader reader = new SAXReader();
// 解析XML文档:
Document document = reader.read("conf/server.xml");
Element element = (Element)document.selectSingleNode("//Connector[‘@port‘]");
String port = element.attributeValue("port");
// ServerSocket 对象可以监听端口
ServerSocket serversocket = new ServerSocket(Integer.parseInt(port));
while(true) {
Socket socket = serversocket.accept(); // 等待客户端的连接请求,一旦有请求过来,就结束阻塞,返回客户端对象
//System.out.println(socket.getInetAddress());
// 一旦有客户来访问, 就另开一个新线程去提供服务, main线程继续等待下一个客户的连接
new Thread(new MyService(socket)).start();
}
}
}
1.2.4 总结:1.2.4.1 XML的约束:
? XML的约束的额概述:
DTD的引入方式:
]>
DTD的语法:
元素:
标签:Java
原文地址:http://blog.51cto.com/13517854/2117370