jsp - JSP 的生命周期、编译和替换

标签 jsp tomcat

我很难找到关于这个整体的信息,特别是关于 JSP 代码在 tomcat 中的位置的信息。

我有一个应用程序并为其开发。我正在远程调试和更改代码。这不会将代码发布到远程机器。所以,我尝试将 JSP 文件复制过来。这不会改变任何事情,在调试时,我可以看到调试器跳转到不包含代码的行。

很好。我使用 Lambda Probe 删除工作目录,甚至显式地重新编译所有 JSP,包括我一开始想更改的那个。我可以查看代码甚至编译后的 servlet 代码,所有这些都列出了我的更改。然而,再次运行调试器并尝试调试我更改的代码仍然跳转到行,就好像我根本没有更改我的代码一样。

这迫使我进行全面部署:我编译了一个完整的 WAR 文件,将其复制到服务器(它被部署),我的程序启动了,我需要大约 10 分钟才能到达之前的相同点.

tomcat 到底把我的 JSP 代码缓存/存放在工作目录旁边的什么地方?是否可以通过调试器“即时”更改代码?我知道只要我不更改方法签名,类就有可能,但我无助地在 JSP 文件中为同样的想法而苦苦挣扎。

我们将不胜感激任何帮助,无论是指向解释网站的链接还是解释本身。

谢谢。

最佳答案

首先你应该自动化你的构建,可能使用 ant。您需要能够快速部署。

如果 vanilla tomcat 检测到更改(通常从文件修改日期开始),它将重新加载 JSP。因此,请确保 tomcat 配置不会阻止这种情况的发生。看看http://tomcat.apache.org/tomcat-5.5-doc/jasper-howto.html#Production_Configuration

要删除已编译的 JSP(从而强制 tomcat 根据请求重新编译 JSP),您可以删除 tomcat/work 下的相应文件夹,例如 tomcat/work/Catalina/www.example。 com/_/org 下可以找到编译好的JSP和标签文件。

关于jsp - JSP 的生命周期、编译和替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4725122/

相关文章:

java - 使用 Struts 2.0 操作的两个数据库表

tomcat - 增加 Debian 7 上的 tomcat 内存

apache - htaccess 301 重定向到新页面不起作用

java - 一个带有aop的tomcat应用的拦截方法

javascript - 在 jquery.load 中调用外部网站 url

java - 在 Tomcat 6 上部署 webapp

java - 如何从 JSP 页面调用 servlet 来执行自动重定向?

java - 如何部分提交表单?

java - Spring MVC - 从JSP表中删除记录

html - 在一定高度后显示 scroll-y 但高度是动态的