原文地址:https://blog.youkuaiyun.com/luckystar689/article/details/52505419
部署web应用,我们就先要让web服务器找到web应用程序。
那web服务器是什么呢?web服务器就是一个容器,它可以向发出请求的浏览器提供文档的程序,它可以放置网站文件,让全世界浏览;也可以放置数据文件,让全世界下载。大型的web服务器主要有Weblogic,Apache,Tomcat,Jboss等,小型的web服务器有 nginx等。
那web应用程序又是什么呢?一个web应用程序就是一个文件夹,文件夹里有很多子文件夹、资源文件(例如:JSP文件,HTML文件等)、类文件(编译后的Servlet文件,其它的class文件)、配置文件(xml文件)。
默认情况下,Tomcat服务器会查找安装目录下的webapps文件件下的应用程序,当然,我们还可以自定义的添加tomcat查找应用程序的目录。所以,就出现了如下三种部署方式:
1、直接将web应用程序放在webapps文件夹下
2、修改server.xml文件
修改<Context>节点下的docBase,以及path属性的值。
- <Context path="/nsbd" reloadable="true" docBase="E:\workspace\nsbd\web" workDir="E:\workspace\nsbd\work" />
Path:虚拟路径,用于设置要发布的web项目的名称,用于浏览器访问的URL。
docBase:放置web项目的位置(可以是绝对路径,也可以是相对路径),如果为/,则位于webapps目录下。
debug:日志记录的调试信息记录等级。
reloadable:为了方便开发人员设置的,true:tomcat将检测应用程序的/WEB-INF/lib和/WEB-INF/classes目录的变化,以决定是否自动重新载入变化后的程序。
3、创建配置文件进行部署
在/conf/Catalina/localhost目录下新建一个包含<Context>节点的xml文件,文件名即为path虚拟路径下的文件名。在xml文件中设置的path是无效的。
例如,我的xml配置文件名称为examples,而<Context>节点下的path配置的为"/nsbd",则使用“nsbd“是无法访问到的,使用examples便可以访问到。
如图所示:
启动tomcat的start.bat文件,如果启动成功,通过xml文件名或path属性值可以成功访问页面,那么你的web项目就部署成功了。
总结:
之前学习Servlet的时候都是直接将web应用程序放在了webapps下或者是修改server.xml,在公司的时候是用的新建配置文件的方法,其实原理都是一样的,目的就是让web服务器找到web应用程序。而后两种方法有一个优点就是你可以自定义进行配置,比较方便。