高分网 > 答案大全 > 其它答案 >

servlet重要的知识点

时间: 炎婷2 其它答案

  Java Servlet知识点归纳

  Servlet生命周期

  1.servlet容器完成加载Servlet类加载和实例化:

  当servlet容器启动时,或者servlet容器检测到需要这个servlet服务的第一个请求时, servlet容器会加载这个servlet,并生成servlet实例。也可以在两者之间的任何时候执行(配置为load on start up的 servlet是在容器启动时被加载的)。

  2.serlet初始化

  当servlet实例化后,容器将调用这个对象的init()方法进行初始化,初始化的目的是在这个实例为请求提供服务前完成初始化工作,如建立配置连接,获取配置信息等。servlet实例可以使用容器为其提供的ServletConfig对象,从web应用程序的配置信息中(即web.xml文件),获取初始化的参数信息

  3.服务

  Servlet容器调用servlet实例的service()方法来对请求进行处理。在service()方法中,servlet实例通过ServletRequest对象,来获取客户端的相关信息和请求信息;处理完成后,servlet实例通过ServletResponse对象来设置相应信息。

  4.销毁

  当容器检测到某个servlet实例需要在服务中移除时,则容器将调用servlet实例的destroy()方法,以便释放实例所使用的资源,并将数据存储到持久存储设备中。当调用destroy()方法后,容器将释放此servlet实例,该实例随后将由垃圾回收器进行垃圾回收处理。如果再有对此实例的服务请求时,容器将重新创建一个新的servlet实例。

  如何获得请求参数?

  1. request。getParameter(“name”);

  2. 如果一个请求参数有多个值,需要返回一个数组!

  String []size=request.getParameter(“name”);

  For(int i=0;i

  out.print(size[0]);}

  除了参数,还可以获得其他

  1与请求相关的cookie Cookie [] cookies=request.getCookies();

  2与会话相关的session Session session=request.getSession();

  3请求的HTTP方法 String methed=request.getMethed();

  Request对象的主要方法:

  setAttribute(String name,Object):设置名字为name的request的参数值

  getAttribute(String name):返回由name指定的属性值

  getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例

  getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组

  getCharacterEncoding():返回请求中的字符编码方式

  getContentLength():返回请求的Body的长度

  getHeader(String name):获得HTTP协议定义的文件头信息

  getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例

  getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例

  getInputStream():返回请求的输入流,用于获得请求中的数据

  getMethod():获得客户端向服务器端传送数据的方法

  getParameter(String name):获得客户端传送给服务器端的有name指定的参数值

  getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例

  getParametervalues(String name):获得有name指定的参数的所有值

  getProtocol():获取客户端向服务器端传送数据所依据的协议名称

  getQueryString():获得查询字符串

  getRequestURI():获取发出请求字符串的客户端地址

  getRemoteAddr():获取客户端的IP地址

  getRemoteHost():获取客户端的名字

  getSession([Boolean create]):返回和请求相关Session

  getServerName():获取服务器的名字

  getServletPath():获取客户端所请求的脚本文件的路径

  getServerPort():获取服务器的端口号

  removeAttribute(String name):删除请求中的一个属性

  RequestDispacherciew=request getRequestDispacher(“result.jsp”);

  view.forword(request, response); 请求派发向客户端输出的方法:

  Response.setContentType(“application/jar”); 设置返回浏览器内容类型!

  response.getOutputStream(); 初始化一个输出流对象。

  response.getWrite();

  response.secdredirect(); 重定向

  response.setHead(”foo”,”bar”);

  response.addHead(”foo”,”bar”);

  用于在Web应用范围内存取共享数据的方法。

  注:web应用范围具有以下两层含义:

  (1) 表示有web应用的生命周期构成的时间段.

  (2) 表示在web应用的生命周期内所有web组件的集合。

  Ø setAttribute(String name,java.lang.Object object):把一个java对象和一个属性名绑定,并存放到ServletContext中,参数name指定属性名,参数Object表示共享数据。 Ø

  getAttribute(String name):根据参数给定的属性名,返回一个Object类型的对象。

  Ø getAttributeNames():返回一个Enumeration对象,该对象包含了所有存放在ServletContext中的属性名。

  Ø removeAttribute(String name):根据参数指定的属性名,从servletContext对象中删除匹配的属性。

  访问当前Web应用的资源

  Ø getContextpath():返回当前web应用的URL入口。

  Ø getInitParameter(String name):返回web应用方位内的匹配的初始化参数值。在web.xml中元素中元素表示应用范围内的初始化参数。 Ø

  getInitParameterNames():返回一个Enumeration对象。

  Ø getServletContextName():返回web应用的名字。即元素中元素的值。

  Ø getRequestDispatcher(String path):返回一个用于向其他web组件转发请求的RequestDispatcher对象。

  web.xml文件

  web.xml文件是用来初始化配置信息:比如Welcome页面、servlet、servlet-mapping、filter、listener、启动加载级别等

  5、get 和post 比较

  1. get是从服务器上获取数据,post是向服务器传送数据。

  2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

  3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

  4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。

  5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

  6.response.setContentType(“Application/jar”); 说明要返回给客户一个jar文件。

  7.用servelt向客户端输出

  1.以字符形式输出

  PrintWrite pw=response.getWrite();

  pw.println(“acvbbb”);

  2.以流的形式输出

  ServletOutStream out=response.getOutputSt();

  out.write(“sssssss”);

  8.监听器:Listener

  它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。主要作用是: 做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些固定的对象等等。

  看了“servlet重要的知识点”的还看了:

1.java web基础知识

2.jsp基础知识

3.java实习日记范文3篇

4.java实习报告范文3篇

52003