books.xml
<?xml version="1.0" encoding="utf-8" ?>
< books>
< book sn = " SN123412123412" >
< name> 时间简史</ name>
< author> 霍金</ author>
< price> 75</ price>
</ book>
< book sn = " SN123412123411" >
< name> java从入门到放弃</ name>
< author>
< JAVA>
<![CDATA[<<<<<]沙老师
]]>
</ author>
< price> 9.9</ price>
</ book>
</ books>
books.xml
<?xml version="1.0" encoding="UTF-8"?>
< books>
< book sn = " SN12341232" >
< name> 辟邪剑谱</ name>
< price> 9.9</ price>
< author> 班主任</ author>
</ book>
< book sn = " SN12341231" >
< name> 葵花宝典</ name>
< price> 99.99</ price>
< author> 班长</ author>
</ book>
</ books>
Book
package com.sq.pojo;
import java.math.BigDecimal;
/**
* @author 21115
* @ date 2021/9/21
*/
public class Book {
private String sn;
private String name;
private double /*BigDecimal*/ price;
private String author;
public Book() {
}
public Book(String sn, String name, double price, String author) {
this.sn = sn;
this.name = name;
this.price = price;
this.author = author;
}
public String getSn() {
return sn;
}
public void setSn(String sn) {
this.sn = sn;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
@Override
public String toString() {
return "Book{" +
"sn='" + sn + '\'' +
", name='" + name + '\'' +
", price=" + price +
", author='" + author + '\'' +
'}';
}
}
Dom4jTest
package com.sq.pojo;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;
import java.util.List;
/**
* @author 21115
* @ date 2021/9/21
*/
public class Dom4jTest {
@Test
public void test1(){
SAXReader reader = new SAXReader();
try {
Document doc = reader.read("src/books.xml");
System.out.println(doc);
//org.dom4j.tree.DefaultDocument@470e2030 [Document: name src/books.xml]
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void test2() throws Exception{
// 1.读取 books.xml 文件
SAXReader reader = new SAXReader();
// 在 Junit 测试中,相对路径是从模块名开始算
Document document = reader.read("src/books.xml");
// 2.通过 Document 对象获取根元素
Element rootElement = document.getRootElement();
// System.out.println( rootElement );
//org.dom4j.tree.DefaultElement@470e2030 [Element: < books attributes: [] /> ]
// 3.通过根元素获取 book 标签对象
// element() 和 elements() 都是通过标签名查找子元素
List< Element> books = rootElement.elements("book");
// 4.遍历,处理每个 book 标签转换为 Book 类
for(Element book : books){
// asXML() 把标签对象。转换为标签字符串
// System.out.println( book.asXML() );
// < book sn = " SN12341232" >
// < name> 辟邪剑谱</ name>
// < price> 9.9</ price>
// < author> 班主任</ author>
// </ book>
// < book sn = " SN12341231" >
// < name> 葵花宝典</ name>
// < price> 99.99</ price>
// < author> 班长</ author>
// </ book>
Element nameElement = book.element("name");
// System.out.println( nameElement.asXML() );
// < name> 辟邪剑谱</ name>
// < name> 葵花宝典</ name>
// getText(): 可以获取标签中的文本内容
String nameText = nameElement.getText();
// System.out.println(nameText);
// 辟邪剑谱
// 葵花宝典
// 直接 获取指定标签名的文本内容
String priceText = book.elementText("price");
// System.out.println(priceText);
// 9.9
// 99.99
String authorText = book.elementText("author");
// System.out.println(authorText);
// 班主任
// 班长
String snValue = book.attributeValue("sn");
System.out.println(new Book(snValue,nameText,Double.parseDouble(priceText),authorText));
// Book{sn='SN12341232', name='辟邪剑谱', price=9.9, author='班主任'}
// Book{sn='SN12341231', name='葵花宝典', price=99.99, author='班长'}
}
}
}
/*
1.JavaWeb 的概念
a) 什么是 JavaWeb
JavaWeb 是指,所有通过 Java 语言编写可以通过浏览器访问的程序的总称,叫 JavaWeb。
JavaWeb 是基于请求和响应来开发的。
b) 什么是请求
请求是指客户端给服务器发送数据,叫请求 Request。
c)什么是响应
响应是指服务器给客户端回传数据,叫响应 Response。
d)请求和响应的关系
请求和响应是成对出现的,有请求就有响应。
2.Web 资源的分类
web 资源按实现的技术和呈现的效果的不同,又分为静态资源和动态资源两种。
静态资源: html、css、js、txt、mp4 视频 , jpg 图片
动态资源: jsp 页面、Servlet 程序
3.常用的 Web 服务器
Tomcat: 由 Apache 组织提供的一种 Web 服务器,提供对 jsp 和 Servlet 的支持。它是一种轻量级的 javaWeb 容器(服务
器),也是当前应用最广的 JavaWeb 服务器(免费)。
Jboss: 是一个遵从 JavaEE 规范的、开放源代码的、纯 Java 的 EJB 服务器,它支持所有的 JavaEE 规范(免费)。
GlassFish: 由 Oracle 公司开发的一款 JavaWeb 服务器,是一款强健的商业服务器,达到产品级质量(应用很少)。
Resin: 是 CAUCHO 公司的产品,是一个非常流行的服务器,对 servlet 和 JSP 提供了良好的支持,
性能也比较优良,resin 自身采用 JAVA 语言开发(收费,应用比较多)。
WebLogic:是 Oracle 公司的产品,是目前应用最广泛的 Web 服务器,支持 JavaEE 规范,
而且不断的
4.Tomcat 服务器和 Servlet 版本的对应关系
当前企业常用的版本 7.*、8.*
Servlet 程序从 2.5 版本是现在世面使用最多的版本(xml 配置)
到了 Servlet3.0 之后。就是注解版本的 Servlet 使用。
以 2.5 版本为主线讲解 Servlet 程序。 5.Tomcat 的使用
a) 安装
找到你需要用的 Tomcat 版本对应的 zip 压缩包,解压到需要安装的目录即可。
b) 目录介绍
bin 专门用来存放 Tomcat 服务器的可执行程序
conf 专门用来存放 Tomcat 服务器的配置文件
lib 专门用来存放 Tomcat 服务器的 jar 包
logs 专门用来存放 Tomcat 服务器运行时输出的日记信息
temp 专门用来存放 Tomcat 运行时产生的临时数据
webapps 专门用来存放部署的 Web 工程。
work 是 Tomcat 工作时的目录,用来存放 Tomcat 运行时 jsp 翻译为 Servlet 的源码,和 Session 钝化的目录。
c) 如何启动 Tomcat 服务器
找到 Tomcat 目录下的 bin 目录下的 startup.bat 文件,双击,就可以启动 Tomcat 服务器。
如何测试 Tomcat 服务器启动成功???
打开浏览器,在浏览器地址栏中输入以下地址测试:
1、http://localhost:8080
2、http://127.0.0.1:8080
3、http://真实 ip:8080
当出现如下界面,说明 Tomcat 服务器启动成功!!!
常见的启动失败的情况有,双击 startup.bat 文件,就会出现一个小黑窗口一闪而来。
这个时候,失败的原因基本上都是因为没有配置好 JAVA_HOME 环境变量。
配置 JAVA_HOME 环境变量:
常见的 JAVA_HOME 配置错误有以下几种情况:
一:JAVA_HOME 必须全大写。
二:JAVA_HOME 中间必须是下划线,不是减号-
三:JAVA_HOME 配置的路径只需要配置到 jdk 的安装目录即可。不需要带上 bin 目录。 另一种启动 tomcat 服务器的方式
1、打开命令行
2、cd 到 你的 Tomcat 的 bin 目录下
3、敲入启动命令: catalina run
d) Tomcat 的停止
1、点击 tomcat 服务器窗口的 x 关闭按钮
2、把 Tomcat 服务器窗口置为当前窗口,然后按快捷键 Ctrl+C
3、找到 Tomcat 的 bin 目录下的 shutdown.bat 双击,就可以停止 Tomcat 服务器
e) 如何修改 Tomcat 的端口号
Mysql 默认的端口号是:3306
Tomcat 默认的端口号是:8080
找到 Tomcat 目录下的 conf 目录,找到 server.xml 配置文件。
平时上百度:http://www.baidu.com:80
HTTP 协议默认的端口号是:80
f) 如何部暑 web 工程到 Tomcat 中
第一种部署方法:只需要把 web 工程的目录拷贝到 Tomcat 的 webapps 目录下
即可。
1、在 webapps 目录下创建一个 book 工程:
2、把上午做的书城第一阶段的内容拷贝到里面:
3、如何访问 Tomcat 下的 web 工程。
只需要在浏览器中输入访问地址格式如下:
http://ip:port/工程名/目录下/文件名
第二种部署方法:
找到 Tomcat 下的 conf 目录\Catalina\localhost\ 下,创建如下的配置文件:
abc.xml 配置文件内容如下:
< Context path = " /abc" docBase = " E:\book" />
访问这个工程的路径如下:http://ip:port/abc/ 就表示访问 E:\book 目录
g) 手托 html 页面到浏览器和在浏览器中输入 http://ip:端
口号/工程名/访
6.IDEA 整合 Tomcat 服务器
操作的菜单如下:File | Settings | Build, Execution, Deployment | Application Servers
配置你的 Tomcat 安装目录:
就可以通过创建一个 Model 查看是不是配置成功!!!
7.IDEA 中动态 web 工程的操作
a) IDEA 中如何创建动态 web 工程
1、创建一个新模块:
2、选择你要创建什么类型的模块:
3、输入你的模块名,点击【Finish】完成创建。
4、创建成功如下图:
b) Web 工程的目录介绍
c) 如何给动态 web 工程添加额外 jar 包
1、可以打开项目结构菜单操作界面,添加一个自己的类库:
2、添加你你类库需要的 jar 包文件。
3、选择你添加的类库,给哪个模块使用:
4、选择 Artifacts 选项,将类库,添加到打包部署中:
d) 如何在 IDEA 中部署工程到 Tomcat 上运行
1、建议修改 web 工程对应的 Tomcat 运行实例名称:
2、确认你的 Tomcat 实例中有你要部署运行的 web 工程模块:
3、你还可以修改你的 Tomcat 实例启动后默认的访问地址:
4、在 IDEA 中如何运行,和停止 Tomcat 实例。
4.1、正常启动 Tomcat 实例:
4.2、Debug 方式启动 Tomcat 运行实例:
4.3、停止 Tomcat 运行实例:
4.4、重启 Tomcat 运行实例:
e) 修改工程访问路径
f) 修改运行的端口号
g) 修改运行使用的浏览器
h) 配置资源热部署
*/
http://ip地址:port端口号
部署
<--
Context 表示一个工程上下文
path 表示工程的访问路径:/abc
docBase 表示你的工程目录在哪里
-->
< Context path = " /web03" docBase = " E:\IdeaProjects\JavaWeb\out\artifacts\web03_war_exploded" />