Servlet和JavaBean

1.Servlet简介:

 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层,使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。

2.Servlet的主要作用:

  • 读取客户端(浏览器)发送的显式的数据。这包括网页上的 HTML 表单,或者也可以是来自 applet 或自定义的 HTTP 客户端程序的表单。
  • 读取客户端(浏览器)发送的隐式的 HTTP 请求数据。这包括 cookies、媒体类型和浏览器能理解的压缩格式等等。
  • 处理数据并生成结果。这个过程可能需要访问数据库,执行 RMI 或 CORBA 调用,调用 Web 服务,或者直接计算得出对应的响应。
  • 发送显式的数据(即文档)到客户端(浏览器)。该文档的格式可以是多种多样的,包括文本文件(HTML 或 XML)、二进制文件(GIF 图像)、Excel 等。
  • 发送隐式的 HTTP 响应到客户端(浏览器)。这包括告诉浏览器或其他客户端被返回的文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务。

3.Servlet生命周期:

  • Servlet 通过调用 init () 方法进行初始化。
  • Servlet 调用 service() 方法来处理客户端的请求。
  • Servlet 通过调用 destroy() 方法终止(结束)。
  • 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。

 init()方法:它在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用。因此,它是用于一次性初始化;

    public void init() throws ServletException {

       // Put your code here

    }

 service()方法:执行实际任务的主要方法;Servlet容器(即 Web 服务器)调用 service()方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。每次服务器接收到一个 Servlet请求时,服务器会产生一个新的线程并调用服务。service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。

public void service(HttpServletRequest request, HttpServletResponse response) throws

ServletException, IOException {

    response.setContentType("text/html;charset=gbk");

    //response.setCharacterEncoding("GBK");

    PrintWriter out = response.getWriter();

    out.println("<html>");

    out.println("<head><title>Servlet1</title></head>");

    out.println("<body bgcolor=\"#ffffff\">");

    out.println("<p>上海</p>");

    out.println("</body></html>");

  }

 doGet()方法:GET 请求来自于一个 URL 的正常请求,或者来自于一个未指定 METHOD 的 HTML 表单,它由 doGet() 方法处理;

 doPost()方法:POST 请求来自于一个特别指定了 METHOD 为 POST 的 HTML 表单,它由 doPost() 方法处理。

 Destroy()方法:destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。

    public void destroy() {

       super.destroy(); // Just puts "destroy" string in log

       // Put your code here

    }

4.Javabean简介:

 JavaBean是一种专门构建的Java类,它使用Java编写,并根据JavaBeans API规范进行编码。

以下是将JavaBean与其他Java类有区别的独特特征 -

  • 它提供了一个默认的,无参数的构造函数。
  • 它应该是可序列化的,可以实现Serializable接口。
  • 它可能有许多可以读取或写入的属性。
  • 它可能有一些getter和setter方法的属性。

 

posted @ 2018-01-01 13:16  小小强~  阅读(1687)  评论(0编辑  收藏  举报