`
lhx1026
  • 浏览: 301215 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

Servlet学习(一)

阅读更多

一、基础接口——javax.servlet.Servlet

 

Servlet接口定义了所有servlet都必须实现的方法。

 

Servlet是一个小型的运行在web服务器上的java程序。Servlet通过通过HTTP协议接收和响应客户端的请求。

要实现这个接口,可以编写一个通用的继承了 javax.servlet.GenericServlet类的servlet,或者是编写一个继承了javax.servlet.http.HttpServlet类的HTTP的servlet。

这个接口定义了初始化servlet的方法,service请求,以及从服务器中移除servlet的方法。这些是servlet的生命周期方法,它们按照下面的顺序被调用:

  •     servlet类初始化之后,则会调用init()方法进行初始化。
  •     任何客户端对service()方法的调用都会被处理.
  •     servlet从服务中被移除并且使用destroy()方法销毁该servlet,之后垃圾收集器会回收该servlet资源。


除了生命周期方法之外,这个接口还提供了getServletConfig()方法,servlet可以使用这个方法获得任何启动的信息。而getServletInfo()方法则可以允许servlet返回有关servlet本身的基本信息,比如作者、版本以及版权信息等。

 

javax.servlet.Servlet接口定义的方法如下所示:

 

  • public void init (ServletConfig config) throws ServletException——初始化方法
  • public void service (ServletRequest req, ServletResponse res) throws ServletException, IOException——处理客户端请求的方法
  • public void destroy ()——销毁servlet的方法
  • public ServletConfig getServletConfig()——返回包含了关于该servlet本身的初始化和启动参数信息的ServletConfig对象,该ServletConfig对象会被传递给 init () 方法使用。
  • public String getServletInfo()——返回有关servlet本身的基本信息,比如作者、版本以及版权信息。

二、通用的servlet类——javax.servlet.GenericServlet

 

javax.servlet.GenericServlet是一个实现了javax.servlet.Servlet接口以及javax.servlet.ServletConfig接口的抽象类。

 

javax.servlet.GenericServlet抽象类定义了一个通用的、与协议无关的servlet。如果要编写一个在Web上使用的HTTP servlet,则这个servlet需要继承javax.servlet.http.HttpServlet 类,而不是继承javax.servlet.GenericServlet类。

 

javax.servlet.GenericServlet类可以直接被其他servlet继承,虽然更普遍的是继承一个指定协议的javax.servlet.GenericServlet类的子类,比如javax.servlet.http.HttpServlet类。

 

 

javax.servlet.GenericServlet类使得servlet更容易编写。它提供了生命周期方法init()和destroy()的简单实现版本,也实现了javax.servlet.ServletConfig接口中的方法的简单实现。javax.servlet.GenericServlet类也实现了log()方法,这个方法在javax.servlet.ServletContext接口中进行了声明。

 

 

因此,要编写一个通用的servlet,你必须实现的方法只有抽象方法service() 。.

 

三、HTTP协议使用的servlet——javax.servlet.http.HttpServlet

 

javax.servlet.http.HttpServlet类是抽象类javax.servlet.GenericServlet的子类,这个HttpServlet类是一个适合于web网站的HTTP servlet。javax.servlet.http.HttpServlet的子类必须至少重写下面这些方法中的一个:

 

  • doGet()方法——如果这个servlet支持HTTP GET请求。
  • doPost()方法——如果这个servlet支持HTTP POST请求。
  • doPut()方法——如果这个servlet支持HTTP DELETE请求。
  • init()和destroy()方法——如果这个servlet需要管理生命周期的资源。
  • getServletInfo()方法——用来提供有关servlet本身的信息。

这里没有什么理由需要重写service() 方法。service() 方法通过为每个HTTP请求类型分配处理器方法(上面列出来的doXXX方法)来处理标准的HTTP请求。

 

同样地,这里也没有理由需要重写doOptions()和doTrace()方法。

Servlet往往运行在多线程的服务器上,因此要意识到一个servlet必须处理并发请求,并且要谨慎处理同步访问共享资源。共享资源包括内存数据比如实例或者类变量,外部对象比如文件、数据库连接和网络连接。

分享到:
评论

相关推荐

    javaEE servlet 学习笔记

    javaEE servlet 学习笔记 jsp本质上是servlet,但是为了更加符合mvc的框架,将页面显示和逻辑控制分离,jsp页面只负责页面,也就是mvc中的V(view),而servlet负责mvc中的C(control)。 而为了更加好的理解结构,一下...

    JSP_Servlet学习笔记(第2版)

    JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet或认证考试时遇到的概念、操作、应用等各种问题及解决方案。 本书针对Servlet3.0的新功能全面改版,无论章节架构...

    JSP & Servlet学习笔记

    本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。, 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都做...

    JSP&Servlet学习笔记.pdf

    本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。  本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...

    servlet学习

    java中如何写一个servlet一天学会

    servlet学习的一个例子

    servlet学习的一个例子 java+jsp

    JSP & Servlet学习笔记(第2版)

    本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都做...

    jsp servlet 入门学习资料-新手一看就懂

    第一部分 JSP入门 第1章 概述 1.1 Java技术 1.1.1 Java技术的发展 1.1.2 JavaBeans 1.1.3 JDBC 1.1.4 J2EE 1.1.5 EJB 1.1.6 Java Servlet 1.2 JSP技术 1.2.1 JSP技术概述 1.2.2 JSP的优势及与其他Web开发...

    servlet和jsp学习指南

    《Servlet和JSP学习指南》是系统学习Servlet和JSP的必读之作。由全球知名的Java技术专家(《HowTomcat Works》作者)亲自执笔,不仅全面解读Servlet和JSP的最新技术,重点阐述JavaWeb开发的重要编程概念和设计模型,...

    Java相关课程系列笔记之九Servlet学习笔记

    Java相关课程系列笔记之九Servlet学习笔记 Java相关课程系列笔记之十JSP学习笔记 Java相关课程系列笔记之十一Ajax学习笔记 Java相关课程系列笔记之十二jQuery学习笔记 Java相关课程系列笔记之十三Struts2学习笔记 ...

    java-servlet学习笔记

    看过方立勋老师的课程之后 做的一点小笔记 以后拿出来复习复习 不对之处 请见谅 本人只是默默的一只菜鸟

    servlet和jsp学习指南_pdf.rar

    《servlet和jsp学习指南》是系统学习servlet和jsp的必读之作。由全球知名的java技术专家(《how tomcat works》作者)亲自执笔,不仅全面解读servlet 和jsp 的最新技术,重点阐述java web开发的重要编程概念和设计...

    JSP Servlet学习资料--全套PPT

    JSP Servlet学习资料--全套PPT 这是一套青鸟教学的资料,包含全套的PPT内容 作为JSP和Servlet的入门教材,这是一套非常好的学习资料

    Servlet和Jsp学习指南(带详细书签)

    《servlet和jsp学习指南》是系统学习servlet和jsp的必读之作。由全球知名的java技术专家(《how tomcat works》作者)亲自执笔,不仅全面解读servlet 和jsp 的最新技术,重点阐述java web开发的重要编程概念和设计...

    基于Java的Jsp-Servlet学习仓库设计源码

    本源码项目是基于Java的Jsp-Servlet学习仓库设计,包含465个文件,主要使用Java、JavaScript和HTML编程语言。该项目旨在为学习Jsp-Servlet的开发者提供一...系统界面友好,易于操作,适合用于各类Jsp-Servlet学习场景。

    servlet学习示例

    一、知识点 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或 其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。 简单的说java的web开发都是基于Servlet...

    servlet和jsp学习指南pdf

    第14章讨论Servlet 3中的一项新特性,用来处理异步的操作;第15章阐述如何通过声明和编程方式来保护Java的Web应用程序;第16章讨论Servlet/JSP应用程序的部署过程,以及部署描述符中的元素;第17章阐述Servlet 3中的...

    servlet 8个最基础demo

    我们老师教学演示的servlet例子 从简单到难文件夹有八个demo供初学者学习 servlet01 servlet02 servlet03 servlet04 servlet05 servlet06 servlet07 servlet08 servlet是在服务器上运行的小程序。这个词是在Java ...

Global site tag (gtag.js) - Google Analytics