tomcat部署web项目常用的方式:
例:项目名称--SpringMVC,
物理路径--D:\STUDY\Workspaces\SpringMVC,
目标URL访问形式--http://localhost:8080/smvc/...;
注:以下部署方式均建立在tomcat默认配置情况下,如果有自定义设置,需要做出相应调整。
方式一:将项目拷贝到webapps目录下;(myeclipse部署所用的方式)
操作:在webapps下新建名为smvc的文件夹,将"web应用的内容"拷贝到smvc文件夹内,启动tomcat即可;
说明:文件夹的名称就是访问时的根路径,如文件夹名为smvc2,URL即为http://localhost:8080/smvc2/...;
"web应用的内容" 是指 标准web应用 根目录下的所有文件,如果IDE是eclipse,内容默认是WebContent
目录下的所有文件,如果是myeclipse,默认是WebRoot目录下的所有文件,注意class文件;
下文的部署配置均按eclipse的默认设置来配。
方式二:修改server.xml文件;(eclipse新建server部署所用的方式,tomcat插件部署也可以配置该方式)
操作:在host标签内添加如下配置:
- <Context path="/smvc" docBase="D:\STUDY\Workspaces\SpringMVC\WebContent" />
说明:这里配置的参数为必须项,可以根据需要添加reloadable、workDir等参数,下同;
doBase据说可以按webapps配相对路径,没试过。
方式三:在conf\Catalina\localhost 目录下添加xml配置文件;(tomcat插件部署可以配置该方式)
操作:新建名为smvc.xml文件,文件内容配置如下:
- <Context docBase="D:\STUDY\Workspaces\SpringMVC\WebContent" />
说明:Catalina\localhost目录tomcat下载下来默认是没有的,首次启动会自动创建,也可以手动创建;
配置中去掉path属性,因为配了也没用,访问项目时的根路径只取决于XML文件的名称;
如果没有WebContent目录,内容直接放在项目根目录下,那这个xml文件按理就需要命名为“.xml”,要是
人为这么命名,操作系统是不允许的,但是用tomcat插件部署确可以做到,比较神奇。
推荐使用第三种方式,因为不需要修改tomcat默认配置,并且如果想取消部署,直接删除xml配置文件即可;
注意:测试发现,上述3种方法中,除了按照上述步骤配置外,还需要另外修改conf/web.xml文件,找到
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
将false设置为true,然后重启Tomcat服务器才能生效。
--------------------------------------------------------------------------------------------------------------------------------------------
这三种方式个人感觉是比较常用,但 tomcat 5.5之后独立出了context.xml,并且官方不再提倡修改server.xml,即本文中的方式二,曾尝试在context.xml中只做部署配置,但没成功,网上查了一下,很多提到配置context.xml的都是配置数据源之类的,官网也没有找到如何利用context.xml文件部署项目,所以一直没搞清楚利用context.xml到底能不能、又如何部署web项目,关注一下这个问题。