Java Servlet 编程及应用之七

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

服务器端包含 (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>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航