Java Servlet 编程及应用之七
发表于:2007-06-22来源:作者:点击数:
标签:
服务器 端包含 (Server-Side Includes) 是Web 页面设计中的一种常用技术,在一个输出很多网页的系统中,经常会有一些网页的组成部分在多个网页中同时出现。 Server-Side Includes 是Java Server 体系结构的一个高级特征,它可以在HTML 文档中嵌入servlet,这
服务器端包含 (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!;
Are you Interested in ?;
Let's go Research.
</dir> <servlet code=Footer> </servlet> </body> </html>
|
|
原文转自:http://www.ltesting.net