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