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

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

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

    Restarting in Java

    統計

    留言簿

    閱讀排行榜

    評論排行榜

    2005年2月25日 #

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

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


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

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

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

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

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

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

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

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

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

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

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

    它的作用就象一個Servlet,接受來自客戶端的請求,但它卻可以象javaBean一樣在JSP中方便調用。
    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中使用!
    因為已經在web.xml中注冊過,通過 /tags 引用你的標簽庫;
    prefix的作用就象<jsp:useBean/>中的 id,只是作為一個標志(可任意定義)
    <visa:date/> 很明顯,通過調用date,就等于調用了 datetag.class :

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


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

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

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

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


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

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

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

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

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

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

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

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

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


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


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


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


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


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


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


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


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

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

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

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

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

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

    僅列出標題  
    主站蜘蛛池模板: 成人片黄网站色大片免费观看cn| 亚洲爱情岛论坛永久| 亚洲色无码专区一区| 成人免费一级毛片在线播放视频| 亚洲大片在线观看| 中文字幕在线免费| 亚洲一区无码中文字幕乱码| 青青在线久青草免费观看| 亚洲13又紧又嫩又水多| 成人无遮挡裸免费视频在线观看| 亚洲色欲色欱wwW在线| 国产在线播放免费| h视频免费高清在线观看| 亚洲热线99精品视频| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 四虎影库久免费视频| 成年大片免费视频播放一级| 亚洲熟妇无码AV在线播放| 国产成人一区二区三区视频免费| 久久综合亚洲色HEZYO社区| 国产精品免费观看久久| 国产成人高清亚洲一区91| 亚洲一区二区三区香蕉| 日本免费网站视频www区| 亚洲人成色777777精品| 区三区激情福利综合中文字幕在线一区亚洲视频1 | fc2免费人成在线视频| 久久久久久亚洲精品中文字幕| 99爱在线精品免费观看| 国产亚洲日韩在线a不卡| 亚洲欧洲无码AV电影在线观看| 日本高清免费网站| 国内大片在线免费看| 爱爱帝国亚洲一区二区三区| 精品国产亚洲男女在线线电影| 免费视频精品一区二区三区 | 亚洲国产人成在线观看| 国产在线不卡免费播放| 嫩草在线视频www免费观看| 久久亚洲精品国产亚洲老地址| 亚洲精品国精品久久99热|