Servlet基础之一:Servlet基本接口与类

1、概述

Servlet API中共有5个包,约113个接口和类:

javax.servlet
javax.servlet.http
javax.servlet.jsp
javax.servlet.annotation
javax.servlet.descriptor

2、Servlet接口

(1)所有Servlet/JSP应用必须直接或者间接实现Servlet接口, Servlet/JSP容器会将实现了Servlet接口的类加载至容器,以供访问。

(2)Servlet中共定义了5个方法:

void init(ServletConfig config)
void service(ServletRequest req,ServletResponse res)
void destroy()
String getServletInfo()
ServletConfig getServletConfig()

其中前三个为生命周期方法。

(3)一般而言,在init()中会将ServletConfig赋值给一个类级变量,以便Servlet类中的其它方法可以访问。但在httpServlet中,已经完成了此项工作,可以直接调用getServletConfig()获取即可。

(4)一个应用程序中的所有用户将共用一个Servlet实例,因此不建议使用类级变量,除非它们是只读的,或者是java.util.concurrent.atomic包中的成员。

3、ServletRequest接口与HttpServletRequest接口

(1)ServletRequest接口主要用于获取请求中的参数、内容等,如

String getContentType()
String getParameter(Stringname)

(2)HttpServletRequest接口在ServletRequest接口的基础上增加了以下方法:

String getContextPath()    //返回表示请求Context的请求URI部分
Cookie[] getCookies()    //返回一个Cookies对象数据。
String getHeader(String name)
String getMethod()
String getQueryString    //返回请求URL中的查询字符串
HttpSession getSession()
HttpSession getSession(Boolean create)

4、ServletResponse接口与HttpServletResponse接口

(1)在调用一个Servlet的service()方法之前,Servlet会先创建一个ServletRequest与ServletResponse,并将它们作为参数传给service方法,它们隐藏了将请求发给servlet以及响应发给浏览器的复杂性。

(2)常用方法:获取输出流、设置响应格式等。

ServletOutputStream getOutputStream() //一般用于文件的上传下载,传输二进制数据
PrintWritergetWriter()    //用于文字的传送,如传输HTML等
void setLocale(Locale loc)

(3)HttpServletResponse增加了以下方法:

 voidaddCookie(Cookie cookie)
void addHeader(String name, String value)
void sendRedirect(String location)

5、GernericSerlvet类

主要完成了以下工作

将init方法中的ServletConfig赋值给一个类级变量,使它可以通过调用getServletConfig来获取。

为Servlet接口中的所有方法提供默认实现。

提供方法来包装ServletConfig中的方法。

但由于一般而言,servlet均为HttpServlet,因此GenericServlet并不常用,主要使用HttpServlet。

Servlet基础之一:Servlet基本接口与类

时间: 2024-12-11 17:37:55

Servlet基础之一:Servlet基本接口与类的相关文章

Servlet基础总结

Servlet是JavaWeb应用开发的核心组件.Servlet运行在Servlet容器中(例如最常用的Tomcat),它可以为各种客户请求提供相应服务.Servlet可以轻松完成以下任务: 动态生成HTML文档(即服务端交互,动态页面) 把请求转发给同一个Web应用中的其他Servlet组件. 访问服务器资源(如数据库访问) 读取客户端的Cookie. ServletAPI有4个包,如下: javax.servlet :包含定义了Servlet与Servlet容器之间签约的类和接口. java

Servlet的接口实现类

Sun公司提供了两个默认实现类 GenericServlet和HttpServlet HttpServlet指能够处理Http请求的Servlet,它在原有的Servlet基础上添加了与HTTp相关的处理方法.因此编写Servlet事,通常继承这个类 HttpServlet复写了Server方法,在该方法内自动判断请求方式,根据GET请求和POST请求分别调用doGet和doPost方法.因此,通常只需要重写这两个方法即可,不用重写service方法. 直接new一个Servlet,就是继承于H

06.实现servlet的几种方式,以及接口或者类之间的关系

接口:Servlet.ServletConfig.ServletRequest.ServletResponse.HttpServletRequest.HttpServletResponse.ServletContext 类:HttpServlet(抽象类).GenericServlet(抽象类) 来张关系图 ServletContext: ServletContext的对象是application是在项目初始化时被创建的.故servletContext随着应用初始化而被创建,随着应用的结束而被销

Servlet总结——servlet的主要接口、类

Servlet总结01——servlet的主要接口.类 (一)servlet类 Servlet主要类.接口的结构如下图所示: 要编写一个Servlet需要实现javax.servlet.Servlet接口,该接口定义了5个方法.如下: 1.init(),初始化servlet对象,完成一些初始化工作. 它是由servlet容器控制的,该方法只能被调用一次,初始化过程如下: 2.service(),接受客户端请求对象,执行业务操作,利用响应对象响应客户端请求. 3.destroy(),当容器监测到一

Servlet基础

Servlet基础 Jsp的本质即为Servlet,jsp页面部署到web容器中后会被编译为Servlet.Servlet使用输出流输出html标签,开发过程复杂且难以进行设计. Servlet是一个完整的java类,jsp是对Servlet的简化.Servlet中没有jsp的内置对象,jsp内置对象需要Servlet显式创建. 在MVC架构中,Servlet已不再作为视图仅仅作为控制器使用. 这里介绍了Servlet开发中所涉及的基础知识以及局部应用范例,Servlet作为控制器的应用介绍请见

JSP数据交互(二)和Servlet基础

01.Application原理与应用 01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量.只要服务启动,则application对象就会存在. 02.在一个应用中只有一个application,每一个用户都会共享这一个application对象. 03.通过统计网站访问次数来讲解application的用法 02.对象作用域 03.Cookie简介 解析:cookie是Web服务器保存在客户端的一系列文本信息,根据域名和端口号区分是否保存成

JavaWeb-07(tomcat与web程序结构与Http协议与Servlet基础)

JavaWeb-07 JavaWeb-tomcat与web程序结构与Http协议与Servlet基础 HTTP协议(记住) 1.http协议:规定了客户端和服务端交流时的数据格式 a. WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议. b. HTTP是HyperText Transfer Protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程及数据本身的格式. c. HT

JSP/Servlet基础语法

相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp/web_xml.html http://blog.csdn.net/liaoxiaohua1981/article/details/6761053 http://computer.c.blog.163.com/blog/static/102524482012314537670/ http://ww

JAVA WEB SERVLET 基础知识点

Servlet Servlet Servlet API 概述 Servlet 编写基础的Servlet应用程序 1编写和编译Servlet类 2应用程序的目录结构 3调用Servlet ServletRequest ServletResponse ServletConfig ServletContext GenericServlet 1 HTTPServlet 2 HttpServletRequest 3 HttpServletResponse 处理HTML表单 使用部署描述符 掌握Servle