jsp编译后是什么文件
例如,用Jsp编写代码时,有时候用<%! %>,有时候用<% %>,加不加感叹号,到底有什么不同吗? (Jsp代码加感叹号与不加感叹号的区别)这类问题在教程里一般不会涉及到,从哪里找到问题的突破口呢——Jsp生成的Java文件!所以,对于Jsp开发,有必要知道这点技能。
对于Tomcat而言,JSP页面生成的Java文件放在work路径对应的Web应用下。例如:
D:/Tomcat5.5/webapps/test/test.jsp
生成对应的java文件
D:/Tomcat5.5/work/Standalone/localhost/test/test.java
Jsp与Servlet的关系
1、 JSP文件必须在JSP服务器内运行。
2、 JSP文件必须生成Servlet才能执行。
3、 每个JSP页面的第一个访问者速度很慢,因为必须等待JSP编译成Servlet。
4、JSP页面的访问者无须安装任何客户端,甚至不需要可以运行Java的运行环境,因为JSP页面输送到客户端的是标准HTML页面。
5、JSP页面的静态内容、JSP脚本都会转换成Servlet的xxxService()方法,类似于自行创建Servlet时service()方法。
6、JSP声明部分,转换成Servlet的成员部分。所有JSP声明部分可以使用private,protected,public,static等修饰符,其他地方则不行。
7、 JSP的输出表达式(<%= ..%>部分),输出表达式会转换成Servlet的xxxService()方法里的输出语句。
8、九个内置对象要么是xxxService()方法的形参,要么是该方法的局部变量,所以九个内置对象只能在JSP脚本和输出表达式中使用。
从上述第5、6点,其实就可以解释Jsp代码加感叹号与不加感叹号的区别的问题。
如何在Tomcat下指定Jsp生成的Java文件路径?
当需要自定义Jsp生成的Java文件位置时,可以通过如下两种方法来实现:
方法1.在tomcat的配置文件server.xml(路径:tomcat路径\conf下面)里,找到:<Context docBase="D:/workspace/icinfo/trunk/web" path="" reloadable="false" debug="0" crossContext="true" workDir="D:/workspace/icinfo/trunk/web/WEB-INF/lib/CommonPKI/META-INF/work"/>,添加如上的workDir=""属性,""里写你的要看到.java/.class的路径.
方法2.到conf/Catalina/localhost下找到你项目的.xml配置文件,找到方法1中的代码,后续操作同方法1.
以上就是jsp编译后是什么文件的详细内容,更多请关注其它相关文章!
上一篇: 如何快速构建一个web测试项目?
推荐阅读
-
jsp是什么文件 如何打开jsp格式的文件
-
jsp是什么文件 如何打开jsp格式的文件
-
JSP文件编译后所产生的class的存放位置
-
解决修改源文件或头文件后,make 不进行重新编译的问题
-
jsp-解决文件上传后重启Tomcat时文件自动删除问题
-
java文件编译后额外生成的$1.class是怎么一回事
-
关于res资源文件编译后复制到bin文件中的问题 JavaMEEclipse
-
ros编译package后,devel文件夹内没有对应package的可执行文件
-
把JSP预编译成class文件进行JSP文件的保护
-
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题