比较经常使用的一个例子,好比 你的html
项目在 D:\workplace\my-project\project_nameweb
maven package后 D:\workplace\my-project\project_name\target\project_nametomcat
修改$tomcathome/conf/server.xml服务器
host节点下添加app
<Context path="/appname" docBase="D:\workplace\my-project\project_name\target\project_name "/>webapp
则可经过如下访问maven
http://localhost:8080/appname工具
如下为详细信息开发工具
1、静态部署spa
一、直接将web项目文件件拷贝到webapps 目录中
Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载全部这个目录下的应用。因此能够将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的全部内容进行压缩获得。具体如何打包,可使用许多开发工具的IDE环境,如Eclipse等。也能够用 cmd 命令:jar -cvf mywar.war myweb
webapps这个默认的应用目录也是能够改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
将appBase修改便可。
二、在server.xml中指定
在Tomcat的配置文件中,一个Web应用就是一个特定的Context,能够经过在server.xml中新建Context里部署一个JSP应用程序。打开server.xml文件,在Host标签内建一个Context,内容以下。
在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加:
<Context path="/hello" docBase="D:\ workspace\hello\WebRoot" debug="0" privileged="true">
</Context>
或者
<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/>
或者
<Context path="/sms4" docBase="D:\workspace\sms4\WebRoot"/>
说明:
path是虚拟路径;
docBase 是应用程序的物理路径;
workDir 是这个应用的工做目录,存放运行时生成的与这个应用相关的文件;
debug 则是设定debug level, 0表示提供最少的信息,9表示提供最多的信息
privileged设置为true的时候,才容许Tomcat的Web应用使用容器内的Servlet
reloadable 若是为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,能够在不重起tomcat的状况下改变应用程序,实现热部署
antiResourceLocking和antiJARLocking 热部署是须要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp彻底删除,一般会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就致使自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。
三、建立一个Context文件
在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不能够随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello(hello.xml),该xml文件的内容为:
<Context path="/hello" docBase="E:\workspace\hello\WebRoot" debug="0" privileged="true"></Context>
tomcat自带例子以下:
<Context docBase="${catalina.home}/server/webapps/host-manager"
privileged="true" antiResourceLocking="false" antiJARLocking="false">
</Context>
这个例子是tomcat自带的,编辑的内容实际上和第二种方式是同样的,其中这xml文件名字就是访问路径,这样能够隐藏应用的真实名字。
四、注意:
删除一个Web应用同时也要删除webapps下相应的文件夹和server.xml中相应的Context,还要将Tomcat的conf\catalina\localhost目录下相应的xml文件删除,不然Tomcat仍会去配置并加载。。。
二 动态部署
登录tomcat管理控制台:http://localhost:8080/,输入用户名和密码后即可管理应用并动态发布。
在Context Path(option):中输入/yourwebname ,这表明你的应用的访问地址。
XML Configration file URL中要指定一个xml文件,好比咱们在F:\下创建一个hmcx.xml文件,内容以下: <Context reloadable="false" />其中docBase不用写了,由于在下一个文本框中填入。或者更简单点,这个文本框什么都不填,在WAR or Directory URL:中键入F:\hmcx便可,而后点击Deploy按钮,上面就能够看到了web应用程序,名字就Context Path(option):中的名字。
若是部署.war文件还有更加简单的方式,下面还有个Select WAR file uploae点击浏览选择.war文件,而后点击Deploy也能够。
顶