一尘不染

Tomcat和提取的文件

tomcat

我在打包的 tomcate7中* 使用 ubuntu 。我使用 .war 文件上传网站。网络工作正常。 ***

这不是我的网站,但是在那儿:

:/var/lib/tomcat7/webapps/ROOT$ ls
index.html  META-INF

我在以下位置找到了我的站点文件(.war中的文件)

/var/cache/tomcat7/Catalina/localhost/_/org/apache/jsp/

/var/cache/tomcat7/Catalina/localhost/_/WEB-INF/classes/

我找不到像系统搜索这样的任何.css或.js文件 find / -name '*.css' -ls

  1. 他们在哪?!

  2. 有没有一种简单的方法可以只给tomcat .class文件或删除.jsp .java文件(例如,如果我不想提供真正的源代码,而只是提供.class)JSP预编译。在构建期间,某些工具(jspc)很难。任何轻松的走过?


阅读 256

收藏
2020-06-16

共1个答案

一尘不染

WAR文件可能在服务器上的“某处”,但是tomcat可能已配置为在部署时不“爆炸”
WAR文件,而只是直接将资源提供给WAR。这可能就是为什么您的网站可以“运行”但找不到实际的.css文件的原因,.css文件不在文件系统上,但仍包含在WAR中。

对于#2,预编译JSP,由于某种原因,这仍然是“半途而废”的过程。

在部署之前预编译JSP意味着将JSP文件转换为Java源文件,然后编译该文件,然后将最终的类作为servlet映射到最终的Web应用程序中,最后从该Web应用程序中删除该JSP文件。

有一个Tomcat Page讨论了该过程,但仅提供了部分解决方案(从自动化角度出发)。

当然,预编译不流行的一个原因是,预编译的JSP不能跨容器移植,也不一定是同一容器的版本。因此,这是一个值得注意的问题。

2020-06-16