Tomcat 部署 Web 项目的本质理解

手动创建Web项目

不借助集成开发工具IDE,直接手动创建一个Web项目,有助于理解Web项目的本质。

1、首先建立一个myweb文件夹(自己定义项目名)。

2、然后可以建一个html文件(文件里面只写了个Hello World!),一个图片文件,一个WEB-INF文件夹(WEB-INF这个名称是JavaEE规范的,必须叫这个)。

3、在WEB-INF文件夹下新建一个classes文件夹(这个文件夹存放编译的Java文件,名称也是JavaEE规范的),一个lib文件夹(用于放外部jar包,名称也是JavaEE规范好的),还有一个web.xml文件(文件内容可以从tomcat的conf目录的web.xml里拷贝)。

web.xml内容:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 3   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4   xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
 5                       http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
 6   version="4.0">
 7 
 8     <welcome-file-list>
 9         <welcome-file>index.html</welcome-file>
10         <welcome-file>index.htm</welcome-file>
11         <welcome-file>index.jsp</welcome-file>
12     </welcome-file-list>
13 
14 </web-app>

创建好的目录结构如下:

 

直接部署Web项目

直接把myweb这个文件夹放到Tomcat的webapps目录下,直接双击bin目录下的startup.bat目录启动Tocmat,然后就可以在浏览器访问这个项目了。

 由Tomcat的启动日志可以看出项目加载成功了。

通过war包部署Web项目

可以直接把项目打成WAR包,放到tomcat的webapps目录下,tomcat启动的时候war包会自动解压出一个同名的文件夹的。

这就是通过war包部署项目,可以使用JDK的bin目录下的jar命令来打包。

cvf 是命令参数,表示生成一个文档,显示生成过程,并指定生成的文件名。

d:Programmermyweb1.war 表示生成文件的存放地址和文件名。

最后的点 . 表示将当前目录下的所有内容打包。

D:Programmermyweb>jar cvf d:Programmermyweb1.war .

将war包放到webapps目录下,启动tomcat,会发现自动解压出了一个myweb1目录。

Eclipse打WAR包:

选中项目---右键--Export---

访问不带项目名设置

这样启动tomcat后访问项目是需要带项目名的

想要不访问路径不带项目名,需要在tomcat的server.xml的 host 标签之间添加一个

<Context path="" docBase="mydemo" reloadable="true"/>

注意path=""

如图:

这样就可直接访问项目而不用项目名了

原文地址:https://www.cnblogs.com/wbxk/p/6972998.html