熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

Java Servlet 和 JSP入門教程(4)

2022-06-13   來源: JSP教程 

   輸出HTML的Servlet

  大多數Servlet都輸出HTML而不象上例一樣輸出純文本要輸出HTML還有兩個額外的步驟要做告訴浏覽器接下來發送的是HTML修改println語句構造出合法的HTML頁面

  第一步通過設置ContentType(內容類型)應答頭完成一般地應答頭可以通過HttpServletResponse的setHeader方法設置但由於設置內容類型是一個很頻繁的操作因此Servlet API提供了一個專用的方法setContentType注意設置應答頭應該在通過PrintWriter發送內容之前進行下面是一個實例

HelloWWW java

package hall;

import javaio*;
import javaxservlet*;
import javaxservlethttp*;

public class HelloWWW extends HttpServlet {
public void doGet(HttpServletRequest request
HttpServletResponse response)
throws ServletException IOException {
responsesetContentType(text/html);
PrintWriter out = responsegetWriter();
outprintln(<!DOCTYPE HTML PUBLIC \//WC//DTD HTML +
Transitional//EN\>\n +
<HTML>\n +
&nb sp; <HEAD><TITLE>Hello WWW</TITLE></HEAD>\n +
<BODY>\n +
<H>Hello WWW</H>\n +
</BODY></HTML>);
}
}

   幾個HTML工具函數

  通過println語句輸出HTML並不方便根本的解決方法是使用JavaServer Pages(JSP)然而對於標准的Servlet來說由於Web頁面中有兩個部分(DOCTYPE和HEAD)一般不會改變因此可以用工具函數來封裝生成這些內容的代碼

  雖然大多數主流浏覽器都會忽略DOCTYPE行但嚴格地說HTML規范是要求有DOCTYPE行的它有助於HTML語法檢查器根據所聲明的 HTML版本檢查HTML文檔合法性在許多Web頁面中HEAD部分只包含<TITLE>雖然許多有經驗的編寫者都會在HEAD中包含許多META標記和樣式聲明但這裡只考慮最簡單的情況

  下面的Java方法只接受頁面標題為參數然後輸出頁面的DOCTYPEHEADTITLE部分清單如下

ServletUtilitiesjava

package hall;

public class ServletUtilities {
public static final String DOCTYPE =
<!DOCTYPE HTML PUBLIC \//WC//DTD HTML Transitional//EN\>;

public static String headWithTitle(String title) {
return(DOCTYPE + \n + <HTML>\n +
<HEAD><TITLE> + title + </TITLE ></HEAD>\n);
}

// 其他工具函數的代碼在本文後面介紹
}

HelloWWWjava

  下面是應用了ServletUtilities之後重寫HelloWWW類得到的HelloWWW

package hall;

import javaio*;
import javaxservlet*;
import javaxservlethttp*;

public class HelloWWW extends HttpServlet {
public void doGet(HttpServletRequest request
HttpServletResponse response)
throws ServletException IOException {
responsesetContentType(text/html);
PrintWriter out = responsegetWriter();
outprintln(ServletUtilitiesheadWithTitle(Hello WWW) +
<BODY>\n +
<H>Hello WWW</H> ;\n +
</BODY></HTML>);
}
}


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20758.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.