打印本文 打印本文 关闭窗口 关闭窗口
Java Servlet 编程及应用之七
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1038  更新时间:2009/4/22 23:28:18  文章录入:mintao  责任编辑:mintao
天极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>

打印本文 打印本文 关闭窗口 关闭窗口