当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
计算机二级考试指导:JavaServletAPI中文说明文档(2)
发布时间:2010/3/30 17:51:20 来源:城市学习网 编辑:admin

  JavaServletAPI中文说明文档(2)
  12、log
  public void log(String msg);
  public void log(String msg, Throwable t);
  public void log(Exception exception, String msg); // 这种用法将被取消
  写指定的信息到一个Servlet环境对象的log文件中。被写入的log文件由Servlet引擎指定,但是通常这是一个事件log。当这个方法被一个异常调用时,log中将包括堆栈跟踪。
  13、setAttribute
  public void setAttribute(String name, Object o);
  给予Servlet环境对象中你所指定的对象一个名称。

  14、removeAttribute
  public void removeAttribute(String name);
  从指定的Servlet环境对象中删除一个属性。
  注:以下几个方法将被取消
  15、getServlet
  public Servlet getServlet(String name) throws ServletException;
  最初用来返回一个指定名称的Servlet,如果没找到就返回一个空值。如果这个Servlet能够返回,这就意味着它已经被初始化,而且已经可以接受 service请求。这是一个危险的方法。当调用这个方法时,可能并不知道Servlet的状态,这就可能导致有关服务器状态的问题。而允许一个 Servlet其他Servlet的这个方法也同样的危险。
  现在这个方法返回一个空值,为了保持和以前版本的兼容性,现在这个方法还没有被取消。在以后的API版本中,该方法将被取消。
  16、getServletNames
  public Enumeration getServletNames();
  最初用来返回一个String对象的列表,该列表表示了在这个Servlet环境下所有已知的Servlet对象名。这个列表总是包含这个Servlet自身。
  基于与上一个方法同样的理由,这也是一个危险的方法。
  现在这个方法返回一个空的列表。为了保持和以前版本的兼容性,现在这个方法还没有被取消。在以后的API版本中,该方法将被取消。
  17、getServlets
  public Enumeration getServlets();
  最初用来返回在这个Servelet环境下所有已知的Servlet对象的列表。这个列表总是包含这个Servlet自身。
  基于与getServlet方法同样的理由,这也是一个危险的方法。
  现在这个方法返回一个空的列表。为了保持和以前版本的兼容性,现在这个方法还没有被取消。在以后的API版本中,该方法将被取消。
  定义
  public interface ServletRequest
  定义一个Servlet引擎产生的对象,通过这个对象,Servlet可以获得客户端请求的数据。这个对象通过读取请求体的数据提供包括参数的名称、值和属性以及输入流的所有数据。
  方法
  1、getAttribute
  public Object getAttribute(String name);
  返回请求中指定属性的值,如果这个属性不存在,就返回一个空值。这个方法允许一些不提供给这个接口中其他方法的请求信息以及其他Servlet放置在这个请求对象内的数据。
  2、getAttributeNames
  public Enumeration getAttributeNames();
  返回包含在这个请求中的所有属性名的列表。
  3、getCharacterEncoding
  public String getCharacterEncoding();
  返回请求中输入内容的字符编码类型,如果没有定义字符编码类型就返回空值。
  4、getContentLength
  public int getContentLength();
  请求内容的长度,如果长度未知就返回-1。
  5、getContentType
  public String getContentType();
  返回请求数据体的MIME类型,如果类型未知返回空值。
  6、getInputStream
  public ServletInputStream getInputStream() throws IOException;
  返回一个输入流用来从请求体读取二进制数据。如果在此之前已经通过getReader方法获得了要读取的结果,这个方法会抛出一个IllegalStateException。
  7、getParameter
  public String getParameter(String name);
  以一个String返回指定的参数的值,如果这个参数不存在返回空值。例如,在一个HTTP Servlet中,这个方法会返回一个指定的查询语句产生的参数的值或一个被提交的表单中的参数值。如果一个参数名对应着几个参数值,这个方法只能返回通过getParameterValues方法返回的数组中的第一个值。因此,如果这个参数有(或者可能有)多个值,你只能使用 getParameterValues方法。
  8、getParameterNames
  public Enumeration getParameterNames();
  返回所有参数名的String对象列表,如果没有输入参数,该方法返回一个空值。
  9、getParameterValues
  public String getParameterValues(String name);
  通过一个String对象的数组返回指定参数的值,如果这个参数不存在,该方法返回一个空值。
  10、getProtocol
  public String getProtocol();
  返回这个请求所用的协议,其形式是协议/主版本号.次版本号。例如对于一个HTTP1.0的请求,该方法返回HTTP/1.0。
  11、getReader
  public BufferedReader getReader() throws IOException;
  这个方法返回一个buffered reader用来读取请求体的实体,其编码方式依照请求数据的编码方式。如果这个请求的输入流已经被getInputStream调用获得,这个方法会抛出一个IllegalStateException。
  12、getRemoteAddr
  public String getRemoteAddr();
  返回发送请求者的IP地址。
  13、getRemoteHost
  public String getRemoteHost();
  返回发送请求者的主机名称。如果引擎不能或者选择不解析主机名(为了改善性能),这个方法会直接返回IP地址。
  14、getScheme
  public String getScheme();
  返回请求所使用的URL的模式。例如,对于一个HTTP请求,这个模式就是http。
  15、getServerName
  public String getServerName();
  返回接收请求的服务器的主机名。
  16、getServerPort
  public int getServerPort();
  返回接收请求的端口号。
  17、setAttribute
  public void setAttribute(String name, Object object);
  这个方法在请求中添加一个属性,这个属性可以被其他可以这个请求对象的对象(例如一个嵌套的Servlet)使用。
  注:以下方法将被取消
  getRealPath
  public String getRealPath(String path);
  返回与虚拟路径相对应的真实路径,如果因为某种原因,这一过程不能进行,该方法将返回一个空值。
  这个方法和ServletContext接口中的getRealPath方法重复。在2.1版中,ServletContext接口将阐明一个 Servlet所能用的所有的路径的映射。该方法执行的结果将会与ServletContext中getRealPath方法的结果完全一样。
  定义
  public interface ServletResponse
  定义一个Servlet引擎产生的对象,通过这个对象,Servlet对客户端的请求作出响应。这个响应应该是一个MIME实体,可能是一个HTML页、图象数据或其他MIME的格式。
  方法
  1、getCharacterEncoding
  public String getCharacterEncoding();
  返回MIME实体的字符编码。这个字符编码可以是指定的类型,也可以是与请求头域所反映的客户端所能接受的字符编码最匹配的类型。在HTTP协议中,这个信息被通过Accept-Charset传送到Servlet引擎。
  有关字符编码和MIME的信息请参看RFC 2047。
  2、getOutputStream
  public ServletOutputStream getOutputStream() throws IOException;
  返回一个记录二进制的响应数据的输出流。
  如果这个响应对象已经调用getWriter,将会抛出IllegalStateException。
  3、getWriter
  public PrintWriter getWriter throws IOException;
  这个方法返回一个PringWriter对象用来记录格式化的响应实体。如果要反映使用的字符编码,必须修改响应的MIME类型。在调用这个方法之前,必须设定响应的content类型。
  如果没有提供这样的编码类型,会抛出一个UnsupportedEncodingException,如果这个响应对象已调用getOutputStream,会抛出一个getOutputStream。
  4、setContentLength
  public void setContentLength(int length);
  设置响应的内容的长度,这个方法会覆盖以前对内容长度的设定。
  为了保证成功地设定响应头的内容长度,在响应被提交到输出流之前必须调用这个方法。
  5、setContentType
  public void setContentType(String type);
  这个方法用来设定响应的content类型。这个类型以后可能会在另外的一些情况下被隐式地修改,这里所说的另外的情况可能当服务器发现有必要的情况下对MIME的字符设置。
  为了保证成功地设定响应头的content类型,在响应被提交到输出流之前必须调用这个方法。
  定义
  public interface SingleThreadModel;
  这是一个空接口,它指定了系统如何处理对同一个Servlet的调用。如果一个Servlet被这个接口指定,那么在这个Servlet中的service方法中将不会有两个线程被同时执行。
  Servlet可以通过维持一个各自独立的Servlet实例池,或者通过只让Servlet的service中只有一个线程的方法来实现这个保证。
  public abstract class GenericServlet implements Servlet,
  ServletConfig, Serializable;
  这个类的存在使得编写Servlet更加方便。它提供了一个简单的方案,这个方案用来执行有关Servlet生命周期的方法以及在初始化时对ServletConfig对象和ServletContext对象进行说明。
  方法
  1、destroy
  public void destroy();
  在这里destroy方法不做任何其他的工作。
  2、getInitParameter
  public String getInitParameter(String name);
  这是一个简便的途径,它将会调用ServletConfig对象的同名的方法。
  3、getInitParameterNames
  public Enumeration getInitParameterNames();
  这是一个简便的途径,它将会调用ServletConfig对象的同名的方法。
  4、getServletConfig
  public ServletConfig getServletConfig();
  返回一个通过这个类的init方法产生的ServletConfig对象的说明。
  5、getServletContext
  public ServletContext getServletContext();
  这是一个简便的途径,它将会调用ServletConfig对象的同名的方法。
  6、getServletInfo
  public String getServletInfo();
  返回一个反映Servlet版本的String。
  7、init
  public void init() throws ServletException;
  public void init(ServletConfig config) throws ServletException;
  init(ServletConfig config)方法是一个对这个Servlet的生命周期进行初始化的简便的途径。
  init()方法是用来让你对GenericServlet类进行扩充的,使用这个方法时,你不需要存储config对象,也不需要调用super.init(config)。
  init(ServletConfig config)方法会存储config对象然后调用init()。如果你重载了这个方法,你必须调用super.init(config),这样GenericServlet类的其他方法才能正常工作。
  8、log
  public void log(String msg);
  public void log(String msg, Throwable cause);
  通过Servlet content对象将Servlet的类名和给定的信息写入log文件中。
  9、service
  public abstract void service(ServletRequest request, ServletResponse
  response) throws ServletException, IOException;
  这是一个抽象的方法,当你扩展这个类时,为了执行网络请求,你必须执行它。
  定义
  public abstract class ServletInputStream extends InputStream
  这个类定义了一个用来读取客户端的请求信息的输入流。这是一个Servlet引擎提供的抽象类。一个Servlet通过使用ServletRequest接口获得了对一个ServletInputStream对象的说明。
  这个类的子类必须提供一个从InputStream接口读取有关信息的方法。
  方法
  1、readLine
  public int readLine(byte b, int off, int len) throws IOException;
  从输入流的指定的偏移量开始将指定长度的字节读入到指定的数组中。如果该行所有请求的内容都已被读取,这个读取的过程将结束。如果是遇到了新的一行,新的一行的首个字符也将被读入到数组中。
  定义
  public abstract class ServletOutputStream extends OutputStream
  这是一个由Servlet引擎使用的抽象类。Servlet通过使用ServletResponse接口的使用获得了对一个这种类型的对象的说明。利用这个输出流可以将数据返回到客户端。
  这个类的子类必须提供一个向OutputStream接口写入有关信息的方法。
  在这个接口中,当一个刷新或关闭的方法被调用时。所有数据缓冲区的信息将会被发送到客户端,也就是说响应被提交了。请注意,关闭这种类型的对象时不一定要关闭隐含的socket流。
  方法
  1、print
  public void print(String s) throws IOException;
  public void print(boolean b) throws IOException;
  public void print(char c) throws IOException;
  public void print(int i) throws IOException;
  public void print(long l) throws IOException;
  public void print(float f) throws IOException;
  public void print(double d) throws IOException;
  输出变量到输出流中
  2、println
  public void println() throws IOException;
  public void println(String s) throws IOException;
  public void println(boolean b) throws IOException;
  public void println(char c) throws IOException;
  public void println(int i) throws IOException;
  public void println(long l) throws IOException;
  public void println(float f) throws IOException;
  public void println(double d) throws IOException;
  输出变量到输出流中,并增加一个回车换行符
  定义
  public class ServletException extends Exception
  当Servlet遇到问题时抛出的一个异常。
  构造函数
  public ServletException();
  public ServletException(String message);
  public ServletException(String message, Throwable cause);
  public ServletException(Throwable cause);
  构造一个新的ServletException,如果这个构造函数包括一个Throwable参数,这个Throwable对象将被作为可能抛出这个异常的原因。
  方法
  1、getRootCause
  public Throwable getRootCause();
  如果配置了抛出这个异常的原因,这个方法将返回这个原因,否则返回一个空值。
  定义
  public class UnavailableException extends ServletException
  不论一个Servlet是永久地还是临时地无效,都会抛出这个异常。Servlet会记录这个异常以及Servlet引擎所要采取的相应措施。
  临时的无效是指Servlet在某一时间由于一个临时的问题而不能处理请求。例如,在另一个不同的应用层的服务(可能是数据库)无法使用。这个问题可能会自行纠正或者需要采取其他的纠正措施。
  永久的无效是指除非管理员采取措施,这个Servlet将不能处理客户端的请求。例如,这个Servlet配置信息丢失或Servlet的状态被破坏。
  Servlet 引擎可以安全地处理包括永久无效在内的这两种异常,但是对临时无效的正常处理可以使得Servlet引擎更健壮。特别的,这时对Servlet的请求只是被阻止(或者是被延期)一段时间,这显然要比在service自己重新启动前完全拒绝请求更为科学。
  构造函数
  public UnavailableException(Servlet servlet, String message);
  public UnavailableException(int seconds, Servlet servlet,
  String message);
  构造一个包含指定的描述信息的新的异常。如果这个构造函数有一个关于秒数的参数,这将给出Servlet发生临时无效后,能够重新处理请求的估计时间。如果不包含这个参数,这意味着这个Servlet永久无效。
  方法
  1、getServlet
  public Servlet getServlet();
  返回报告无效的Servlet。这被Servlet引擎用来识别受到影响的Servlet。
  2、getUnavailableSeconds
  public int getUnavailableSeconds();
  返回Servlet预期的无效时间,如果这个Servlet是永久无效,返回-1。
  3、isPermanent
  public boolean isPermanent();
  如果这个Servlet永久无效,返回布尔值true,指示必须采取一些管理行动以使得这个Servlet可用。
  软件包:javax.servlet.http
  所包含的接口:HttpServletRequest;HttpServletResponse;HttpSession;HttpSessionBindingListener;HttpSessionContext。
  所包含的类:Cookie;HttpServlet;HttpSessionBindingEvent;HttpUtils。

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved