JSP/Servlet 學習筆記(四)

來源:互聯網
上載者:User

對於一個Web應用,的發布過程

1.部署HTML檔案

在helloapp目錄下加入index.htm檔案.

 

2.部署JSP

常見JSP檔案,helloapp目錄下.

 

3.部署Servlet

(1).建立一個Servlet檔案,它可調用HttpServletRequest對象的getParameter方法讀取客戶提交的loginForm表單資料.

(2).編譯這個java檔案,編譯時間需要servlet-api.jar檔案.把編譯出來的class檔案拷貝到"/helloapp/WEB-INF/classes/mypackage "目錄下.(其中mypackage是這個類所屬的包).

(3).在web.xml中為類加上<servlet>和<servlet-mapping>元素.

 

                                                                    <servlet>元素的屬性

<servlet-name>                  定義Servlet的名字
<servelt-class> 指定實現這個Servlet的類
<init-param> 定義Servlet的初始化參數(包括參數名和數值).一個<servlet>中可以有多個<init-param>
<load-on-startup>     指定當Web應用啟動時,裝載Servlet的次序,當這個值為正數或0,Servlet容器先載入數值小的Servlet.如這個值為負數或沒有設定,那麼Servlet容器將在Web客戶首次訪問這個Servlet時載入它.

<servlet-mapping>用來指定<servlet-name>和<url-pattern>映射.

<url-pattern>指訪問Servlet 的相對URL路徑.

 

4.部署JSP Tag Library

在Web應用中加入Tag Library(標籤庫).Tag Library向使用者提供了自訂JSP標籤的功能.我們將定義一個名為mytaglib的標籤庫,它包含了一個簡單的hello標籤,這個標籤能將JSP中所有的<mm:hello/>解析為字串"hello".

以下是建立和發布mytaglib標籤庫的步驟:

(1).編寫用於處理hello標籤的類HelloTag.java.

  1. package mypackage;
  2. import javax.servlet.jsp.JspException;
  3. import javax.servlet.jsp.JspTagException;
  4. import javax.servlet.jsp.tagext.TagSupport;
  5. pubilc class HelloTag extends TagSupport
  6. {
  7.     public void HelloTag(){}
  8.     public int doEndTag() throws JspException {
  9.         try{
  10.             pageContext.getOut().print("Hello");
  11.         }
  12.         catch(Exception e){
  13.             throw new JspTagException(e.getMessage();
  14.         }  
  15.         return SKIP_BODY;
  16.     }
  17.     public void release() {
  18.         super.release();
  19.     }
  20. }

(1).編譯HelloTag.java時,需要jsp-api.jar檔案.編譯產生的HelloTage.class存放位置為/WEB-INF/classes/mypackage/HelloTag.class.

(2).建立Tag Library的描述檔案mytaglib.tld檔案.

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE taglib ...>

<taglib>

<tlibversion>1.0</tlibversion>

<jspversion>1.1</jspversion>

<shortname>mytaglib</shortname

<url>/mytaglib</url>

 

<tag>

<name>hello</name>

<tagclass>mypackage.HelloTag</tagcalss>

bodycontent>empty</bodycontent>

<info>Just Says Hello</info>

</tag>

 

</taglib>

 

(3).在web.xml檔案中加入<taglib>元素

<?xml ...>

<!DOCTYPE web-app ...>

<web-app>

   <servlet>

      ........

    </servlet>

 

    <taglib>

        <taglib-url>/mytaglib</taglib-url>

        <taglib-location>/WEB-INF/mytaglib.tld</taglib-location>

    </taglib>

</web-app>

 

其中,<taglib-url>指定Tag Library>標示符.<taglib-location>指定Tag Library的描述檔案(TLD)的位置.

 

(4).在hello.jap檔案中加入hello標籤,首先映入mytaglib的taglib指令.

<%@ taglib url="/mytaglib" prefix="mm" %>

接下來在頁面中的<mm:hello/>都將輸出Hello.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.