服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java 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>

扫描关注微信公众号