> 文章列表 > 24-Tomcat

24-Tomcat

24-Tomcat

目录

1.Tomcat是什么?

2.版本号

3.下载

4.目录介绍

4.1.bin目录

4.2.conf目录

4.3.logs目录

4.4.webapps目录

5.启动服务器

PS:解决Tomcat乱码问题

PS:Tomcat点击启动,控制台一闪而过,啥也没有解决方案

PS:Windows系统命令提示符中输入ls命令报错解决方案

6.部署静态页面

6.1.部署 HTML 到ROOT的根目录中

6.1.1.创建 HTML文件(jsdemo.html)

6.1.2.把 HTML 文件拷贝到 Tomcat 的 webapps/ROOT 目录中

6.1.3.启动Tomcat

6.1.4.在浏览器中通过 URL来访问

6.2.部署 HTML/某个系统到单独的目录中

6.2.1.在 webapps 中创建目录 blog,和 ROOT 目录并列

6.2.2.把创建的对应页面拷贝到 blog 目录中

6.2.3.调整相关代码引用的 css、js、图片等的路径

--->PS:"相对路径" vs "绝对路径"

6.2.4.启动Tomcat

6.2.5.在浏览器中通过 URL访问其中一个页面:login.html


1.Tomcat是什么?

Tomcat 是⼀个 HTTP 服务器,使⽤它可以部署和发布网站(HTTP服务端),(后端的程序和前端的页面都需要部署和发布)让外⽹的⽤户直接访问。

如果不使⽤ Tomcat,你是没办法让外⾯的⽤户访问你的系统的,你总不能把你的电脑直接拿给每个⽤户让他使⽤吧?⽽⽤了 tomcat 之后就可以实现让外部的普通⽤户访问你的⽹站了(当然在实现这个⽬标的时候你还需要⼀个固定的外⽹IP【或⼀台云服务器,都会带有固定IP】)

(家庭网或企业网(私网)是动态IP,没有固定IP,可以去用那个网络,但是没有一个名分,别人不能通过固定IP定位到你的机器;且这个网络以外的人不能访问)

Servlet 项目必须通过 Idea + Tomcat 来进行运行。

2.版本号

Tomcat版本很多,这里使⽤ Tomcat 8。

3.下载

在 Tomcat 官⽹下载即可。

下载https://tomcat.apache.org/download-80.cgi

Tomcat不像.exe文件,它不需要安装,它是一个zip压缩包,下载后解压缩就能用。解压缩的⽬录、用户名中最好不要带 "中⽂" 或者特殊符号。

它只针对windows-x64,若买了云服务器Linux,把这个Tomcat放到云服务器上,是用不了的。

4.目录介绍

4.1.bin目录

4.2.conf目录

4.3.logs目录

4.4.webapps目录

其中最关注的⽬录就是 webapps ⽬录。web applications 的简称,意思是⽤来存放 web 应⽤的⽂件夹。

理解 "web 应⽤":⼀个具有独⽴完整功能的 "⽹站",我们就可以称为⼀个 "web 应⽤"。例如,搜狗搜索实现了独⽴完整的 "搜索引擎功能",淘宝⽹实现了独⽴完整的 "电商功能",⼀个 Tomcat 服务器上是可以同时部署多个这样的 web 应⽤的。这些 web 应⽤以⽬录的形式被放到 webapps ⽬录中。

5.启动服务器

在 bin ⽬录中,双击 startup.bat 即可启动 Tomcat 服务器。

注意:在 Windows 上通过 cmd ⽅式启动 Tomcat 会出现乱码,但是不影响 Tomcat 的使⽤。乱码的原因是 Tomcat 默认按照 UTF-8 的编码⽅式处理中⽂,⽽ windows 的 cmd 默认是 GBK 编码。如果使⽤ Linux 或者 IDEA 中的终端来启动 Tomcat,则没有乱码问题。

PS:解决Tomcat乱码问题

在conf/logging.properties文件中:

Tomcat启动起来之后就可以访问Tomcat了。Tomcat默认端口号是8080,在浏览器中输⼊本地回环地址 127.0.0.1:8080 或localhost:8080 即可看到 Tomcat 的默认欢迎⻚⾯。如果看不到欢迎⻚⾯,检查 URL 的 IP 地址是否正确以及端⼝号是否被占用,同时也要检查 Tomcat 是否启动成功。

PS:Tomcat点击启动,控制台一闪而过,啥也没有解决方案

原因:

①端口号8080被占用了

