servlet常用的方法说明

  • Post author:
  • Post category:其他


什么是Servlet:

1.servlet是在服务器端运行的java程序,可以接受用户的请求并做出响应。

2.servlet可以动态的生成HTML内容并作出相应、

3.继承javax.servlet.http.HttpServlet类

Servlet体系结构



1.Servlet接口:定义了所有Servlet需要实现的方法


void init (ServletConfig config);


由 Servlet 容器调用,用于完成Servlet对象在处理客户请求 前的初始化工作


void service ( ServletRequest req, ServletResponse res)


由 Servlet 容器调用,用来处理客户端的请求


void destroy ( );由 Servlet 容器调用,释放Servlet对象所使用的资源


ServletConfig getServletConfig ( )


返回ServletConfig 对象,该对象包含此 Servlet 的初始化和 启动参数。返回的 ServletConfig 对象是传递给 init( ) 方法 的对象


String getServletInfo ( )


返回有关 Servlet 的信息,比如作者、版本和版权。返回 的字符串是纯文本,而不是任何种类的标记(如 HTML、 XML等


主要讲述了Servlet的生命周期


即:实例化——-Servlet 容器创建 Servlet 的实例


初始化——-该容器调用 init ( ServletConfig ) 方法


服务——如果请求 Servlet,则容器调用 service() 方法


销毁——-销毁实例之前调用 destroy() 方法



2.GenericServlet抽象类:提供了Servlet与ServletConfig接口方法的默认实现(service( )方法除外)


public void init (ServletConfig config )


对Servlet接口中init()方法的实现,对ServletConfig 实例进行了保存。此方法还有一个无参的重载方 法,可用于子类中重写


public String getInitParameter (String name )返回web.xml中名称为name的初始化参数的值


public ServletContext getServletContext ( )返回ServletContext对象的引用



3.ServletConfig接口:在Servlet初始化过程中获取配置信息 一个Servlet只有一个ServletConfig对象

String getInitParameter (String name )获取web.xml中设置的以name命名的初始化参数值

ServletContext getServletContext( )返回Servlet的上下文对象引用



4.ServletContext接口:获取Web应用上下文,与Servlet容器进行通信.即:Servlet容器(唯一),作用于整个作用域



常用方法:

void setAttribute (String name, Object object ) 设置名称为name的属性

Object getAttribute (String name ) 获取名称为name的属性



与请求和响应有关的接口:重!!!!



5.ServletRequest接口:获取客户端请求的数据


Object getAttribute ( String name ) 获取名称为name的属性值


void setAttribute (String name, Object object ) 在请求中保存名称为name的属性

void removeAttribute (String name) 清除请求中名字为name的属性

String getCharacterEncoding ( ) 返回请求体所使用的字符编码


void setCharacterEncoding (String charset ) 设置请求体的字符编码


String getParameter ( String name ) 返回指定请求参数的值                             运用的特别频繁

String[ ] getParameterValues (String name ) 返回指定请求参数的全部值



RequestDispatcher getRequestDispatcher( String path ) 返回指向指定路径的请求分发对象(转发))



6.HttpServletRequest接口:除了继承ServletRequest接口中的方法,还增加了一些用于读取 HTTP请求信息的方法

String getContextPath( ) 返回请求URI中表示请求上下文的路径,上下文路径是请求URI的开 始部分


Cookie[ ] getCookies( ) 返回客户端在此次请求中发送的所有cookie对象


HttpSession getSession( ) 返回和此次请求相关联的session,如果没有给客户端分配session, 则创建一个新的session    重点



7.HttpSession接口:session对象常用方法


String getId() 获取sessionid


void setMaxInactiveInterval(int interval) 设定session的非活动时间


int getMaxInactiveInterval() 获取session的有效非活动时间(以秒 为单位)


void invalidate() 设置session对象失效      在特定的的条件下使用


void setAttribute(String key, Object value) 以key/value的形式保存对象值


Object getAttribute(String key) 通过key获取对象值      常用

void removeAttribute(String key) 从session中删除指定名称(key)所对 应的对象



8.ServletResponse接口:设置响应参数和向客户端发送响应数据



这几种方法基本上每次都要使用

PrintWriter getWriter ( ) 返回PrintWriter对象,用于向客户端发送文本

String getCharacterEncoding ( ) 返回在响应中发送的正文所使用的字符编码

void setCharacterEncoding (String charset ) 设置响应的字符编码

void setContentType ( String type ) 设置发送到客户端的响应的内容类型,此时响应 的状态属于尚未提交”text/html;charset=UTF-8”



9:HttpServletResponse接口:除了继承ServletResponse接口中的方法,还增加了适用于HTTP响应的 新方法


void addCookie ( Cookie cookie ) 增加一个cookie到响应中,这个方法可多次调用,设置 多个cookie

void addHeader ( String name,String value ) 将一个名称为name,值为value的响应报头添加到响应中


void sendRedirect(String location) 发送一个临时的重定向响应到客户端,以便客户端访问 新的URL    重定向重点

void encodeURL ( String url ) 使用session ID对用于重定向的URL进行编码



下面是几个重点的区别和注意:



1.session失效的原因



2.session和cookie的区别




3.转发的示意图



4.重定向的示意图



5.转发和重定向的区别



版权声明:本文为m0_71128291原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。