声明:此系列资料来源于网络。

Servlet基本结构

下面的代码显示了一个简单Servlet的基本结构。该Servlet处理的是GET请求。 

    }
}

 

如果某个类要成为Servlet,则它应该从HttpServlet 继承,根据数据是通过GET还是POST发送,覆盖doGetdoPost方法之一或全部。doGetdoPost方法都有两个参数,分别为HttpServletRequest 类型和HttpServletResponse 类型。HttpServletRequest提供访问有关请求的信息的方法,例如表单数据、HTTP请求头等等。HttpServletResponse除了提供用于指定HTTP应答状态(200404等)、应答头(Content-TypeSet-Cookie等)的方法之外,最重要的是它提供了一个用于向客户端发送数据的PrintWriter 。对于简单的Servlet来说,它的大部分工作是通过println语句生成向客户端发送的页面。 

  注意doGetdoPost抛出两个异常,因此你必须在声明中包含它们。另外,你还必须导入java.io包(要用到PrintWriter等类)、javax.servlet包(要用到HttpServlet等类)以及javax.servlet.http包(要用到HttpServletRequest类和HttpServletResponse类)。 

  最后,doGetdoPost这两个方法是由service方法调用的,有时你可能需要直接覆盖service方法,比如Servlet要处理GETPOST两种请求时。 

输出纯文本的简单Servlet 

  下面是一个输出纯文本的简单Servlet 

);
    }
}


输出HTMLServlet 

  大多数Servlet都输出HTML,而不象上例一样输出纯文本。要输出HTML还有两个额外的步骤要做:告诉浏览器接下来发送的是HTML;修改println语句构造出合法的HTML页面。 

  第一步通过设置Content-Type(内容类型)应答头完成。一般地,应答头可以通过HttpServletResponsesetHeader方法设置,但由于设置内容类型是一个很频繁的操作,因此Servlet API提供了一个专用的方法setContentType。注意设置应答头应该在通过PrintWriter发送内容之前进行。下面是一个实例:

 

);
        out.flush();
        out.close();
    }
}

 

HTML工具函数


下面的Java方法只接受页面标题为参数,然后输出页面的DOCTYPE、HEAD、TITLE部分。清单如下:

}

相关文章: