Servlet API 主要由 javax.servlet 和 javax.servlet.http 两个包组成。 在javax.servlet包中定义了Servlet接口及相关的通用和类 在javax.servlet.http包中主要定义了与HTTP协议相关的 HttpServlet类、HttpServletRequest接口和HttpServletResponse接口 Servlet API的核心是java.servlet.Servlet接口,所有的Servlet类都必须 实现 这一接口。 Servlet接口中定义了5个方法,其中有3个方法都由Servlet容器来调用 这3个方法是: init(ServletConfig config):容器创建Servlet对象后会调用init方法初始化Servlet对象 service(ServletRequest arg1,ServletResponse arg2):当容器收到客户端请求,访问特定的Servlet对象时,调用该Servlet对象的service()方法 destroy():当Servlet对象结束生命周期时调用destroy()释放Servlet对象占用的资源 还有两个方法: getServletConfig()返回一个ServletConfig对象,包含Servlet初始化信息 getServletInfo()返回一个字符串,包含了Servlet的创建者、版本和版权的信息 javax.servlet.GenericServlet抽象类 实现 了Servlet接口,还实现了ServletConfig接口和Serializable接口。 javax.servlet.GenericServlet抽象类没有实现Servlet接口的service()方法,service()方法是GenericServlet抽象类中唯一的抽象方法,所以GenericServlet抽象类的子类必须实现service()方法 由于GenericServlet抽象类实现了ServletConfig接口,因此,GenericServlet抽象类的子类可以直接调用在ServletConfig接口中定义的getServletContext()、getInitParameter()、getInitParameterNames()等方法 javax.servlet.http.HttpServlet抽象类是 GenericServlet抽象类的 子类 所以开发自己的Servlet类时,可以选择扩展GenericServlet类或者HttpServlet类 ServletRequest接口提供了一系列用于读取客户端请求数据的方法: getContentLength()返回请求正文的长度。如果请求正文的长度未知,则返回-1 getContentType()获得请求正文的MIME类型。如果请求正文的类型未知,返回null getInputStream()返回用于读取请求正文的输入流 getLocalAddr()返回服务器端IP getLocalName()返回服务器端主机名 getLocalPort()返回服务器端端口号 getParameter(String name)返回客户端请求中的匹配的请求参数值 getProtocol()返回客户端与服务器端通信所用的协议的名称和版本号 getReader()返回用于读取字符串形式的请求正文的BufferedReader对象 getRemoteAddr()返回客户端IP getRemoteHost()返回客户端主机名 getRemotePort()返回客户端端口号 此外,ServletRequest接口还定义了一组用于 在 请求范围内 存取 共享 数据的方法 *setAttribute(String name,Object object)在请求范围内保存一个属性 name是属性名 object是属性值 *getAttribute(String name)在请求范围内获取一个属性的匹配属性值 *removeAttribute(String name)从请求范围内删除一个属性 ServletResponse接口中定义了一系列与生成响应结果相关的方法 setCharacterEncoding(String charset)设置响应正文的字符编码,默认为ISO-8859-1 setContentLenght(int Len)设置响应正文的长度 setContentType(String type)设置响应正文的MIME类型 getCharacterEncondig()返回响应正文的字符编码 getContentType()返回响应正文的MIME类型 setBufferSize(int size)设置用于存放响应正文数据的缓冲区大小 getBufferSize()返回用于存放响应正文数据的缓冲区大小 reset()清空缓冲区内的正文数据,并且清空响应状态代码及响应头 resetBuffer()仅仅清空缓冲区内的正文数据 flushBuffer()强制性的把缓冲区内的响应正文数据发送到客户端 isComitted()缓冲区内的数据是否已经提交给客户端,如果是 返回 true getOutputStream()返回一个ServletOutputStream对象,Servlet用它来输出二进制的正文数据 getWriter()返回一个PrintWriter对象,Servlet用它来输出字符串形式的正文数据 HttpServletRequest接口是ServletRequest的子接口(子类),提供了用于读取HTTP请求中的相关信息的方法 getContextPath()返回客户端请求访问的web应用的URL入口 getCookies()返回HTTP请求中的所有Cookie getHeader(String name)返回HTTP请求的头部的特定项 getHeaderNames()返回一个Enumeration对象,它包含了HTTP请求头部的所有项目名 getMethod()返回HTTP请求方式 getRequestURI()返回HTTP请求的头部的第1行中的URI getQueryString()返回HTTP请求中的查询字符串,即URL中的“?”后面的内容 HttpServletResponse接口是ServletResponse接口的子接口(子类),提供了与HTTP协议相关的一些方法,来设置HTTP响应头或向客户端写Cookie addHeader(String name,String value)向HTTP响应头中加入一项内容 sendError(int sc)向客户端发送一个代表特定错误的HTTP响应状态代码 sendError(int sc,String msg)向客户端发送一个代表特定错误的HTTP应状态代码,并且发送具体的错误消息 setHeader(String name,String value)设置HTTP响应头中的一项内容。如果响应头中已经存在这项内容,就将其覆盖 setStatus(int sc)设置HTTP响应的状态代码 addCookie(Cookie cookie)向HTTP响应中加入一个Cookie ServletConfig接口 getInitParameter(String name)根据给定的初始化参数名,返回匹配的初始化参数值 getInitParameterNames()返回一个Enumeration对象,里面包含了所有的初始化参数名 getServletContext()返回一个ServletContext对象 getServletName()返回Servlet的名字,即web.xml中<servlet-name>子元素的值 ServletContext接口,是Servlet与Servlet容器之间直接通信的接口。Servlet容器在启动一个Web应用时,会为它创建一个ServletContext对象,每个web应用都有唯一的ServletContext对象。 ServletContext接口提供的方法分为以下几种类型 (1)在web应用范围内存取共享数据的方法 setAttribute(String name,Object object)把一个对象与一个属性名绑定,并存放到ServletContext中 getAttribute(String name)根据属性名返回匹配的属性值 getAttributeNames()返回一个Enumeration对象,该对象包含了所有存放在ServletContext对象中的属性名 removeAttribute(String name)根据属性名,从ServletContext中删除匹配的属性 (2)访问当前web应用的资源 getContextPath()返回当前应用的URL入口 getInitParameter(String name)根据给定的参数名,返回web应用范围内的匹配的初始化参数值 getInitParameterNames()返回一个Enumeration对象,它包含了web应用范围内的所有初始化参数名 getServletContextName()返回web应用的名字,即web.xml中<display-name>元素的值 getRequestDispatcher(String path)返回一个用于向其它web组件转发请求的RequestDispatcher对象 (3)访问Servlet容器中的其它web应用 getContext(String uripath)根据参数指定的RUI返回当前Servlet容器中其它web应用的ServletContext对象 (4)访问Servlet容器的相关信息 getMajorVersion()返回Servlet容器支持的JAVA Sservlet API主版本号 getMinorVersion()返回Servlet容器支持的JAVA Sservlet API主版次号 getServerInfo()返回Servlet容器的名字和版本 (5)访问服务器端的文件系统资源 getRealPath(String path)根据参数指定的虚拟路径,返回文件系统中的一个真实的路径 getResource(String path)返回一个映射到参数指定路径的RUL getResourceAsStream(String path)返回一个用于读取参数指定的文件输入流 getMimeType(String file)返回参数指定的文件的MIME类型 (6)输出日志 log(String msg)向Servlet的日志中写日志
相关推荐
Intel PHY Inteface spec 4.4, 适用于与PCIe,SATA,USB芯片开发
相信有很多朋友试过在自己的Linux系统上安装iou-web,但是会发现在自己的系统上安装时会遇到很多问题,比如设备启动不了、Web界面登陆不了、设备互相ping不通等等。经过自己的亲身实践加上iou-web作者的细心答疑,现...
dispatching submit event to a method, generating and storing error messages and rendering a view. DialogAction allows to create robust user inteface, which can withstand Refresh, Back and Forward ...
and/or audio converters. These data are typically encoded in PCM twos complement format, although other format variations may be possible to achieve companding for lower data rate transfers. Audio ...
sqlite java native inteface
STM32 FSMC inteface example
SPartan 6 compatible keyboard inteface
adc inteface through c8051 contoller
JNI(Java Native Inteface)编程指南,全文对Java JNI编程进行详细阐述,讲得很全面。
这是用于x64_86共享库和主代码之间的外观和更改调用的库。 您还可以将对象与虚拟对象(vtable)挂钩 ...lib.h - define inteface of test library lib.cpp - realisation of test library main.cpp - usage test li
list v2 用Object对象,接口inteface,迭代器Iterator实现linklist,Arraylist
JNI 是Java Native Inteface的缩写,是Java中定义的一种用于连接Java和C/C++接口的一种实现方式。 NDK NDK 是 Native Developmentit的缩写,是Google在Android开发中提供的一套用于快速创建native工程的一个工具。 ...
svn 服务器网页界面 描述 svn 服务器 Web 界面是一个简单的 Web 应用程序,使用 AngularJS、Bootstrap、Node.js、Restfull Api 和 shell 命令构建 安装并运行 $ npm install -g svn-server-web-interface ...
autoware_ros:autoware原始代码注释解析,会进行一些顺手的代码修改
vim-merginal, 用于管理和合并Git分支的逃犯扩展 简介Merginal为处理Git分支提供了一个不错的inteface 。 它提供交互式的TUI用于:查看分支列表从该列表签出分支创建新分支删除分支合并分支分支分支解决合并冲突遥控...
使用sort包的函数进行排序时,集合需要实现sort.Inteface接口,该接口中有三个方法: 代码如下:// Len is the number of elements in the collection. Len() int // Less reports whether the element with /...
DP-SW使用SWD接口对stm32系列编程swd.c 包括了SWD硬件IO口的初始化SWD时序模拟(时钟,写1字节,读一字节)等swd.h 包括了...实现所有寄存器的读写以及内存擦写参考 SWD_Debug 函数详细协议参考ARM Debug Inteface文档
采用VOF(volunle-of-fluid)中的Puc(piecewise linear inteface calculation)界面重构方法模拟研究了三维气泡群的上升过程及其对周围流场的扰动.重点分析考察了大量气泡上升过程中的动力学特性,伴随着随机的碰撞与...
内容从入门到精通,博大深入,涵盖最新的面向对象技术,如持久对象(Persistent Objects)与关系数据库(RelationalDatabase)、分布式对象(Distributed Objects,CORBA)、界面设计(Inteface Design)、可扩充标记...