rss· 投稿· 设为首页· 加入收藏· 繁體版

jsp学习总结

JSP六种内置对象:request, response, out, session, application, config, pagecontext, page, exception.  
一.request对象:
   该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。
二.response对象:
对客户的请求做出动态的响应,向客户端发送数据。
三.session对象
  1.什么是session:session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。
  从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。
  2.session对象的ID:当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个session对象,同时分配一个String类 型的ID号,JSP引擎同时将这个ID号发送到客户端,存放在Cookie中,这样session对象和客户之间就建立了一一对应的关系。当客户再访问连 接该服务器的其他页面时,不再分配给客户新的session对象,直到客户关闭浏览器后,服务器端该客户的session对象才取消,并且和客户的会话对 应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象。
四.aplication对象
  1.什么是application:
  服务器启动后就产生了这个application对象,当客户再所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到 服务器关闭。但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application对象。
    2.application对象常用方法:
  (1)public void setAttribute(String key,Object obj): 将参数Object指定的对象obj添加到application对象中,并为添加的对象指定一个索引关键字。
  (2)public Object getAttribute(String key): 获取application对象中含有关键字的对象。
五.out对象
  out对象是一个输出流,用来向客户端输出数据。out对象用于各种数据的输出。
六.Cookie
  1.什么是Cookie:
  Cookie是Web服务器保存在用户硬盘上的一段文本。Cookie允许一个Web站点在用户的电脑上保存信息并且随后再取回它。
  举例来说,一个Web站点可能会为每一个访问者产生一个唯一的ID,然后以Cookie文件的形式保存在每个用户的机器上。
  如果您使用IE浏览器访问Web,您会看到所有保存在您的硬盘上的Cookie。它们最常存放的地方是:c:\windows\cookies(在Window2000中则是C:\Documents and Settings\您的用户名\Cookies )
 Cookie是以“关键字key=值value“的格式来保存纪录的.
  2.创建一个Cookie对象,调用Cookie对象的构造函数可以创建Cookie。Cookie对象的构造函数有两个字符串参数:Cookie名字和Cookie值。
  Cookie c=new Cookie(“username”,”john”);
  3. JSP中如果要将封装好的Cookie对象传送到客户端,使用response的addCookie()方法。
  格式:response.addCookie(c)
  4.读取保存到客户端的Cookie,使用request对象的getCookies()方法,执行时将所有客户端传来的Cookie对象以数组的形式排列,如果要取出符合需要的Cookie对象,就需要循环比较数组内每个对象的关键字。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////JSP        内置对象