Tomcat 启动的时候默认会绑定 8080 和 8005 端⼝,如果有其他进程已经绑定了这两个端⼝中的任意⼀个,都会导致 Tomcat 不能启动。

解决

  • 重启。
  • 用命令关闭占用8080端口的线程:

  • 重新手动给Tomcat配置端口号:在conf/server.xml中。

②jdk环境变量没有配好,Tomcat在运行时需要借助Home环境变量,检查是否配置成功:

③若以上2种还未解决,需要去查看Tomcat的日志

通过日志信息百度搜索,排查解决问题。

PS:Windows系统命令提示符中输入ls命令报错解决方案

原因:

ls是Linux的命令,Windows本身没有这条命令。

解决①:

ls对应Windows上的命令是dir,可执行dir命令:

解决②:

如果就想用ls命令而不想用dir命令,可自定义一个ls命令,实际上执行的还是Windows的dir命令。

步骤:

1)在电脑桌面右键新建文本文档,里面copy如下内容:

@echo off
dir

2)文件另存为文件名:ls.bat,保存类型:所有文件。

3)将ls.bat文件拖到Windows根目录下:

成功!

6.部署静态页面

可以把⾃⼰写好的 HTML 部署到 Tomcat 中。

6.1.部署 HTML 到ROOT的根目录中

6.1.1.创建 HTML文件(jsdemo.html)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>第一个js案例</title>
</head>
<body><h2>计算器</h2>数值1:<input type="text" id="ipt_num1"><br>数值2:<input type="text" id="ipt_num2"><br><input type="button" value="计算" onclick="mycalc()"><p></p><div id="resultDiv"></div><script>function mycalc() {//1.得到第一个输入框的值var num1 = document.getElementById("ipt_num1").value;//2.得到第二个输入框的值var num2 = document.getElementById("ipt_num2").value;//3.类型转换,输入框1的值 + 输入框2的值document.getElementById("resultDiv").innerHTML="相加的结果:<span style='color:red;font-size:30px;'>" + parseInt((parseInt(num1) + parseInt(num2))) + "</span>";}function mytest() {//给num1和num2赋一个默认的值0//1.得到控件var iptNum1 = document.getElementById("ipt_num1");var iptNum2 = document.getElementById("ipt_num2");//2.操作控件iptNum1.value = 0;iptNum2.value = 0;}mytest();</script>
</body>
</html>

6.1.2.把 HTML 文件拷贝到 Tomcat 的 webapps/ROOT 目录中

6.1.3.启动Tomcat

6.1.4.在浏览器中通过 URL来访问

http://localhost:8080/jsdemo.html 或 http://127.0.0.1:8080/jsdemo.html

注意:127.0.0.1 为环回 IP,表示当前主机。此时别人⽆法通过这个 IP 访问到自己电脑上的⻚⾯。

6.2.部署 HTML/某个系统到单独的目录中

实际开发中的 HTML 可能不⽌⼀个,依赖的 CSS / JavaScript ⽂件也可能⽐较多,这个时候就不适合全都拷⻉到 webapps/ROOT ⽬录中了(这就会显的⽐较乱)。可以创建⼀个单独的⽬录,和 ROOT 并列,来存放要部署的内容。

6.2.1.在 webapps 中创建目录 blog,和 ROOT 目录并列

6.2.2.把创建的对应页面拷贝到 blog 目录中

为了结构更清楚,在 blog 中创建⼀些⼦⽬录:css、img、js 来分别放 css、图⽚、JavaScript ⽂件。

6.2.3.调整相关代码引用的 css、js、图片等的路径

相对路径需要先确定当前路径,然后再找到⽬标路径。其中 "当前路径" 是根据当前的 HTML ⽂件确定的。

--->PS:"相对路径" vs "绝对路径"

  • 绝对路径以 / 开头
  • 没有 / 开头的路径就是相对路径

若图片按相对路径的写法,浏览器在真正访问这个图⽚时会基于当前路径⽣成绝对路径。也可以直接写成绝对路径的⽅式,效果相同。⼀般建议写成相对路径,这样如果修改了 Context Path,代码仍然可以正常运⾏。

6.2.4.启动Tomcat

6.2.5.在浏览器中通过 URL访问其中一个页面:login.html

可以看到路径上和之前发⽣了变化。由于把这些⽂件都放到了 blog ⽬录中,通过 GET 请求访问这些⽂件时的路径也要带上 blog。此处的 blog 称为 Application Path (应⽤路径) 或者 Context Path (上下⽂路径)。

不仅可以抓html页面,图片,css等都可以访问: