記憶盒子

把記憶裝進灰色的盒子,封裝起來,那年那月,重新拾起。

首頁搜索目錄
search
當前主題: 軟件編程

怎樣查看Jsp編譯后生成的Java文件

作者:Kaka    時間:2009-10-23 22:2:16    瀏覽:    評論:1

      可能大多數(shù)Jsp開發(fā)員在寫完程序測試通過后,不太會關(guān)注Jsp生成的Java文件,其實,通過Java代碼,更能體現(xiàn)程序代碼的真正含義,對進一步研究程序代碼的后臺運行情況是非常有幫助的。例如,用Jsp編寫代碼時,有時候用<%!   %>,有時候用<%   %>,加不加感嘆號,到底有什么不同嗎? (Jsp代碼加感嘆號與不加感嘆號的區(qū)別)這類問題在教程里一般不會涉及到,從哪里找到問題的突破口呢——Jsp生成的Java文件!所以,對于Jsp開發(fā),有必要知道這點技能。

      對于Tomcat而言,JSP頁面生成的Java文件放在work路徑對應的Web應用下。例如:

      D:\Tomcat5.5\webapps\test\test.jsp

      生成對應的java文件

      D:\Tomcat5.5\work\Standalone\localhost\test\

      Jsp與Servlet的關(guān)系

      1、 JSP文件必須在JSP服務器內(nèi)運行。

      2、 JSP文件必須生成Servlet才能執(zhí)行。

      3、 每個JSP頁面的第一個訪問者速度很慢,因為必須等待JSP編譯成Servlet。

      4、 JSP頁面的訪問者無須安裝任何客戶端,甚至不需要可以運行Java的運行環(huán)境,因為JSP頁面輸送到客戶端的是標準HTML頁面。

      5、 JSP頁面的靜態(tài)內(nèi)容、JSP腳本都會轉(zhuǎn)換成Servlet的xxxService()方法,類似于自行創(chuàng)建Servlet時service()方法。

      6、 JSP聲明部分,轉(zhuǎn)換成Servlet的成員部分。所有JSP聲明部分可以使用private,protected,public,static等修飾符,其他地方則不行。

      7、 JSP的輸出表達式(<%= ..%>部分),輸出表達式會轉(zhuǎn)換成Servlet的xxxService()方法里的輸出語句。

      8、 九個內(nèi)置對象要么是xxxService()方法的形參,要么是該方法的局部變量,所以九個內(nèi)置對象只能在JSP腳本和輸出表達式中使用。

      從上述第5、6點,其實就可以解釋Jsp代碼加感嘆號與不加感嘆號的區(qū)別的問題。

      如何在Tomcat下指定Jsp生成的Java文件路徑?

      當需要自定義Jsp生成的Java文件位置時,可以通過如下兩種方法來實現(xiàn):

      方法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中的代碼,后續(xù)操作同方法1.

      怎樣保留Weblogic 中Jsp編譯后生成的Java文件?

      運行自己配置的web應用,往往只能看見weblogic編譯之后的class文件。而看不見編譯前的java的文件。為了調(diào)試方便,我們有時候是想看編譯前的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  

※ 網(wǎng)站速度慢?試試網(wǎng)站自動優(yōu)化工具 ※

上一篇: 搜索時為什么出現(xiàn)Google的G.cn漸隱廣告
下一篇: 你的Google網(wǎng)站管理員工具里有PageRank頁面嗎
  • 1.天***
  • 以后要多跟博主學學JSP了
    Liwen 于 2009-10-24 23:46:41 回復
    我一直是搞asp+asp.net的,因項目需要,Jsp是剛接觸。 :)
  • 2009/10/24 22:40:16 回復該留言

發(fā)表評論:

◎歡迎參與討論,請在這里發(fā)表您的看法、交流您的觀點。

訂閱博客                   QQ交流群(312716741)

  • 通過Google訂閱本站 通過鮮果訂閱本站 通過抓蝦訂閱本站
  • 通過QQ郵箱訂閱本站 通過Yahoo訂閱本站 通過有道訂閱本站

Search

最新評論及回復

最近留言

網(wǎng)站分類

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

Copyright @2009-2025 All Rights Reserved. 粵ICP備14028160號-1

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