JavaWeb -- Tomcat

340 阅读3分钟

一、JavaWeb总述

1、概念

JavaWeb是指所有通过Java语言编写的可以通过浏览器访问程序的总称。

JavaWeb是基于请求和响应来开发的。

2、请求和响应

① 请求

请求是指客户端给服务器发送数据,叫请求 Request

② 响应

响应是指服务器端给客户端回传数据,叫响应 Response

③ 请求与响应的关系

它们成对出现,有请求就有响应

image.png

3、Web资源分类 Web资源按实现的技术和呈现的效果的不同,又分为静态资源和动态资源;
静态资源:html、css、js、mp4视频、jpg图片 等
动态资源:jsp页面、Servlet程序

二、Tomcat

1、本质

image.png

作用:部署前后端程序
在浏览器上运行只能自己用,但是使用Tomcat可以公用。

image.png

2、下载

① 打开tomcat官网

tomcat是Apache的项目;Apache是最大的开源组织。

② 下载Tomcat

(Java 8 下载Tomcat 8)

③ 解压zip文件

tomcat路径不要有中文

3、Tomcat目录介绍

① bin目录

专门用来存放tomcat服务器的可执行程序

Ⅰ 启动操作

点击starup.bat(Windows的是.bat) -->直到出现Server star up --> 说明已经正常启动

image.png

Ⅱ 关闭操作

关闭小黑窗即可

② conf目录

专门用来存放Tomcat的配置文件

Ⅰ server.xml

配置了Tomcat的启动窗口

<Connector port="8080" protocal="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>

其中:
port是默认端口号;

名称端口号
Mysql3306
Tomcat8080

修改的端口号范围是1 ~ 65535,(最好8000以上)修改完成后一定要重启Tomcat才能生效。

protocal是指默认协议,用的最广泛的就是"HTTP/1.1";
connectionTimeout是最多等待时间,超过20s,则响应失败;
redirectPort是指跳转的端口;

Ⅱ logging.properties

用来配置控制台输出信息,可以用来解决乱码问题(将所有的UTF-8改成GB2312)

③ lib目录

专门用来存放Tomcat服务器的jar包(自身运行需要)

④ logs目录

专门用来存放Tomcat服务器运行时输出的日志信息
日志信息:定位一些问题

⑤ temp目录

专门用来存放Tomcat运行时产生的临时数据、文件

⑥ webapps目录

专门用来存放部署的Web工程
也就是放所有项目的根目录(存放、发布程序)

4、本地地址访问方式

<本机的回路IP>
http://localhost:8080
http://127.0.0.1:8080/ -->访问的时webapps\ROOT\文件夹下的应用
<真实的地址>
http://内网IP:port/站点名称.html
我的电脑IP:192.168.43.150

5、启动失败原因

image.png

若没有成功出现这个页面,则启动失败,原因可能是:
① 小黑窗一闪而过,可能就是没有配置好JAVA_HOME环境变量

② 端口被占用,可能是两个原因造成的:
Ⅰ Idea 非法关闭
Ⅱ 非法关闭Tomcat --> 8080没有正常释放(当你再次启动的时候,就会失败)

解决方法:重启电脑

页面可能出现的情况
Ⅰ 无法访问此网站 --> Toncat没有启动
localhost拒绝连接请求

Ⅱ 404 找不到页面 --> 服务启动了,但是没有找到相应的页面。

三、web工程

1、web工程部署到Tomcat中

方法一:将web工程的目录拷贝到Tomcat的webapps目录下就行了。 方法二:在Tomcat中的conf/Catalina/localhost添加一个xml文件,加入配置信息

<Context path="/abc" docBase="该项目的全部路径" />
其中:
context表示一个工程的上下文
path表示工程的访问路径
docBase表示你的项目目录在哪里

2、不同地址访问的原理

① 手托html页面到浏览器

地址格式:file://协议

file:///F/web/blog/index.html

file协议表示告诉浏览器直接读取file:协议后的路径,解析展示在浏览器中

② 在浏览器中访问localhost

地址格式:http://ip:port/工程名/资源名

http://localhost:8080/blog/index

所使用的协议是http协议,原理如下图:

image.png