Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2566525
  • 博文数量: 709
  • 博客积分: 12251
  • 博客等级: 上将
  • 技术积分: 7905
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-17 00:00
个人简介

实现有价值的IT服务

文章存档

2012年(7)

2011年(147)

2009年(3)

2008年(5)

2007年(74)

2006年(431)

2005年(42)

分类: Java

2006-10-12 22:17:54

GenericServlet 类可以说时JSDK 中最重要的类,也是最基本的类。程序员要编写Servlet 应用程序,一般要继承JSDK 提供的GenericServlet 类或它的子类HttpServlet 类。

  编程思路:下面是一个简单的例子,在服务器端执行它,就是向客户端的浏览器中输出“HELLO WORLD "以及服务器的时间等信息。

  HelloWorldServlet.java 的源代码如下:

import java.io.*;
import java.util.Date;
import javax.servlet.*;

public class HelloWorldServlet extends GenericServlet
{
 String initString;
 public void init(ServletConfig config) throws ServletException
 {
  //父类的init方法完成对象ServletConfig的存储工作。
  super.init(config);
  initString=new String("I have veen initialized");
 }

 //在Sercice方法中,实现对客户请求的响应。它抛出两个例外ServletException
 public void service(ServletRequest req,ServletResponse res)
 throws ServletException,IOException
 {
  //类Date得到服务器当前的时间。
  Date today = new Date( );
  ServletOutputStream out = res.getOutputStream( );
  out.println("HELLO WORLD");
  out.println(today.toString());
  out.println(getServletInfo());
 }

 public void Destroy( )
 {
 }

 public String getServletInfo( )
 {
  return "HELLO WORLD";
 }
}

  编程技巧说明:

  Service 方法是类GenericServlet 中最重要的方法。每次客户向服务器发出请求时,服务器就会调用这个方法。编程人员若想对客户的请求进行响应的话,就必须覆盖这个方法,并在这个方法中加入自己的代码来具体实现对客户的响应。Service 有两个参数,ServletRequest 和ServletResponse。其中ServletRequest 保存了客户向服务器发请求的各种属性。

  对象ServletResponse 用来设置如何对客户进行响应,它有以下三个方法:

  * setContentType(String) 用来设置对客户响应的类型。
  * setContentlength(int) 用来设置对客户响应的长度。
  * getOutputStream() 它返回一个写响应数据的输出流。

  在例子中,我们把这个输出流传递给ServletOutputStream 对象,它是java.io.outputStream 的子类,我们可以通过它把应答数据送还到客户端的浏览器中。

阅读(3369) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~