.class文件驻留在哪里,从.jsp文件转换?
我的.war文件包含.jsp文件,但我不希望那些文件提供给我的客户。
我不想提供.jsp文件(因为它有源代码),只提供.class文件,以便网站可以运行,但不可修改。
我有哪些选择?
答案 0 :(得分:1)
您需要 JSP预编译。在构建期间,一些工具(jspc
)执行Tomcat首次加载时按需执行的操作 - 将它们编译为servlet并生成适当的web.xml
代码段。
为所有JSP文件生成servlet时,删除它们是安全的。避免将生成的servlet签入VCS是个好主意。
请参阅JSP Compilation Support for Maven 2和How can I make Tomcat pre-compile JSPs on startup?。
答案 1 :(得分:1)
您的问题已在此处回答:"Where are compiled JSP Java (*_jsp.java) files?"。
默认情况下,已编译的JSP文件位于Tomcat环境的/ work文件夹中。
或者,如果您正在使用Eclipse IDE并在工作空间中发布应用程序(这是默认行为),您可能会在某些路径中找到工作目录,如:
workspace.metadata.plugins \ org.eclipse.wst.server.core \ TMP0 \工作\卡塔利娜\本地主机\的HelloWorld \组织\阿帕奇\ JSP \ test_jsp.class
但是,如果您需要所有已编译的JSP(* _jsp.class)文件,则可以使用以下选项:按照documentation的说明使用Tomcat jspc工具和ant;使用wget通过发出如下命令递归请求tomcat服务器中的所有* .jsp页面,或使用IDE的预编译JSP页面选项让IDE为您完成工作。
wget -r --no-parent -A.jsp http://domain/your-project/
所以它现在应该全部由tomcat缓存。