首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将jsp文件热部署到tomcat?

如何将jsp文件热部署到tomcat?
EN

Stack Overflow用户
提问于 2013-02-22 05:37:29
回答 2查看 11.5K关注 0票数 2

我不想每次在JSP文件中进行一些编辑时都构建一个war文件。我想让事情像PHP一样工作。如何热部署到tomcat服务器?热部署是java的标准吗?

这种热部署可以在我的软件发布版本中使用吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-22 05:54:28

由于链接的问题并没有真正深入到细节...

$CATALINA_BASE/conf/server.xml中,您需要配置本地服务器来解压缩WAR。下面是来自我的开发服务器的示例:

代码语言:javascript
复制
 <Host appBase="webapps" autoDeploy="true" deployOnStartup="true" 
       deployXML="true" name="localhost" unpackWARs="true">

默认情况下,Tomcat将检查对JSP文件的更改。事实上,正如here所描述的,您必须为生产更改这一点。

完成这些更改后,您将在$CATALINA_BASE/work/Catalina/localhost中找到您的web应用程序(再次假设是默认安装;如果您正在配置服务器名称,则不会是localhost)。就地编辑文件,更改将在下一次加载页面时显示。

就是这样的热部署,可以用在我的软件的一个发布版本中

如果您想要避免难以追踪的bug,就不需要。

票数 7
EN

Stack Overflow用户

发布于 2017-10-11 22:10:25

我今天也面临着同样的问题,使用一个爆炸的.war对我来说并不合适。

我的解决方案是在Tomcat ($CATALINA_BASE\conf\context.xml)中使用以下context.xml文件:

代码语言:javascript
复制
<Context reloadable="true"> 
    <Resources cachingAllowed="false" cacheMaxSize="0" />

    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

    <Manager pathname="" />
</Context>

我还在我的Jsp中使用了以下内容作为客户端缓存:

代码语言:javascript
复制
<%
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0);
%>

tomcat重启后,可以只将Jsp复制到$CATALINA_BASE\webapps\<context>\WEB-INF\...

并在我的浏览器中执行一次快速重新加载(F5)以查看更改。

额外好处:当我现在将.class或.jar文件复制到/WEB-INF中时,Tomcat也会重新加载它的所有资源:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15012693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档