持续学习&持续更新中…
守破离
Tomcat
Apache Tomcat
https://tomcat.apache.org/
https://tomcat.apache.org/download-90.cgi
Tomcat下载安装
进入官网https://tomcat.apache.org/
选择自己所需的版本
下载完成后解压缩至任意无中文无特殊字符目录下
Tomcat、JSP、Servlet版本对照
https://tomcat.apache.org/whichversion.html
Tomcat目录简介
-
1)bin目录:存放各种平台下启动和关闭Tomcat的脚本文件,其中包含两个关键文件startup.bat、shutdown.bat,前者是Windows下启动Tomcat的文件;后者是Windows下关闭Tomcat的文件。
-
2)conf目录:用于保存Tomcat的配置文件,其中server.xml为服务器的主配置文件;web.xml为所有Web应用的配置文件;tomcat-users.xml用于定义Tomcat配置用户的权限与安全。
-
3)lib目录:存放Tomcat服务器和所有web应用都能访问的JAR文件。
-
4)logs目录:存放Tomcat的日志文件,Tomcat的所有日志文件都保存在其中。(记录出错等信息)
-
5)temp目录:临时文件夹,如果Tomcat运行时有临时文件,则保存在此目录中。
-
6)webapps目录:Web应用的发布目录,把Java Web站点或war文件放入这个目录下,即可通过Tomcat服务器访问。可执行的项目(将我们开发的项目 放入该目录)
-
7)work目录:Tomcat解析JSP生成的Servlet文件放在这个目录中。存放由jsp翻译成的java,以及编译成的class文件(jsp ->java ->class),session对象被序列化之后也保存在这儿。
Tomcat使用前的配置
Tomcat必须配置JAVA_HOME
用户或者系统变量中新建:
编辑Path,添加:
至于CATALINA_HOME则是可以配也可以不配,如果配置的话和上述JAVA_HOME步骤相同。
Tomcat的启动和关闭
启动:
方法一:双击Tomcat解压缩目录下的bin目录下的startup.bat
方法二:在命令行窗口输入catalina run
命令
在浏览器中键入:localhost:8080/
,如果出现如下界面则证明Tomcat启动成功。
关闭:
方法一:双击Tomcat解压缩目录下的bin目录下的shutdown.bat
方法二:在Tomcat运行后的终端中,按下ctrl+c
快捷键
Tomcat端口号的修改
conf目录下的server.xml下70行左右有一个Connector标签,修改其port值即可。
Tomcat手动部署web工程(项目)
打开Tomcat解压缩后的webapps目录:apache-tomcat-8.5.70\webapps
,会看到下图几个项目:
这时,我们启动Tomcat后,输入不同的url:http://ip:port/项目名/目录名/资源名
即可访问不同的项目下的不同资源。
例如:http://localhost:8080/docs/index.html
,这个url的项目名为docs,目录名为空,资源名为index.html。
那么此时,就可以输入如下url来访问不同的项目了。
url | 访问项目 |
---|---|
http://localhost:8080 | ROOT项目(默认访问) |
http://localhost:8080/docs | docs项目 |
http://localhost:8080/examples | examples项目 |
… | … |
上述url,http是协议,localhost是ip地址,8080是端口号,而端口号后面的则是项目路径
如果直接输入http://localhost:8080
的话,默认访问的是ROOT工程下的默认访问页面index。
每个项目下的WEB-INF目录下都会有一个web.xml文件,其中有welcome-file-list标签,其中就存放着默认访问文件
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.xhtml</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
只需要修改welcome-file-list标签下welcome-file中的值就会改变默认访问页面了。
如果此时我们将已经写好的web项目copy到webapps目录下,那么相应的,只需要输入对应的url即可访问我们的项目。
例如,我们copy了一个名为book的项目,那么我们就可以输入如下url:http://localhost:8080/book
来访问我们的项目。
这样将项目拷来拷去多多少少是有点麻烦的,还有一种更为方便的方法来部署我们的项目到Tomcat。
如果此时电脑磁盘上D:\code_space\LearnJava\IntellijIdea\book
有一个book项目,而此时我们想要将book项目部署到Tomcat中,那么只需要在apache-tomcat-8.5.70\conf\Catalina\localhost
目录下,新建一个book.xml,然后将如下内容写入book.xml即可:
<!--
Context表示一个工程上下文
path表示浏览器的访问路径(虚拟路径)
docBase表示项目在电脑磁盘上的绝对路径
-->
<Context path="/book" docBase="D:\code_space\LearnJava\IntellijIdea\book" />
path中的项目路径必须和xml文件名保持一致!
也就是说,xml文件名和虚拟路径名都必须和项目名保持一致!
如果我们想要更改http://localhost:8080
默认访问自己的book项目,只需要在apache-tomcat-8.5.70\conf\Catalina\localhost
目录下,新建一个ROOT.xml,然后向ROOT.xml写入如下内容即可:
<Context path="" docBase="D:\code_space\LearnJava\IntellijIdea\book" />
常见状态码
- 200:一切正常
- 300/301:页面重定向 (跳转)
- 404:资源不存在
- 403:权限不足 (如果访问a目录,但是a目录设置不可见)
- 500:服务器内部错误(代码有误)
- 其他编码:积累
虚拟路径
首先将web项目配置到webapps以外的目录
方式一:
-
conf/server.xml中配置
-
Engine标签下的Host标签中新建Context标签:
-
<Context docBase="D:\study\JspProject" path="/JspProject" />
- docBase:实际路径
- path:虚拟路径 (绝对路径、相对路径【相对于webapps】)
方式二:
- D:\study\apache-tomcat-8.5.30\conf\Catalina\localhost中新建 “项目名.xml”中新增一行:
<Context docBase="D:\study\JspProject" path="/JspProject" />
虚拟主机
例如:通过www.test.com访问本机
做法:
-
1、修改conf/server.xml
-
2、在C:\Windows\System32\drivers\etc\host中增加:
127.0.0.1 www.test.com
流程: www.test.com -> host找映射关系 ->server.xml找Engine的defaultHost ->通过"/"映射到D:\study\JspProject
解决Tomcat控制台输出乱码
参考
李明杰: Java从0到架构师②JavaEE技术基石.
尚硅谷: 尚硅谷最新版JavaWeb全套教程.
DT课堂颜群: JavaWeb视频教程.
本文完,感谢您的关注支持!