1 正式步入JavaWeb
1.1 JavaWeb说明
JavaWeb是指所有通过Java语言编写的可以通过浏览器访问的程序的总称,JavaWeb是 基于请求和响应 来开发的。
请求: 请求Request是指客户端给服务器发送数据。
响应: 响应Response是指服务端给客户端回传数据。
请求和响应的关系:成对出现
1.2 Web资源与常见的Web服务器
web资源按照实现的技术和呈现的效果不同,分为静态资源和动态资源:
静态资源: html、css、js、txt、mp4视频、jpg图片等。
动态资源: jsp页面、Servlet程序等。
常见的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 规范,而且不断的完善以适应新的开发要求,适合大型项目(收费,用的不多,适合大公司)。
2 Tomcat安装与配置
2.1 Tomcat服务器简介与版本
Apache Tomcat 是由 Apache Software Foundation(ASF)开发的一个开源 Java WEB 应用服务器。由于 Tomcat 是由 Java 语言实现的,因此需要运行在 Java 虚拟机上,所以使用前要先安装 JDK,以提供运行环境。
Tomcat 实现的几个 Java EE 规范中,有一个很重要的规范 Servlet,通过它我们可以运行自己编写的 Servlet 应用程序处理动态请求,即实现动态页面。
而Tomcat 的 Connector 组件实现了 HTTP 请求的解析,可以把 Tomcat 看作是一个 HTTP 服务器,Tomcat 可以通过 Connector 组件接收 HTTP 请求并解析,然后把解析后的信息交给 Servlet 处理:
对于静态资源(html/css/js 等)请求:Tomcat 提供默认的 Servlet 来处理响应
对于动态请求:可以映射到自己编写的 Servlet 应用程序来处理
2.2 Tomcat服务器的安装
2.2.1 Windows下Tomcat的安装与启动
进入 Tomcat 官网:https://tomcat.apache.org/
选中Tomcat8(以Tomcat8为例)
选择 zip 压缩包,下载后解压即可
打开 Tomcat 文件夹,进入 bin 目录,双击 startup.bat 就可以运行 Tomcat 服务器
2.2.2 Linux下Tomcat安装与启动
1️⃣首先切换到 opt 目录(opt 是给主机额外安装软件(安装包)所存放的目录)
cd /opt 1
2️⃣通过 wget 方式来下载 Tomcat 的安装包
wget https://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.5.73/bin/apache-tomcat-8.5.73.tar.gz 1
3️⃣将下载的 Tomcat 压缩包进行解压
tar xzf apache-tomcat-8.5.73.tar.gz 1
4️⃣通过 startup.sh 运行 Tomcat 服务器
/opt/apache-tomcat-8.5.73/bin/startup.sh 1
2.3 Tomcat启动测试
打开浏览器,在浏览器地址栏中输入以下地址进行测试(任选):
1. http://localhost:8080 2. http://127.0.0.1:8080 3. http://真实ip:8080
Tomcat 的默认端口号为 8080(可以在 conf 目录中手动修改)
找到conf目录下的server.xml配置文件,修改connector标签的属性。修改完毕后,需要重启Tomcat才能生效。
当出现以下界面则代表启动成功:
如果你想要访问其他人的 Tomcat,要么他人 Tomcat 使用的是外网 IP,要么你和他的外网必须相同,即在同一局域网下。只有这两种情况你才能访问到他人的 Tomcat,否则就访问不了
当前我们使用的 IP 协议是 IPv4,这个协议下的 IP 地址是一个32位、4个字节的整数,由于该数字并不大,但是全世界联网的设备已经超过了这个数字,因此想要每台主机都有一个独立的 IP 地址是不够的。
因此就采用了 NAT 机制,即多台主机使用一个外网 IP,外网是不同重复的,并且每个相同的外网下的不同主机都有自己独自的内网 IP。如此一来,就很好的解决了 IP 地址不够的问题。
2.4 如何关闭Tomcat
有以下三种方式:
点击tomcat服务器窗口的退出按钮;
将tomcat服务器置为当前窗口,并按下快捷键:ctrl+c
找到Tomcat的bin目录下的shutdown.bat并双击,即可停止Tomcat服务器。
2.5 Tomcat目录结构
bin:专门用来存放Tomcat服务器的可执行程序
conf:专门用来存放Tomcat服务器的配置文件
lib:专门用来存放Tomcat服务器的jar包
logs:专门用来存放Tomcat服务器运行时输出的日记信息
temp:专门用来存放Tomcat运行时产生的临时数据
webapps:专门用来存放部署的Web工程
work:是Tomcat工作时的目录,用来存放Tomcat运行时jsp翻译为Servlet的源码和Servlet钝化的目录。
3 在Tomcat服务器上部署Web工程
3.1 两种部署Web工程的方式
方式1️⃣ 将Web工程的目录拷贝到Tomcat的webapps目录下即可
尝试将之前学习JQuery所完成的项目拷贝到了Tomcat的webapps目录下,项目名称为html,如果想要访问该项目下的某一文件,则只需要在原有访问Tomcat地址的基础上增加项目文件路径,如下图所示:
方式2️⃣ 找到 Tomcat 下的 conf目录 \Catalina\localhost 创建如下的配置文件:
<Context path="/xxx" docBase="C:\xxx"/> 1
Context 表示一个工程上下文
path 表示工程的访问路径
docBase 表示工程目录的位置
此时如果想要访问web项目,则需要在Tomcat的地址后加上/配置文件/要访问的文件
3.2 手托html与浏览器地址访问html的区别
何为手托?
所谓手托,就是找到html文件直接拖入浏览器的打开方式。
手托html的方式:
手托页面到浏览器,此时浏览器中的地址如图所示:
此时使用的协议是 file://协议
file协议表示告诉浏览器直接读取 file 后面的路径,直接解析展示在浏览器即可。
浏览器地址访问的方式
如果是在浏览器的地址栏中输入访问地址:
http://ip:port/工程名/资源名 1
此时使用到的就是http协议,也就是说 客户端将地址以请求的形式发送给服务器(Tomcat),而服务器通过解析,明确了需要哪个文件,读取需要访问的资源文件,然后回传给客户端内容。客户端得到需要的内容,才解析显示在浏览器上。 图示如下:(图片出处:尚硅谷JavaWeb全套教程)