top
Loading...
JavaServlet編程及應用之七
天極IT資訊短信服務 電腦小技巧
資費:包月5元
手機:
介紹:細處著手,巧處用功。高手和菜鳥之間的差別就是:高手什么都知道,菜鳥知道一些。電腦小技巧收集最新奇招高招,讓你輕松踏上高手之路。


Java關鍵字導航
網絡 J2ME 手機游戲 JavaCard Struts 游戲 分析器 JAAS EJB JavaMail 設計模式 J2EE



服務器端包含 (Server-Side Includes) 是Web 頁面設計中的一種常用技術,在一個輸出很多網頁的系統中,經常會有一些網頁的組成部分在多個網頁中同時出現。Server-Side Includes 是Java Server 體系結構的一個高級特征,它可以在HTML 文檔中嵌入servlet,這樣就可以利用一個或多個servlet 來組成最終的HTML 文檔,這種特殊的包含了Servlet 輸出和HTML 標記的文件用擴展名.shtml 表示。

Servlet 標記的語法:

<servlet name=Servlet_name code=Servlet.class codebase=類路徑
名稱 1 = 參數值 1
名稱 2 = 參數值 2
........
名稱 n = 參數值 n >

<param name =名稱 1 value = 參數值 1
param name =名稱 2 value = 參數值 2
........
param name =名稱 n value = 參數值 n >
</servlet>

編程思路及技巧:下面是一個完整的簡單的服務器包含(SSI)的實例,整個shtml 頁面由2個Servlet 組成,第1個Servlet是Header.java,代表頁頭,主要功能是顯示標題信息;第2個Servlet 是Footer.java,代表頁腳,主要功能是顯示頁腳的版權信息;Together.shtml 是將2個Servlet 組合在一起顯示的服務器包含,它應當從文檔根目錄(如 wwwroot)中加載。

標準的頁頭Header.java 的源代碼如下:

import javax.servlet.*;
import java.io.*;

public class Header extends GenericServlet
{
public void service(ServletRequest req,ServletResponse resp)
throws ServletException, IOException
{
res.setContentType("text/html;charset=gb2312");
PrintWriter out =res.getWriter();
// Get the title of the page. Set to empty string if
// no title parameter was given
String titles[] = req.getParameterValues("title");
String title = "";
if (titles != null) {
if (titles.length > 0) {
title = titles[0];
}
}

// Format the standard header
out.println("<head><title> 歡迎你到來 </title></head>");
out.println("<H1 align='center'>*** 歡迎你到來 *** </H1><hr>");

// Wrap up
out.flush();
out.close();
}

/**
* <p>Returns information about this servlet
*/

public String getServletInfo() {
return "Header ";
}

public void init(ServletConfig cfg)
throws ServletException
{
super.init(cfg);
}

public void destroy()
{
super.destroy();
}
}

標準的頁腳 Footer.java 的源代碼如下:

import javax.servlet.*;
import java.io.*;

public class Footer extends GenericServlet
{
public void service(ServletRequest req,ServletResponse resp)
throws ServletException, IOException
{
res.setContentType("text/html;charset=gb2312");
PrintWriter out =res.getWriter();
// Format the standard header
out.println("<hr>");
out.println("<p align='center'><i> 版權所有,信息公司</i></p>");

// Wrap up
out.flush();
out.close();
}

/**
* <p>Returns information about this servlet
*/

public String getServletInfo() {
return "Footer ";
}

public void init(ServletConfig cfg)
throws ServletException
{
super.init(cfg);
}

public void destroy()
{
super.destroy();
}
}

服務器包含 Together.shtml 的源代碼如下:

<html>
<servlet code=Header>
<param name="title" value="GOOD">
</servlet>
<body>
<dir>
This a study programmer!;<br>
Are you Interested in ?;<br>
Let's go Research.<br>
</dir>
<servlet code=Footer>
</servlet>
</body>
</html>
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