服务器端包含 (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(); } } |
| 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(); } } |
| <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> |
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器