编程思路:下面是一个简单的例子,在服务器端执行它,就是向客户端的浏览器中输出“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 的子类,我们可以通过它把应答数据送还到客户端的浏览器中。