资源预览内容
第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
第9页 / 共38页
第10页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
JSPJSP内置对象剖析内置对象剖析4.1 out对象对象 4.2 request对象对象4.3 response对象对象4.4 session对象对象4.5 application对象对象本章目录本章目录2什么是什么是JSP内置对象内置对象JSP 内置对象是内置对象是 Web 容器创建的一组对象容器创建的一组对象JSP 内置对象是可以直接在内置对象是可以直接在JSP页面使用的对象页面使用的对象 ,无需使用,无需使用“new”获取实例获取实例JSP 内置对象的名称是内置对象的名称是 JSP 的保留字的保留字 常用内置对象常用内置对象 request responseoutapplicationsession示例示例 没有出现没有出现new关键关键字,但却可以使用字,但却可以使用request对象对象3JSP内置对象内置对象outout对象用于向客户端输出数据对象用于向客户端输出数据out对象常用方法:对象常用方法:print():在页面中打印出字符串信息:在页面中打印出字符串信息4JSP内置对象内置对象requestrequest对象主要用于服务器端接收客户端对象主要用于服务器端接收客户端请求的信息,以便对其进行处理,实现交请求的信息,以便对其进行处理,实现交互功能。互功能。request对象的常用方法有:对象的常用方法有: getParameter() getParameterValues() setCharacterEncoding()5JSP内置对象内置对象requestrequest对象常用方法对象常用方法方法名称方法名称说明说明String getParameter(String name)根据页面表单组件名称获取页面提根据页面表单组件名称获取页面提交数据交数据 String getParameterValues (String name)获取一个页面表单组件对应多个值获取一个页面表单组件对应多个值时的用户的请求数据时的用户的请求数据 void setCharacterEncoding (String charset) 指定每个请求的编码指定每个请求的编码 在调用在调用request.getParameter()之之前进行设定,可以解决中文乱码问前进行设定,可以解决中文乱码问题题 6JSP内置对象内置对象request获取表单数据在表单中输入用户名和密码页面提交后,显示用户输入的数据127创建表单页面 login.html 用户名用户名: 密码密码: JSP内置对象内置对象request8创建表单提交页面 login_conf.jsp 用户名:用户名:密码:密码:JSP内置对象内置对象request9JSP内置对象内置对象request编程实现注册功能编程实现注册功能注册信息包括:注册信息包括:用户名、密码、学历、爱好用户名、密码、学历、爱好 其中,用户名为文本框(其中,用户名为文本框(text) 密码为密码框(密码为密码框(password) 学历为下拉列表框(学历为下拉列表框(select) 爱好为复选框(爱好为复选框(checkbox)页面提交后,显示用户输入的数据页面提交后,显示用户输入的数据10JSP内置对象内置对象request 用户名用户名: 密码密码: 学历学历: 高中高中 大专大专 本科本科 研究生研究生 兴趣兴趣:篮球篮球 游泳游泳 唱歌唱歌 看书看书 创建注册页面创建注册页面 register.html 11JSP内置对象内置对象request 用户名:用户名: 密码:密码:学历:学历:爱好:爱好:% if (inst != null) for (int i = 0; i 创建注册提交页面创建注册提交页面 register.jsp 12JSP内置对象内置对象response与与request对象相对应,对象相对应, response对象用对象用于对客户端的请求做出响应,向客户端发于对客户端的请求做出响应,向客户端发送信息。送信息。response对象的常用方法有:对象的常用方法有: sendRedirect () 页面重定向页面重定向 setHeader() 设置头信息设置头信息13JSP内置对象内置对象responseresponse进行跳转进行跳转重定向重定向 地址栏变化,页面地址变为跳转后的地址地址栏变化,页面地址变为跳转后的地址 response.sendRedirect(跳转路径跳转路径)14JSP内置对象内置对象response在登陆页面(在登陆页面(login.jsp)上输入用户名、密码,提)上输入用户名、密码,提交至交至login_conf.jsp进行处理进行处理如果输入的用户名是如果输入的用户名是admin、密码是、密码是123456,跳,跳转到欢迎页面(转到欢迎页面(welcome.jsp)跳转到欢迎页跳转到欢迎页面面15JSP内置对象内置对象responseresponse设置头信息设置头信息刷新页面刷新页面 response.setHeader(头信息内容头信息内容,头信息参数头信息参数) 常用的一个头信息:常用的一个头信息:refresh16生活中的访问控制(使用生活中的访问控制(使用session)下载电子书时,系统会提示用户登录网站 点击下载,点击下载, 系统转入登录页面系统转入登录页面 下载之前,系统如何判断用户是否已经登录?下载之前,系统如何判断用户是否已经登录?17如何实现访问控制如何实现访问控制系统如何保存不同用户的登录信息?系统如何保存不同用户的登录信息?使用使用JSP会话跟踪机制,可以维持每个用户的会话信息,也就是为会话跟踪机制,可以维持每个用户的会话信息,也就是为不同的用户保存不同的数据不同的用户保存不同的数据 12 访问控制流程图:访问控制流程图:用户登录用户登录进入用户注进入用户注册页面册页面系统保存该用系统保存该用户的登录信息户的登录信息进入欲访问进入欲访问的页面的页面是否是注册用户是否是注册用户否否是是用用户户直直接接访访问某个页面问某个页面进入用户登录进入用户登录页面页面显示该页面显示该页面内容内容系统是否保存了系统是否保存了该用户登录信息该用户登录信息否否是是18浏览器关闭,浏览器关闭,本次会话结束本次会话结束什么是会话什么是会话一个会话就是浏览器与服务器之间的一次通话,一个会话就是浏览器与服务器之间的一次通话,它包含浏览器与服务器之间的多次请求、响应过它包含浏览器与服务器之间的多次请求、响应过程程 浏览器浏览器session对象对象请求请求 1浏览器浏览器请求请求 2nsession是是JSP内置对内置对象,与浏览器一一对应,象,与浏览器一一对应,允许用户存储和提取会允许用户存储和提取会话状态的信息话状态的信息响应响应 1响应响应 2nsession对象对象19JSP内置对象内置对象sessionsession对象用来存储有关用户会话的所有信息对象用来存储有关用户会话的所有信息session对象常用方法对象常用方法:void setAttribute(String key, Object value):以以键键/值的方式,将一个对象的值存放到值的方式,将一个对象的值存放到session中中Object getAttribute(String key):根据名称去获根据名称去获取取session中存放对象的值中存放对象的值session.setAttribute(name, admin);String name = (String) session.getAttribute(name);访问控制就是基于访问控制就是基于session来完成的来完成的 20利用利用session增加访问控制功能增加访问控制功能:提供用户登陆、验证页面提供用户登陆、验证页面用户必须登陆之后,才能访问欢迎页面用户必须登陆之后,才能访问欢迎页面登陆处理页面登陆处理页面(login_conf.jsp)1、获得登、获得登陆陆信息信息2、判断登、判断登陆陆信息是否正确信息是否正确3、如果用户合法,在、如果用户合法,在session中保存中保存该用户的登该用户的登陆陆信息,并且跳转到欢迎页信息,并且跳转到欢迎页面面欢迎页面欢迎页面(welcome.jsp)1、从、从session中提取该用户信息中提取该用户信息2、如果用户信息存在,显示欢迎页内容、如果用户信息存在,显示欢迎页内容3、如果用户信息不存在,跳转到登录页面、如果用户信息不存在,跳转到登录页面用户已登陆用户已登陆session中无法中无法提取到用户信息提取到用户信息123JSPJSP内置对象内置对象内置对象内置对象sessionsession21登陆页面(登陆页面(login.jsp)登陆处理页面(登陆处理页面(login_conf.jsp)-登录处理页面的代码片断登录处理页面的代码片断-在在session中存中存放用户登录信息放用户登录信息JSPJSP内置对象内置对象内置对象内置对象sessionsession22 在欢迎页面在欢迎页面(welcome.jsp)中加入登录验证中加入登录验证-欢迎页面的代码片断欢迎页面的代码片断-如果如果session中不存在该中不存在该用户的登陆信息,转入用户的登陆信息,转入登陆页面登陆页面JSPJSP内置对象内置对象内置对象内置对象sessionsession23访问控制效果验证,步骤如下:访问控制效果验证,步骤如下:直接在直接在IE地址栏中输入地址栏中输入URL,访问欢迎页面,访问欢迎页面通过登录页面进入欢迎页面通过登录页面进入欢迎页面重新开启一个重新开启一个IE窗口,直接访问欢迎页面窗口,直接访问欢迎页面每个步骤会发生什么样的结果?为什么会产生这样每个步骤会发生什么样的结果?为什么会产生这样的结果?的结果?每个每个session对象都与浏览器一一对应对象都与浏览器一一对应 重新开启一个浏览器,相当于重新创建一个重新开启一个浏览器,相当于重新创建一个session对象对象 JSPJSP内置对象内置对象内置对象内置对象sessionsession24JSP内置对象内置对象applicationapplication对象类似于系统的对象类似于系统的“全局变量全局变量”,用,用于实现用户之间的数据共享于实现用户之间的数据共享application对象的常用方法:对象的常用方法:void setAttribute(String key, Object value):以键以键/值的方式,将一个对象的值存放到值的方式,将一个对象的值存放到application中中Object getAttribute(String key):根据键去获根据键去获取取application中存放对象的值中存放对象的值25利用利用application增加已访问次数统计功能增加已访问次数统计功能在欢迎页面中显示网站已访问次数在欢迎页面中显示网站已访问次数登录处理页面中登录处理页面中1、在、在session中保存该用户信息中保存该用户信息2、在全局范围内保存访问人数、在全局范围内保存访问人数3、跳转到欢迎页面、跳转到欢迎页面JSPJSP内置对象内置对象内置对象内置对象applicationapplication26登录处理页面登录处理页面-登录处理页面代码片断登录处理页面代码片断-if (admin.equals(name)&123456.equals(password) session.setAttribute(UserName, name); int num=0; String strNum=(String) application.getAttribute(Num) ;if (strNum != null) num=Integer.parseInt(strNum);+num; application.setAttribute (Num, String.valueOf(num);response.sendRedirect(welcome.jsp); else response.sendRedirect(login.jsp);在全局范围内存入在全局范围内存入新的访问人数新的访问人数从全局范围内取出原从全局范围内取出原有的访问人数有的访问人数JSPJSP内置对象内置对象内置对象内置对象applicationapplication27在欢迎页面中显示已访问人数统计在欢迎页面中显示已访问人数统计-已访问人数统计代码片断已访问人数统计代码片断-您是本网站的第您是本网站的第位访问者位访问者!从全局范围内取出访从全局范围内取出访问人数问人数JSPJSP内置对象内置对象内置对象内置对象applicationapplication28已访问人数统计效果验证,步骤如下:已访问人数统计效果验证,步骤如下:通过登录页面进入欢迎页面,查看已访问人数通过登录页面进入欢迎页面,查看已访问人数统计统计重新开启一个重新开启一个IE窗口,进入欢迎页面,查看已窗口,进入欢迎页面,查看已访问人数统计访问人数统计JSPJSP内置对象内置对象内置对象内置对象applicationapplication每个步骤会发生什么样的结果?为什么会产生这样每个步骤会发生什么样的结果?为什么会产生这样的结果?的结果?application对象是所有用户共享的对象是所有用户共享的29JSPJSP中属性的保存范围中属性的保存范围中属性的保存范围中属性的保存范围在在jsp中可以采用下面方法设置和取得属性:中可以采用下面方法设置和取得属性:-设置属性设置属性setAttribute(String name,object attribute)-取得属性取得属性getAttribute(String name)在在JSP中提供了四种属性保存范围:中提供了四种属性保存范围:-在一个页面范围内:在一个页面范围内:page-在一次服务器请求范围内:在一次服务器请求范围内:request-在一次会话范围内:在一次会话范围内:session-在一个应用服务器范围内:在一个应用服务器范围内:application30设置属性设置属性取得属性取得属性取得属性取得属性服务器端跳转服务器端跳转a.jspb.jsp可以取得可以取得无法取得无法取得pagepage范围范围范围范围31JSP 中设置页属性范围,通过中设置页属性范围,通过 pageContext 完成。完成。pagepage范围范围范围范围name : password : 32requestrequest范围范围范围范围设置属性设置属性取得属性取得属性取得属性取得属性服务器端跳转服务器端跳转a.jspb.jsp可以取得可以取得可以取得可以取得取得属性取得属性服务器端跳转服务器端跳转c.jsp可以取得可以取得33将属性保存在一次请求范围之内,服务器端跳转将属性保存在一次请求范围之内,服务器端跳转可以获取到属性。可以获取到属性。requestrequest范围范围范围范围name : password : requestDemo03.jsp34sessionsession范围范围范围范围设置属性设置属性取得属性取得属性取得属性取得属性跳转跳转a.jspb.jsp可以取得可以取得可以取得可以取得取得属性取得属性跳转跳转c.jsp可以取得可以取得35Session中设置的属性,不管是什么跳转,都可以取得属性。任何与 session 有关的页面都可以取得 session 。sessionsession范围范围范围范围name : password : sessionDemo03.jsp36applicationapplication范围范围范围范围设置属性设置属性取得属性取得属性a.jsp可以取得可以取得取得属性取得属性b.jsp取得属性取得属性c.jsp可以取得可以取得可以取得可以取得服务器服务器所有用户都可以取得此信息,此信息在整个服务所有用户都可以取得此信息,此信息在整个服务器上被保留器上被保留37结束结束
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号