<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Restarting in Java

    統(tǒng)計

    留言簿

    閱讀排行榜

    評論排行榜

    2005年2月25日 #

    編寫 "純HTML" jsp應用--學會使用 JSTL

    [學習筆記]**編寫 "純HTML" jsp應用--學會使用 JSTL**


    作者:Juniper_c
     
    剛開始用JSP做web應用的時候,象使用PHP,ASP一樣用JSP,在HTML代碼中夾雜著一大堆的 scriptlet---即java 代碼段。由于本人的“排版”技術(shù)還算可以,開始的時候覺得挺好,編寫“效率”高,調(diào)試又方便!

    到 了后來才知道---這是一種極其愚蠢的做法兒----JSP誕生的時候就已經(jīng)明確與ASP,PHP劃清了界限,使用javaBean、Servlet可以 有效的將HTML中夾雜的java 代碼段剝離,然后包裝成一個可在多個頁面復用的“邏輯處理組件”---這是JSP相對于PHP,ASP的優(yōu)越之處之 一。

    但 有時即使使用javabean + servlet,我們也不得不將“極少量”的 java代碼 嵌入到 HTML中----的確,有時你必須這樣:因為在 javabean中,你無法使用JSP中的隱含對象,比如 request, session,response等.

    使用Servlet雖然可以使用JSP的對象,但卻不能象javaBean靈活地插入到 html 中--
    所以,Tag(標簽) 就出現(xiàn)了(可以使用所有的JSP隱含對象),它的出現(xiàn)徹底解決了這個問題,可以讓你編寫出“純HTML”的JSP頁碼---由此帶來的好處自然不言而喻:更高的可維護性、更高的組件復用效率、更易維護的HTML頁面````

    小弟不才,剛剛開始學JSTL,覺得這個東東真的很不錯!很想讓更多的 初學者 知道這個,并能應用到實際的web開發(fā)中。
    下面,就開始編寫我們的第一個 Tag!

    **下面是使用了簡單Tag的JSP文件,運行結(jié)果是顯示當前時間:

    <%@ page contentType="text/html;charset=gb2312" %>
    <html><body>
    <%@taglib uri="/tags" prefix="visa"%>
    現(xiàn)在時間是:<visa:date/>
    </body></html>

    很明顯,使用了tag的JSP頁清爽了許多---如果將數(shù)據(jù)庫操作等一些復雜功能也封裝進去的話,tag的優(yōu)勢就更明顯了!

    **環(huán)境:win2000 server + Tomcat5.019 + j2sdk1.42 + SQLServer 2k
    **開發(fā)一個Tag,需要編寫2個主要文件:
    1-標簽處理器(一個類servlet的java類)
    2-標簽描述符(一個XML風格的tld文件)
    完成這兩個文件,就可以在WEB應用中部署、應用了。

    好了,下面我們就開始做吧!

    1-編寫tag處理器:datetag.java

    它的作用就象一個Servlet,接受來自客戶端的請求,但它卻可以象javaBean一樣在JSP中方便調(diào)用。
    package tag;

    import java.util.Date;
    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;

    public class datetag extends TagSupport{

     public int doStartTag() throws JspException{
      Date dte=new Date();
      try{
      JspWriter out=pageContext.getOut();
      out.print(dte);
       }
       catch(java.io.IOException e)
       {throw new JspTagException(e.getMessage());}
     return SKIP_BODY;
    }
    }
    用 javac編譯之后,就得到了 datetag.class文件了,將其放在 xxx\WEB-INF\classes\tag 目錄下。

    2-編寫tag庫描述符:tags.tld
    比較容易看出,<tag></tag>部分有點象servlet mapping的配置--這里配置的是tag的名字與tag類之間的映射。

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <taglib>
    <tlib-version>1.0</tlib-version>
    <jsp-version>1.2</jsp-version>

    <tag>
     <name>date</name>
     <tag-class>tag.datetag</tag-class>
     <body-content>empty</body-content>
    </tag>
    </taglib>
    將tags.tld保存在xxx\WEB-INF\ 目錄下。

    3-配置你的web.xml:
    配置web.xml,注冊你的標簽庫:在web.xml的 <web-app>與</web-app>之間添加:
    在這里注冊你的自定義標簽符,在JSP中的引用名為:/tags
    <taglib>

    <taglib-uri>/tags</taglib-uri>
    <taglib-location>/WEB-INF/tags.tld</taglib-location>

    </taglib>

    4-開始在JSP中使用!
    因為已經(jīng)在web.xml中注冊過,通過 /tags 引用你的標簽庫;
    prefix的作用就象<jsp:useBean/>中的 id,只是作為一個標志(可任意定義)
    <visa:date/> 很明顯,通過調(diào)用date,就等于調(diào)用了 datetag.class :

    <%@ page contentType="text/html;charset=gb2312" %>
    <html><body>
    <%@taglib uri="/tags" prefix="visa"%>
    現(xiàn)在時間是:<visa:date/>
    </body></html>


    **相信到了這里,有人就有了疑問了:為了使用一個Tag,我就做了這么多的“多余”工作(編寫tld,修改web.xml,還要重啟tomcat),值得嗎?!

    ---答案是:這是很值得的!
    1、如果將比較復雜的邏輯功能封裝進Tag,它就具有比Servlet,javaBean更高的靈活性,更多的優(yōu)點,更易擴展,更易維護---徹底分離表示層與邏輯層!

    2、因為Tag的功能并非只是這一些,還有更多高級功能---值得去學習!

    ****
    這只是一個很簡單的應用,當然,你會有很多的“迷惑點”,這是正常的---在TAG中有一些獨有的特性,想完全學會TAG并不是件簡單的事情。
    --所以,在這里,我向大家推薦一本好書:電子工業(yè)出版社的《jsp標志庫編程指南》(英文名:《Professional JSP Tag Libraries》)


    PS: 使用JSTL配合javabean,servlet還可以有效保護你的源碼哦 ---- 因為,你可以向你的客戶交付不含有java 源代碼的web應用,因為,所有的 java代碼 都已經(jīng)被編譯成 *.class了    *^_^*

    [注 意]:針對 Tomcat 5.0x以下的版本----如:Tomcat 4.0x:要編譯標簽處理器,必須將你的 servlet.jar(在% TOMCAT_HOME%\common\lib下面) 放進環(huán)境變量 CLASSPATH 中---(如果是 tomcat5.0x 以上的版本,好象 沒這個要求)---否則,會提示編譯錯誤。
     
    整理發(fā)布:Umbrella
    摘自:CnJSP論壇
    相關(guān)鏈接:http://www.cnjsp.org/cnjbb/showthread.jsp?forumID
    =3&rootID=37656&announceID=37656

    posted @ 2005-02-25 18:28 Yang Fan 閱讀(235) | 評論 (0)編輯 收藏

    如何成為一個成功的Jsp程序員

    如何成為一個成功的Jsp程序員?

    作者:轉(zhuǎn)貼
     
    一 個普通的錯誤是把JSP當作簡化的 Java。它不是,(事實上, JSP 是簡化的 servlets 。)程序員通常試著沒有學習要求的支持技巧而  直接學習 JSP 。
    JSP 是一個銜接技術(shù),并且成功地連接你需要理解的另外的技術(shù)。如果你已經(jīng)
    知道 Java,HTML 和 Javascript, 這意味著 JSP 將確實是簡單的。 

    需要成為一個成功的 JSP 程序員可以參考這個時間表。請注意下列: 

    *忽略你已經(jīng)熟悉的步驟。 
    *訓練的時間只是代表學習好足夠的基礎時間,這樣才能轉(zhuǎn)移到下一步。 

    1、建立并且理解你的Web Server。 
    因為Apache 是免費的并且在大多數(shù)平臺上工作,為訓練目的推薦 Apache。 
    安裝時間:2 天。 


    2、保證你理解 HTML / XHTML 。 
    你 將需要了解html基礎, 特別是 HTML 布局中的table的使用。XHTML 不久將
    代替 HTML ,學習 XHTML 的基礎是一個好主意。 許多程序員通過 HTML IDE
    學習 HTML ( 集成開發(fā)環(huán)境 ) 。因為大多數(shù) HTML IDE產(chǎn)生混亂的HTMl語法,
    所以花時間學習手工 寫作html是很有必要的。因 為你將會使用 JSP 和 HTML
     混合編程,精通HTML語法是重要的。所以,你必須能流利地寫 HTML 。 
    訓練時間:2 ~ 4 個星期。 


    3、開始學習 Java 。 
    開 始學習 Java 1.4 理解 Java 基礎是很重要的。不用擔心學習Swing或 Java
     的圖形方面,因為在JSP 中你不會使用這些特征。集 中精力 在 Java 工作的
    細節(jié),學習 Java 的邏輯,也在 Java Bean上花時間。學習Applet是好的, 但
    是就象Swing,  JSP 的大多數(shù)應用將不使用小程 序。 
    訓練時間:3 ~ 6 個星期。 


    3、學習 JavaScript 
    學習怎么將 JavaScript在HTML中驗證輸入的Form元素。也學習 JavaScript怎
    么能在一 HTML 頁以內(nèi)修改Form的元素。最后要求你能從一 
    HTML 頁內(nèi)的事件中觸發(fā) JavaScript Function。 
    訓練時間:一~ 2 個星期。 


    4、學習并且理解你的Web Server的更好的細節(jié)。 
    熟悉Web Server的特征,這是很重要的。 
    訓練時間:2 天。 


    5、建立你的 JSP Server 
    我 推薦以Tomcat開始。它可以很好地運行JSP程序。當你不能在生產(chǎn)使用Tomcat
    時,學習盡可能多的知識以便于更好的運行程序。另外,  許多 JSP 程序員使用
    Tomcat。因此當你遇到一個問題時,你將容易發(fā)現(xiàn)幫助。 
    安裝時間:一~ 2 天。 


    6、開始學習 JSP 。 
    基 本的 JSP 學習通過的步驟 1到步驟6可以完成, 然后使用 JSP 對象和腳本寫 
    JSP 程序來聯(lián)系。學習 JSP 的另外一個方面可以學習怎么創(chuàng)建一個分布式的應用
    程序。 
    訓練時間:4 ~ 6 個星期。 


    7、學習更多的 JSP server。 
    沒有關(guān)于更多的 JSP Server當然也可以運行jsp程序。然而, 許多 JSP server都
    由自己特殊的特征,可以讓你更好的理解你的JSP 工程。 
    學習更多的Jsp server如何處理jsp程序是有必要的。同樣也可以優(yōu)化你的 JSP
    應用程序,并且使之運行得更快而不出任何問題。 
    訓練時間:2 ~ 7 天。 


    8、 學習 JDBC 。 
    JSP  大多數(shù)應用將使用數(shù)據(jù)庫,JDBC 被用于數(shù)據(jù)庫連接。經(jīng)常忽略的一個事實就
    是,每個 JDBC Driver 所支持的東西是相當不同的。了 解并熟悉 在jsp工程上被使
    用的 JDBC driver的細節(jié)是很重要的。(有時這部分的學習被包含在前面 Java 或
    JSP的學習中了 。) 
    訓練時間:1~ 2 個星期。 

    到 現(xiàn)在,你已經(jīng)成為了熟練的 JSP 程序員。仍然有很多需要學習,你可以考慮擴展
    你的知識比如 DHTML ,  XML ,java證書, JSP Tag Libraries 或  Servlets ,
    看你想要造什么類型的網(wǎng)站而決定了。 

    這 些訓練是JSP 的核心。你不必都學習上面所有的, 取決于你在工程中分配到什么任
    務和你已經(jīng)有什么知識。但是這是我成功地訓練程序員 的時間表。關(guān)鍵的 單元是時間。
    平均的說, 5 個月時間確實能夠訓練一個人 ( 從開始到完成 ) 成為一個對jsp熟悉程序員。5 個月時間似乎很長,但要成為一個資深 的WEB程序員所學的東西遠遠不止這一些。 

    也許你認為這樣學習一種語言花費的時間太長了,因為學 ASP 會更快、時間會更短。
     但是學習 ASP 不需要學習java的。

    相關(guān)鏈接:http://www.cnjsp.org/cnjbb/showthread.jsp?forumID=
    3&rootID=5749&announceID=5749

    posted @ 2005-02-25 17:36 Yang Fan 閱讀(222) | 評論 (0)編輯 收藏

    僅列出標題  
    主站蜘蛛池模板: 无人在线观看免费高清视频| 亚洲乱码在线视频| 国产精品无码免费播放| 精品国产免费人成网站| 亚洲人成色77777在线观看| 久久亚洲精品无码aⅴ大香| 久久久久亚洲AV成人网人人软件| 国产精品成人免费视频网站京东 | 亚欧免费无码aⅴ在线观看| 无人视频在线观看免费播放影院| 亚洲成人福利网站| 亚洲伊人久久大香线蕉苏妲己| 亚洲一区二区三区无码中文字幕| 国产成人涩涩涩视频在线观看免费 | 很黄很污的网站免费| 有码人妻在线免费看片| 亚洲av无码片vr一区二区三区 | 波多野结衣在线免费视频| 暖暖免费日本在线中文| 久久精品免费大片国产大片| 黄色a三级三级三级免费看| 亚洲欧美中文日韩视频| 亚洲欧美综合精品成人导航| 亚洲熟妇AV一区二区三区宅男| 亚洲日本乱码一区二区在线二产线| 亚洲国产天堂久久综合网站 | 国内精品免费在线观看| 日韩在线免费电影| 三年片在线观看免费观看高清电影| 57pao国产成视频免费播放 | 亚洲无线一二三四区| 老司机亚洲精品影院无码| 亚洲成人在线电影| 99久久精品国产亚洲| 亚洲综合久久1区2区3区| 亚洲高清视频在线播放| 亚洲av成人综合网| 亚洲综合激情五月色一区| 亚洲欧洲无码AV不卡在线| 国产精品亚洲专区无码唯爱网 | 亚洲免费日韩无码系列 |