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:\Programmer\myweb1.war 表示生成文件的存放地址和文件名。
最后的点 . 表示将当前目录下的所有内容打包。
D:\Programmer\myweb>jar cvf d:\Programmer\myweb1.war .
将war包放到webapps目录下,启动tomcat,会发现自动解压出了一个myweb1目录。
Eclipse打WAR包:
选中项目---右键--Export---
访问不带项目名设置
这样启动tomcat后访问项目是需要带项目名的
想要不访问路径不带项目名,需要在tomcat的server.xml的 host 标签之间添加一个
<Context path="" docBase="mydemo" reloadable="true"/>
注意path=""
如图:
这样就可直接访问项目而不用项目名了