记忆盒子

把记忆装进灰色的盒子,封装起来,那年那月,重新拾起。

首页搜索目录
search
当前主题: 软件编程

怎样查看Jsp编译后生成的Java文件

作者:Kaka    时间:2009-10-23 22:2:16    浏览:    评论:1

      可能大多数Jsp开发员在写完程序测试通过后,不太会关注Jsp生成的Java文件,其实,通过Java代码,更能体现程序代码的真正含义,对进一步研究程序代码的后台运行情况是非常有帮助的。例如,用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\

      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.

      怎样保留Weblogic 中Jsp编译后生成的Java文件?

      运行自己配置的web应用,往往只能看见weblogic编译之后的class文件。而看不见编译前的java的文件。为了调试方便,我们有时候是想看编译前的java文件的。

      在weblogic.xml中加入:

<jsp-descriptor>
  <jsp-param>
    <param-name>keepgenerated</param-name>
    <param-value>true</param-value>
  </jsp-param>
</jsp-descriptor>
 

      即可。如果没有,在WEB-INF中建立一个weblogic.xml文件。增加:

<?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE weblogic-web-app
    PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN"
    "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd" >
<weblogic-web-app>
    <jsp-descriptor>
        <jsp-param>
            <param-name>keepgenerated</param-name>
            <param-value>true</param-value>
        </jsp-param>
    </jsp-descriptor>
</weblogic-web-app>
 

      看看web应用在Weblogic中生成临时文件中,有Java文件了吧!

x

标签: Java  

※ 网站速度慢?试试网站自动优化工具 ※

上一篇: 搜索时为什么出现Google的G.cn渐隐广告
下一篇: 你的Google网站管理员工具里有PageRank页面吗
  • 1.天***
  • 以后要多跟博主学学JSP了
    Liwen 于 2009-10-24 23:46:41 回复
    我一直是搞asp+asp.net的,因项目需要,Jsp是刚接触。 :)
  • 2009/10/24 22:40:16 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客                   QQ交流群(312716741)

  • 通过Google订阅本站 通过鲜果订阅本站 通过抓虾订阅本站
  • 通过QQ邮箱订阅本站 通过Yahoo订阅本站 通过有道订阅本站

Search

最新评论及回复

最近留言

网站分类

Powered By Z-Blog 1.8 Walle Build 91204 Designed by Han'space

Copyright @2009-2024 All Rights Reserved. 粤ICP备14028160号-1

Powered By Z-Blog 1.8 Walle Build 91204
Copyright @2009-2024 All Rights Reserved.