1、第五章 JSP的内置对象,西南科技大学网络教育系列课程 动态网页设计(JSP),内置对象概述,特点,request:得到客户端的信息。 (HttpServletRequest),session:保存单个用户访问时的一些信息。 (HttpSession),response:处理服务器端对客户端的一些响应。 (HttpServletResonpse),互联网的运行,Request对象,Response对象,(http请求),(http应答),内置对象概述,Config:是JSP配置处理程序句柄,在JSP页面范围内有效。,application:用来保存网站的一些全局变量。,out:功能是把信息回送
2、到客户端的浏览器中。,pageContext:提供了访问和放置页面中共享数据的方式。,request对象,request对象是javax.servlet.HttpServletRequest子类的对象,当客户端请求一个JSP页面时,JSP容器会将客户端的请求信息包装在这个request对象中,请求信息的内容包括请求的头信息(Header)、系统信息(比如:编码方式)、请求的方式(比如:GET或POST)、请求的参数名称和参数值等信息,5.2 request对象,getAttribute(String str),getCookies(),getHeader(String str),getPara
3、meter(String str),getParameterValues(String str),实例: requestApp1.jsp,5.2 request对象,获得表单数据,get与post区别,实例:userRegist1.jsp,5.2 response对象,addCookie(Cookie cookname),sendError(int errorcode),sendRedirect(String url)与指令区别实例:sendRedirectExample1.jsp,setContentType(String contentTypestr),setHeader(String h
4、eadername,String headervalue)实例:refreshExample1.jsprefreshExample2.jsp,Cookie是什么?,例如: 网站能够精确地知道有多少人浏览过。 测定多少人访问过; 测定访问者有多少是新用户(即第一次来访),多少是老用户; 测定一个用户多久访问一次网站。 网站保存用户的设置,按照用户的喜好定制网页外观。,Cookie:是一条极为短小的信息,能够被网站自动地放置在一台电脑的硬盘中。,通过Cookie,网站可以识别你是第一次访问,或是又一次访问它。,在你浏览某些网站的时,网站的程序会在你不知不自觉中将一个小的Cookie(作为一个文本文
5、件)存储在你的硬盘中。,使用Cookie,Cookie存放在客户端,首先要建立一个Cookie,然后设置其属性, 再通过response对象的addCookie()方法将其放入客户端,获取Cookie对象可用request对象的getCookies()方法。,2.1创建Cookie,Cookie(String cookiename,String cookievalue),不能用:空白字符、()、,、“、/、?、:,设置与读取Cookie属性,getComments()/setComments(String purpose),getDomain()/setDomain(String patter
6、n ),getMaxAge()/setMaxAge(int expiry),getName(),getPath()/setPath(String uri),getSecure()/setSecure(boolean flag),getValue()/setValue(String newValue ),getVersion ()/setVersion(int v),Cookie操作,1.将Cookie加入HTTP头:,Cookie usernameCookie=new Cookie(“username”,”dzycsai”);,response.addCookie(usernameCookie
7、);,2.读取Cookie:,1)getCookies(),2)getName(),3)getValue(),session对象概要,HTTP是无状态(stateless)协议;,Web Server 对每一个客户端请求都没有历史记忆;,Session用来保存客户端状态信息;,由Web Server 写入;存于客户端;,客户端的每次访问都把上次的session记录传递给Web Server;,Web Server读取客户端提交的session来获取客户端的状态信息;,session对象的方法,getAttribute (String name),long getCreationTime(),i
8、nt getMaxInactiveInterval(),long getLastAccessedTime(),invalidate(),removeAttribute (String name),setAttribute(String name, Object value),session对象的方法,实例1:记住会话的用户名 sessionUserLogin.jsp,实例2:猜字母游戏 guessCharExample1.jsp,application对象,服务器启动,产生application对象,为用户分配application对象。 不同客户产生同一个session对象; 所有客户的ap
9、plication对象都是同一个。 例如:聊天室程序、计数器程序、留言板程序。 生命周期:服务器的启动至关闭。,application对象的方法,getAttribute (String name),getAttributeNames(),getInitParameter(),getServletInfo(),setAttribute(String name, Object value),实例:网站计数器CounterApp1.jsp,out对象,out对象是javax.servlet.jsp.JspWriter类的一个子类的对象,它的作用是把信息回送到客户端的浏览器中。在out对象中,最常用的方法就是print()和println()。在使用print()或println()方法时,由于客户端是浏览器,因此向客户端输出时,可以使用HTML中的一些标记,例如:out.println(”Hello,JSP“);。,out对象,其他一些常用的方法:,out.write功能和out.print相同,newLine()的功能是输出一个换行符,out.flush()的功能是输出缓冲的内容。,out.close()的功能是关闭输出流。,out对象的生命周期是当前页面。因此对于每一个JSP页面,都有一个out对象,Out对象,实例:用out对象输出表格outApp1.jsp小结,