一、用weblogic.jspc编译JSP文件
a. 创建一个文件jspc.cmd
set JAVA_HOME=
@要包括jsp代码依赖的jar
set CLASSPATH=
@rem 这是JSP编译后的servlet文件的存放目录
set TARGET_DIR=
@rem 这是你要发布的Web Application的目录
set WEBAPP_DIR=
java -classpath %CLASSPATH% weblogic.jspc -k -g -compileAll -d %TARGET_DIR% -webapp %WEBAPP_DIR%
b. 根据项目的情况,设置“=”右边的值
c. 执行jspc.cmd文件,进行JSP文件的编译,编译后的class文件,应该在%TARGET_DIR%/jsp_servlet目录下,可以将它放在项目的classes目录下,也可以打包成jar
二、编译成功后,将项目中的Jsp移走
三、编辑weblogic.xml文件,把jsp-descriptor标签内的内容清空,加入如下的内容:
precompile
false
pageCheckSeconds
-1
四、编辑web.xml文件,在其中添加如下内容:
JSPClassServlet
weblogic.servlet.JSPClassServlet
JSPClassServlet
*.jsp
五、重新发布项目,可以看到在没有Jsp代码的情况下,应用能成功被访问
备注:上述方式,采用的其实就是jsp的预编译,如果在预编译的时候生成java文件,然后将java文件混淆编译、打包,隐藏就更进一步了,呵呵
[Tomcat5.5]
Java代码
JSP2JAVA">
webXmlFragment="${webapp.path}/WEB-INF/webJSP.xml" outputDir="${webapp.path}/WEB-INF/JspC/src"/>
optimize="off" debug="on" failonerror="false" excludes="**/*.smap">