1.        out对象
(1)        out.print()、out.println():用于输出各种数据类型的内容,包括boolean、char、char[]、double、float、int、long、Object、String等数据类型。
(2)        out.newLine():输出一个换行符、即换一行输出。
(3)        out.clearBuffer():用于将缓冲区中的内容清除,不将数据发送至客户端。
(4)        out.clear():用于将缓冲区中的内容清除,不将数据发送至客户端。
(5)        out.flush():输出缓冲区中的数据。该方法也会清除缓冲区中的数据,但此方法会先将之前缓冲区中的数据输出至客户端,然后再清除缓冲区中的数据。
(6)        out.getBufferSize():获取缓冲区的大小。缓冲区的大小可用<%@ page buffer=”size”%>设置。
(7)        out.getRemainning():获取缓冲区中没有被使用的空间的大小。
(8)        out.isAutoFlush():获取用<%@  page autoFlush=”true/false”%>设置的AutoFlush值。
(9)        out.close():关闭输出流。
2.        request对象
(1)        getCookies()。此方法用于获取客户端的Cookie对象,结果是一个Cookie数组。
(2)        getHeader(String  name)。获取HTTP协议定义的传输文件头信息。例如,request.getHeader(“User-Agent”)将获取客户端浏览器的版本号、类型等信息:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; MAXTHON 2.0)
(3)        setAttribute(String  name,Object  object)。设置名字为name的request参数的值,该值是由java.lang.Object类型的object指定。
(4)        getAttribute(String  name)。获取由name指定的属性值,如果不存在指定的属性,则获取null(空值)。
(5)        removeAttribute(String  name)。删除请求中的一个属性。
(6)        getAttributeNames()。获取request对象所有属性的名字,结果集是一个Enumeration(类举)类的实例。
(7)        getHeaderNames()。获取所有request header的名字,结果集是一个Enumeration(类举)类的实例。
(8)        getHeaders(String  name)。获取指定名字的request header的所有值,结果集是一个Enumeration(类举)类的实例。
(9)        getMethod()。获取客户端向服务器端传送数据的方法,如GET、POST等。
(10)        getParameter(String  name)。获取客户端传送给服务端的参数值,该参数由name指定,与客户端的设置情况一致。例如,客户端使用name值为myname,则该方法必须设置为getParameter(“myname”)。
(11)        getParameterNames()。获取客户端传送给服务端的所有的参数名字,结果集是一个Enumeration(类举)类的实例。
(12)        getParameterValues(String  name)。获取由name指定的参数的所有值。
(13)        getQueryString()。获取查询字符串,它是由客户端以GET方式向服务器端传送的字符串。该方法不分解出单独的参数。如果以get方式传送数据,则该方法返回null。
(14)        getRequestURI()。获取发出请求消息的客户端地址。
(15)        getServletPath()。获取客户端所请求的脚本文件的路径。
(16)        getServletName()。获取服务器的名字。
(17)        getServletPort()。获取服务器上tomcat使用的端口号。
(18)        getRemoteAddr()。获取客户端的IP地址。
(19)        getRemoteHost()。获取客户端的机器名。
(20)        getProtocol()。获取客户端向服务器端传送数据所使用的协议名称,如HTTP1.1或HTTP1.0等。
(21)        getCharacterEncoding()。获取请求中的字符编码的方法,可以在response对象中设置。
(22)        getContentLength()。获取请求的body的长度,不能确定长度时返回-1,可以在response中设置。
(23)        getContentType()。获取在response中定义的内容类型。
(24)        getContentPath()。获取请求的路径。
(25)        getCookies()。获取客户端所有的Cookie的数组(Cookie[])。
(26)        getDateHeader(String  name)。获取指定名称的Date类型的HTTP头的信息。
(27)        getIntHeader(String  name)。获取指定名称的Int类型的HTTP头的信息。
(28)        getLocale()。获取当前页的Locale对象,可以在response中设置。
(29)        getLocales()。获取请求中所有的Locale对象的集合。
(30)        getLocalName()。获取响应请求的服务器端主机名。
(31)        getLocalAddr()。获取响应请求的服务器端地址。
(32)        int getLocalPort()。获取响应请求的服务器端端口。
(33)        getParameterNames()。获取请求中所有参数的集合。
(34)        getPathTranslated()。获取用getPathInfo()方法取得的路径信息的实际路径。
(35)        getRemoteUser()。获取经过客户端验证的用户名,未经验证返回null。
(36)        getRealPath(String  name)。获取给定虚拟路径的物理路径。
(37)        getRequestedSessionId()。获取请求的session的标识。
(38)        getSession()、getSession(boolean  create)。获取session。如果create为true,则在无session的情况下创建一个。
(39)        isRequestedSessionIdValid()。检查请求的会话ID是否仍然有效。
3.        response对象
(1)        addCookie(Cookie cookie)。添加一个Cookie对象,用于保存客户端的用户信息。利用request对象的getCookies()方法可以获取这个Cookie。
(2)        addHeader(String  name,String  value)。添加String类型的值value到由name指定名字的HTTP文件头。该header将会传送到客户端去,如果存在同名的header,那么原来的header将会被覆盖掉。
(3)        addIntHeader(String  name,int  value)。添加int类型的值value到由name指定名字的HTTP文件头。该header将会传到客户端去,如果存在同名的header,那么原来的header将会被覆盖掉。
(4)        addDateHeader(String  name,long  date)。添加long类型的值value到由name指定名字的HTTP文件头。该header将会传到客户端去,如果存在同名的header,那么原来的header将会被覆盖掉。
(5)        setHeader(String  name,String  value)。指定String类型的值value到由name指定名字的HTTP文件头。该header将会传到客户端去,如果存在同名的header,那么原来的header将会被覆盖掉。
(6)        setIntHeader(String  name,int  value)。指定int类型的值value到由name指定名字的HTTP文件头。该header将会传到客户端去,如果存在同名的header,那么原来的header将会被覆盖掉。
(7)        setDateHeader(String  name,long  date)。指定long类型的值value到由name指定名字的HTTP文件头。该header将会传到客户端去,如果存在同名的header,那么原来的header将会被覆盖掉。
(8)        containsHeader(String  name)。判断由name指定的HTTP文件头是否存在,存在则返回true,否则返回false。
(9)        setHeader(String  name,String  Value)。对由name指定的HTTP文件头赋值Value。如果该HTTP文件头的值已经存在,则它会被新的值覆盖。
(10)        sendError(int  sc)。用于向客户端发送状态码。例如,505指示服务器内部错误;404指示网页找不到的错误。例如:
response.sendError(404);
(11)        sendError(int  sc,String  msg)。用于向客户端发送状态码和错误信息。
(12)        setStatus(int  sc)。用于设定状态吗。
(13)        sendRedirect(String  URL)。用于重定向到一个由URL指定的页面。从视觉上看,该方法的效果是当前页面将被URL页面替换。例如,如果在test.jsp页面包含下列语句,则在运行test.jsp文件时我们看到的是打开test.htm对应的页面:
response.sendRedirect(“test.htm”);
(14)        flushBuffer()。将当前缓冲区中的内容发送到客户端。
4.        session对象
(1)        getAttribute(String  name)。获取由name指定名称的session属性值。
(2)        setAttribute(String  name,Object  value)。将参数value的值赋给属性name,并将该属性对保存在session对象中。
(3)        removeAttribute(String  name)。删除由name指定的属性。
(4)        getId()。获取session对象String类型的id号。
(5)        getAttributeNames()。获取session对象内所有属性的集合(Enumeration)。
(6)        getCreationTime()。获取session的创建时间,这个时间为自1970-1-1(GMT)以来的毫秒。
(7)        getLastAccessedTime()。获取与当前session相关的客户端最后一次访问的时间,由1970-01-01算起,单位为毫秒。
(8)        getMaxInactiveInterval(int  interval)。获取总时间,单位为秒。该时间表示session的生存时间,-1表示永不过期。
(9)        getServletContext()。获取一个该JSP页面对应的ServletContext对象,类型为ServletContext。
(10)        isNew()。判断一个session是否由服务器产生,是则返回true,否则返回false。
(11)        setMaxInactiveInterval(int  interval)。设置session的有效期,时间长度由参数interval指定,单位为秒。
(12)        getValue(String  name)。获取由name指定名称、绑定到session上的属性值。
(13)        getValueNames()。获取所有绑定到session上的属性值的集合(String[])。
(14)        invalidate()。用于撤销session对象,与该session对象绑定的对象随之失效。
5.        application对象
(1)        getAttributes()。获取所有的application属性值的集合(Enumeration)。
(2)        setAttribute(String  name,Object  value)。设置由name指定名称的application属性的值。
(3)        removeAttribute(String  name)。删除由name指定名称的application属性。
(4)        getRealPath(String  path)。获取由path指定的虚拟路径所对应的物理路径。例如,application.getRealPath(“/ch5”)将返回D:\tomcat6\webapps\ROOT\ch5。
(5)        getResource(String  path)。获取由path指定的资源路径对应的一个URL对象实例(URL类型)。例如,application.getResource(“/ch5”)将返回jndi:/localhost/ch5/。
(6)        getResourcePaths(String  name)。获取一个存储web-app中所有资源路径的集合(Set)。路径以“/”结尾表示一个子目录,并以“/”开头表示一个对于web-app的相对路径。
(7)        ServletContext getContext(String  uripath)。获取当前应用的ServletContext对象。
(8)        getInitParameter(String  name)。获取由name指定的属性的初始值。
(9)        getInitParameters()。获取所有的application属性的初始值的集合(Enumeration)。
(10)        getMajorVersion()。获取servlet容器支持的Srevlet API的版本号。
(11)        getMimeType(String  file)。获取由file指定的文件的类型,类型未知将返回null。
(12)        getMinorVersion()。获取servlet容器支持的Servlet API的副版本号。
(13)        getServletInfo()。获取应用服务器的版本信息。
(14)        getServletContextName()。获取本Web应用的名称。例如,“Welcome to Tomcat”。
6.        pageContext对象
(1)        setAttribute(String  name,Object  value[,int  scope])。设定指定共享范围内的属性,其中name用于指定属性名,value为要设置的值,scope用于设置共享范围。例如:
pageContext.setAttribute(“userName”,”赵敏”);
(2)        getAttribute(String  name[,int  scope])。获取指定共享范围内由name指定名称的属性的值(Object类型)。例如:
out.println(pageContext.getAttribute(“userName”).toString());
(3)        findAttribute(String  name)。依次按照页面、请求、会话和应用程序的共享范围顺序搜索由name所指定的名称属性。例如,在执行下面的语句后将分别输出“张三丰”、“张无忌”和“赵敏”:
session.setAttribute(“userName1”,”张三丰”);
application.setAttribute(“userName2”,” 张无忌”);
pageContext.setAttribute(“userName3”,” 赵敏”);
out.println(pageContext.findAttribute(“userName1”).toString());
out.println(pageContext.findAttribute(“userName2”).toString());
out.println(pageContext.findAttribute(“userName3”).toString());
(4)        removeAttribute(String  name[,int  scope])。删除指定名称和共享范围的属性,name和scope分别用于指定名称和共享范围。
(5)        forward(String  url)。将当前JSP页面重定向到由url指定的页面或Servlet组件上。例如,下面的语句将当前页面重定向到otherpage.jsp页面中:
pageContext.forward(“otherpage.jsp”); url指定的页面只能为.jsp文件名,如果为htm/html文件名则会出错。
(6)        include(String  url[,boolean  flush])。用于包含由url指定的资源,并且可以指定是否自动刷新。例如,下列语句会将test.htm页面包含到当前JSP页面:
pageContext.include(“test.htm”);
(7)        getException()。获取页面的exception对象(Exception)。例如:
Exception e=pageContext.getException();
(8)        getOut()。获取页面的out对象(JspWriter)。例如:
JspWriter  outObj=pageContext.getOut();
(9)        getPage()。获取页面的page对象。例如:
Object  pageObj=pageContext.getPage();
(10)        getRequest()。获取页面的request对象(ServletRequest)。例如:
ServletRequest  requestObj=pageContext.getRequest();
(11)        getResponse()。获取页面的response对象(ServletResponse)。例如:
ServletResponse  responseObj=pageContext.getResponse();
(12)        getServletConfig()。获取页面的config对象(ServletConfig)。例如:
ServletConfig  configObj=pageContext.getServletConfig();
(13)        getServletContext()。获取页面的servletContext对象(ServletContext)。例如:
ServletContext  servletContextObj=pageContext.getServletContext();
(14)        getSession()。获取页面的session对象(HttpSession)。例如:
HttpSession  sessionObj=pageContext.getSession();
(15)        release()。重置pageContext内部状态,释放所有内部引用。
7.        config对象
(1)        getInitParameterNames()。获取当前JSP文件所有的初始化参数的名称的集合(Enumeration)。例如,下面的代码可用于输出所有初始化参数的名称:
Enumeration  enum1=config.getInitParameterNames();
while(enum1.hasMoreElements())
{
String  s=(String)enum1.nextElement();
Out.println(“<br>初始化参数:”+s);
}
输出结果如下:
初始化参数:fork
初始化参数:logVerbosityLevel
(2)        getInitParameter(String  name)。获取由name指定名称的初始化参数,返回类型是String。例如,下面的代码将输出初始化参数为logVerbosityLevel的值WARNING:
String  str=config.getInitParameter(“logVerbosityLevel”);
Out.println(str);
(3)        getServletName()。获取当前服务器小程序或JSP页面的名称。
(4)        获取当前服务器小程序或JSP页面的服务器小程序的上下文(ServletContext对象)。例如:
ServletContext  ServletContextObj=config.getServletContext();
8.        exception对象
(1)        getMessage()。获取错误提示信息。
(2)        getLocalizedMessage()。获取本地语系的错误提示信息。
(3)        getStackTrace()。获取对象中记录的call stack track信息(StackTrackElement[])。
(4)        initCause(Throwable  cause)。将另外一个异常对象嵌套进当前异常对象中而形成的异常(Throwable)。
(5)        getCause()。获取嵌套在当前异常对象中的异常。
9.        page对象待续。。。。。。。

顶一下
(0)
踩一下
(0)