目录
5.1.4:Tomcat服务器和Servlet版本的对应关系
⑦手托HTML页面到浏览器和在浏览器中输入http://ip:端口号/工程名/访问的区别?
⑧ROOT的工程的访问,以及默认index.html页面的访问
步骤:添加Tomcat服务器
步骤一:创建动态JavaWeb工程(Add Frameworks Support)
XML简介
1.1:什么是XML?
XML是可扩展(解释:标签名为自定义的)的标记性语言
1.2:XML的作用
①用来保存数据,而且这些数据具有自我描述性
②作为项目或模块的配置文件
③作为网络传输数据的格式(现在以JSON为主)
1.3:XML语法
1.3.1:文档声明
<?xml version="1.0" encoding="utf-8" ?>
<!--
<?xml version="1.0" encoding="utf-8" ?>
以上内容就是xml文件的声明
version="1.0" version表示xml的版本号
encoding="utf-8" encoding表示xml文件本身的编码
-->
<books> <!-- books 表示多个图书信息 -->
<book sn = "SN214150210"> <!--book表示一个图书信息 sn属性表示图书序列号-->
<name>时间简史</name>
<author>霍金</author>
<price>75</price>
</book>
<book sn = "SN214150211"> <!--book表示一个图书信息 sn属性表示图书序列号-->
<name>java入门</name>
<author>小贾</author>
<price>9.9</price>
</book>
</books>
1.3.2:元素(标签)
标签与HTML一样
命名规则:
①名称可以包含字母、数字以及其他的字符
②名称不能以数字或标点符号开始
③名称不能以字符“xml”开始
④名称不能包含空格
1.3.3:XML属性
属性和HTML非常类似,属性可以提供元素的额外信息
1.3.4:XML注释
注释与HTML一样
1.3.5:文本区域(CDATA区)
CDATA语法可以告诉xml解析器,CDATA里的文本内容只是纯文本,不需要xml语法解析
CDATA格式:
<![CDATA[这里可以把你输入的字符原样显示,不需要xml解析]]>
1.4:XML解析技术介绍
不管是HTML文件还是XML文件,它们都是标记性文档,都可以使用w3c组织制定的DOM技术来解析
1.5:dom4j解析技术
由于dom4j不是sun公司的技术,而属于第三方公司的技术,我们需要使用dom4j官网下载dom4j的jar包
1.6:应用举例
<?xml version="1.0" encoding="UTF-8" ?>
<books>
<book sn="SN214150210">
<name>辟邪剑谱</name>
<price>9.9</price>
<author>班主任</author>
</book>
<book sn="214150211">
<name>葵花宝典</name>
<price>99.99</price>
<author>班长</author>
</book>
</books>
package com.jiayifeng.pojo;
import java.math.BigDecimal;
/**
* author 爱编程的小贾
* create 2023-11-06 15:22
*/
public class book {
private String sn;
private String name;
private BigDecimal price;
private String author;
public book() {
}
public book(String sn, String name, BigDecimal 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 BigDecimal getPrice() {
return price;
}
public void setPrice(BigDecimal 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 + '\'' +
'}';
}
}
package com.jiayifeng.pojo;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;
import java.util.List;
/**
* author 爱编程的小贾
* create 2023-11-06 15:37
*/
public class Dom4jTest {
@Test
public void test1(){
SAXReader reader = new SAXReader();
try {
Document doc = reader.read("src/books.xml");
System.out.println(doc);
} catch (DocumentException e) {
throw new RuntimeException(e);
}
}
// 读取books.xml文件生成Book类
@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();
// 3.通过根元素获取book标签对象
// element()和elements()都是通过标签名查找子元素
List<Element> books = rootElement.elements("book");
// 4.遍历,处理每个book标签转换为Book类
for(Element book : books){
//asXML():把标签对象转换为标签字符串
// System.out.println(book.asXML());
Element nameElement = book.element("name");
// System.out.println(nameElement.asXML());
// getText():可以获取标签中的文本内容
String nameText = nameElement.getText();
// System.out.println(nameText);
// 可以直接获取指定标签名的文本内容
String priceText = book.elementText("price");
System.out.println(priceText);
}
}
}
5.1:JavaWeb
5.1.1:JavaWeb的概念
①什么是JavaWeb?
JavaWeb是指所有通过Java语言编写可以通过浏览器访问的程序的总称
JavaWeb是基于请求和响应来开发的
②什么是请求?
请求是指客户端给服务器发送数据,叫请求Request
③什么是响应?
响应是指服务器给客户端回传数据,叫响应Response
④请求和响应的关系?
请求和响应是成对出现的,有请求就有响应
5.1.2:Web资源的分类
Web资源按实现的技术和呈现的效果的不同,又分为静态资源和动态资源两种
静态资源:HTML、CSS、JS、MP4视频、jpg图片
动态资源:jsp页面、Servlet程序
5.1.3:常用的Web服务器
有如下四种:
1、Apache,开源免费,具有简单、高速、性能稳定等特点,可作代理服务器使用;
2、Nginx,是一种高性能的HTTP和反向代理web服务器,支持高并发和负载均衡;
3、IIS,适用于windows系统,可用于监视配置和控制Internet服务;
4、Tomcat,是一个开放源代码,运行servlet和JSP Web应用软件并基于Java的Web应用软件容器,性能稳定,且免费。
具体内容如下:
1、Apache
Apache是目前世界上最流行的Web服务器之一,支持跨平台应用,可以运行在几乎所有的Unix、windows、linux系统平台上,尤其对linux的支持相当完美。
Apache是开源免费的,有很多开发者都参与了设计和改进,推动了产品的持续完善。Apache的特点是简单、高速、性能稳定,可作代理服务器使用。到目前,Apache仍然是世界上用的最多的Web服务器,其成功之处主要在于源码开放、强大的社区支持、跨平台应用以及可移植性等方面。
2、Nginx
Nginx是一种高性能的HTTP和反向代理web服务器,支持高并发和负载均衡,以稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
Nginx可以在大多数Unix/Linux上编译运行,并有Windows移植版。安装简单、配置文件简洁,同时Bug少,几乎可以做到7*24不间断运行,支持在不间断服务的情况下进行软件版本升级。在连接高并发的情况下,Nginx是Apache服务不错的替代品。同时Nginx的模块也非常丰富,能够满足不同的需求,适合做静态使用。
3、IIS
IIS 适用于windows系统,很多著名网站都采用IIS搭建,ASP、.net开发的程序一般也只能在IIS上运行。IIS提供了一个图形界面的管理工具,可用于监视配置和控制Internet服务,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,IIS的使用让网络(包括互联网和局域网)上的信息发布变得非常简单。
4、Tomcat
Tomcat是一个开放源代码、运行servlet和JSP Web应用软件、并基于Java的Web应用软件容器。由于技术先进、性能稳定,而且免费,深受Java 爱好者欢迎,同时,也得到了部分软件开发商认可,成为目前比较流行的Web应用服务器。
Tomcat 属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。不过,Tomcat处理静态HTML的能力不如Apache服务器。
5.1.4:Tomcat服务器和Servlet版本的对应关系
Tomcat | Servlet/JSP版本 | JavaEE | 运行环境 |
4.1 | 2.3/1.2 | 1.3 | JDK 1.3 |
5.0 | 2.4/2.0 | 1.4 | JDK 1.4 |
5.5/6.0 | 2.5/2.1 | 5.0 | JDK 5.0 |
7.0 | 3.0/2.2 | 6.0 | JDK 6.0 |
8.0 | 3.1/2.3 | 7.0 | JDK 7.0 |
5.1.5:Tomcat的使用
①安装
找到你需要用的Tomcat版本对应的zip压缩包,解压到需要安装的目录即可
安装步骤:http://t.csdnimg.cn/s9T3A
②目录介绍
bin:专门用来存放Tomcat服务器的可执行程序
conf:专门用来存放Tomcat服务器的配置文件
lib:专门用来存放Tomcat服务器的jar包
logs:专门用来存发Tomcat服务器运行时输出的日记信息
temp:专门用来存放Tomcat运行时产生的临时数据
webapps:专门用来存放部署的Web工程
work:是Tomcat工作时的目录,用来存放Tomcat运行时jsp翻译为Servlet的源码,和Session钝化的目录
③如何启动Tomcat服务器?
找到Tomcat目录下的bin目录下startup.bat文件,双击打开,就可以启动Tomcat服务器
A.如何测试Tomcat服务器启动成功?
a.http://localhost:8080
b.http://127.0.0.1:8080
c.http://真实ip:8080
d.win+r(打开命令行) -> 输入startup.bat命令
B.当出现如下界面,就说明Tomcat服务器启动成功!
④Tomcat的停止
a.点击Tomcat服务器窗口的x关闭按钮
b.把Tomcat服务器窗口置为当前窗口,然后按快捷键:Ctrl+C
c.找到Tomcat的bin目录下的shutdown.bat双击,就可以停止Tomcat服务器
⑤如何修改Tomcat的端口号?
找到Tomcat目录下的conf目录,找到server.xml配置文件
⑥如何部署web工程到Tomcat中?
第一种方法:只需要把web工程的目录拷贝到Tomcat的webapps目录下即可
在浏览器中输入访问地址格式如下:
http://ip:port/工程名/目录下/文件名
第二种方法:找到Tomcat下的conf目录\Catalina\localhost\下,创建如下的配置文件
//Context表示一个工程上下文
//path表示工程的访问路径
//docBase表示你的工程目录在哪里
<Context path="/abc" docBase="E:\book"/>
⑦手托HTML页面到浏览器和在浏览器中输入http://ip:端口号/工程名/访问的区别?
a.手托HTML页面到浏览器,这个时候浏览器中的地址如下: 观察上图,我们发现,它使用的协议是file://协议
file协议表示告诉浏览器直接读取file:协议后面的路径,解析展示在浏览器上即可
b.如果在浏览器地址栏中输入地址如下:
所使用的协议是http协议。两种背后的原因完全不同
⑧ROOT的工程的访问,以及默认index.html页面的访问
当我们在浏览器地址栏中输入访问地址如下:
http://ip:port/ --> 没有工程名的时候,默认访问的是ROOT工程
当我们在浏览器地址栏中输入访问地址如下:
http://ip:port/工程名/ --> 没有资源名,默认访问index.html页面
5.1.6:IDEA整合Tomcat服务器
只有企业版中有javaEE,可以配置服务器(社区版本无法配置)
步骤:添加Tomcat服务器
5.1.7:IDEA中动态web工程的操作
步骤一:创建动态JavaWeb工程(Add Frameworks Support)
http://t.csdnimg.cn/qQTxz(new中没有增加项目框架的解决方法)
创建成功如下图所示:
注:一般项目创建成功后,在web下创建一个lib目录,用于存放jar包
步骤二:添加项目所需类库(jar包)
步骤三:在IDEA中部署工程到Tomcat上运行
①建议修改web工程对应的Tomcat运行实例名称
②确认你的Tomcat实例中有你要部署运行的文本工程模块
③你可以修改你的Tomcat实例启动后默认的访问地址