weblogicjsp编译
㈠ JSP编译后生成什么及生成后在哪里
编译后生成.class文件,在web-inf/classes目录中
㈡ jsp为什么会编译一次
你先熟悉一下jsp 的工作原理吧,
在一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet。而这个引擎本身也是一个servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。 JSP引擎先把该JSP文件转换成一个java源文件,在转换时如果发现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息;如果转换成功, JSP引擎用javac把该Java源文件编译成相应的class文件。然后创建一个该SERVLET的实例,该SERVLET的jspInit()方法被执行,jspInit()方法在servlet的生命周期中只被执行一次。然后jspService()方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间.但应该注意多线程的编程限制,由于该servlet始终驻于内存,所以响应是非常快的。如果.jsp文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的servlet,并继续上述处理过程。虽然JSP效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。此外,如果在任何时候如果由于系统资源不足的原因,JSP引擎将以某种不确定的方式将servlet从内存中移去。当这种情况发生时jspDestroy()方法首先被调用, 然后servlet实例便被标记加入"垃圾收集"处理。 jspInit()及jspDestory()格式如下:可在jspInit()中进行一些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在jspDestory()中释放相应的资源
㈢ weblogic为什么每访问一次重新编译一次JSP
正常的话应该是在FWQ重新启动的第一次访问时编译,再访问就不用编译了
你应该是配置上有问题吧
㈣ weblogic编译jsp错误
<c:if test="${ not empty backlogs }"> jstl包有没有,注意标点
㈤ Jsp(或Weblogic)高手请进!!!
就让它14吧.
1,可能你后台接受到这个dshzh的数据后是把它放到一个数组中,你改成20后,那个数组只接受14位的,就是int[14]不能保持20位,所以越界了.
2,你最种要保持到数据库中,数据库中长度也14varchar(14),所以还是不行.
总之,就是别改.
㈥ weblogic服务下 ,war包里面新增JSP文件,启动不生效
服务器不会编译代码的,你必须修改之后,然后eclipse或者其他工具编译,完了之后在打成war包丢到服务器上面去
㈦ 正式环境部署 weblogic 应用的时候报的jsp编译错误
检查提示的那个类,应该是有问题的
㈧ 怎样查看Jsp编译后生成的Java文件
可能大多数Jsp开发员在写完程序测试通过后,不太会关注Jsp生成的Java文件,其实,通过Java代码,更能体现程序代码的真正含义,对进一步研究程序代码的后台运行情况是非常有帮助的。例如,用Jsp编写代码时,有时候用<%! %>,有时候用<% %>,加不加感叹号,(Jsp代码加感叹号与不加感叹号的区别)这类问题在教程里一般不会涉及到,从这里找到问题的突破口——Jsp生成的Java文件!所以,对于Jsp开发,有必要知道这点技能。
(1):对于Tomcat而言,JSP页面生成的Java文件放在work路径对应的Web应用下。例如:
D:/Tomcat5.5/webapps/test/test.jsp
生成对应的java文件
D:/Tomcat5.5/work/Standalone/localhost/test/
对于Resin而言,JSP页面生成的Java文件放在WEB-INF/work路径对应的Web应用下。例如:
D:/Resin3.1.6/webapps/test/demo/test.jsp
生成对应的java文件
D:/Resin3.1.6/WEB-INF/work/_demo/_test.java/
(2):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代码加感叹号与不加感叹号的区别的问题。
(3):在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.
(4):保留Weblogic 中Jsp编译后生成的Java文件:
在weblogic.xml中加入:

看看web应用在Weblogic中生成临时文件中,有Java文件了。
㈨ jsp源代码的编译
jsp 是一个 内容生成与表示分离的技术,他实际还是一个Servlet .
JSP程序要运行于特定的Web服务器中,例如Tomcat、WebLogic Server。
每次访问JSP时,服务器会把JSP程序编译为一个Java类,这个Java类有特定的名称,即Servlet.
