




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JSP九大内置对象和四种属性范围解读一、四种属性范围1.1、在JSP中提供了四种属性保存范围page:在一个页面内保存属性,跳转之后无效request:在一次服务请求范围内,服务器跳转后依然有效session:-在一次会话范围内,无论何种跳转都可以使用,但是新开浏览器无法使用application:在整个服务器上保存,所有用户都可以使用1.2、4种属性范围都支持的操作java view plain copypublic void setAttribute(String name,Object value) public Object getAttribute(String name) public Object removeAttribute(String name) 下面,我们来对四种范围来分别进行详细的介绍1.3、page范围在JSP中设置一个页的属性范围,必须通过pageContext完成,PageContext属性范围是最重要的JSP属性之一,但是如果使用纯粹的JSP代码开发,此属性显示不出用处,其发挥作用在 Struts ,WebWork 中如下:html view plain copy Insert title here 姓名:$pageS 时间:$pageScope.time $pageS这里用了EL表达式来取得值,输出结果如下,这里要注意发果在其它页面使用:如下:html view plain copy Insert title here 姓名:$pageS 时间:$pageScope.time 输出结果:这说明page范围的值只能在本页使用!1.4、request属性范围request将属性保存在一次请求范围之内:前提:必须使用服务器端跳转: 应用点:MVC设计模式、Struts、 Webwork应用实例首先是设置request:request.jsphtml view plain copy Insert title here 然后是显示requestResult.jsphtml view plain copy Insert title here 获取request姓名:$requestS 获取request时间:$requestScope.time 访问结果:这时比如requestResult1.jsp也想来访问这两个属性内容和requestResult.jsp一样:html view plain copy Insert title here 获取request姓名:$requestS 获取request时间:$requestScope.time 结果如下,说明request只针对服务器跳转有效,在两次跳转之间保存。1.5、session属性范围session:只要设置上去,则不管是什么跳转,都可以取得属性,主要用于验证用户是否登陆。EMAIL-用户需要先进行登陆,登陆成功后再编辑邮件。与session有关的任何打开的页面都可以取得session比如session.jsp设置如下:html view plain copy Insert title here 获取session内容 然后是取出sesson的值sessionResult.jsphtml view plain copy Insert title here 获取session姓名:$sessionS 获取session时间:$sessionScope.time 输出结果:如果还有一个sessionResult1.jsp和sessionResult.jsp一样如下html view plain copy Insert title here 获取session内容 然后是取出sesson的值sessionResult.jsp Insert title here 获取session姓名:$sessionS 获取session时间:$sessionScope.time 注意看上面的GIF动画和这里的获取到的时间是一样的,这也说明了这两个jsp页面取得了同一个值 1.6、application属性范围只要设置一次,则所有的页面窗口都可以取得数据。这里的值将会保存在服务器上,所以每一个用户都可以看见。如下面application.jsp:html view plain copy Insert title here 获取application内容 然后是applicationResult.jsphtml view plain copy Insert title here 获取application姓名:$applicationS 获取application时间:$applicationScope.time 输出结果:如果这时在新建一个网页或新建一个新的web项目,但是它们两个要运行在同一个Tomcat中,那么它同样也能访问到这个值。注意:pplication、session、request-=-都与要跨多个页,属性保存是有内存开销的,设置过多的application或每一个session保存过多的对象,性能就降低了。原则:能用request就不要用session,能用session就不要用applicationapplication应用:在线人员统计、在线人员名单列表,要释放application资源,只能重新启动服务器.使用application缓存数据库的连接,每次使用时,从缓冲中取出,用完就返回。二、JSP九大内置对象详解内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用JSP内置对象映射表request 请求对象 类型 javax.servlet.ServletRequest 作用域 Requestresponse 响应对象 类型 javax.servlet.SrvletResponse 作用域 PagepageContext 页面上下文对象 类型 javax.servlet.jsp.PageContext 作用域 Pagesession 会话对象 类型 javax.servlet.http.HttpSession 作用域 Sessionapplication 应用程序对象 类型 javax.servlet.ServletContext 作用域 Applicationout 输出对象 类型 javax.servlet.jsp.JspWriter 作用域 Pageconfig 配置对象 类型 javax.servlet.ServletConfig 作用域 Pagepage 页面对象 类型 javax.lang.Object 作用域 Pageexception 例外对象 类型 javax.lang.Throwable 作用域 pageJSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception2.1、request对象request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。实现常有的方法1、获取数据java view plain copygetParameter;接收请求参数的, 2、对所有数据进行再编码java view plain copypublic byte getBytes(“encoding”) 如下实例将byte数组编码转换html view plain copy 输入内容为: 3、设置统一的请求编码java view plain copypublic void setCharacterEncoding(String env) throws UnsunpportedEncodingException 如下设置html view plain copy 输入内容为: 4、获取requst信息:html view plain copy Insert title here 请求方式: 请求的资源: 请求用的协议: 请求的文件名: 请求的服务器的IP: 请求服务器的端口: 客户端IP地址: 客户端主机名: 表单提交来的值: 我们第一次访问是默认用GET方法,表单提交后使用POST方式。2.2、response对象 response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。response对象的主要使用1.设置HTTP头信息、重定向、设置COOKie(1).Web服务器收到一个http请求,会针对每个请求创建一个HttpServletRequest和HttpServletResponse对象,向客户端发送数据找HttpServletResponse,从客户端取数据找HttpServletRequest;(2).HttpServletResponse对象可以向客户端发送三种类型的数据:a.响应头b.状态码c.数据2.2.1、response对象所提供的方法。(1)设定表头的方法java view plain copyvoid addCookie(Cookie cookie) 新增cookie void addDateHeader(String name, long date) 新增long类型的值到name标头 void addHeader(String name, String value) 新增String类型的值到name标头 void addIntHeader(String name, int value) 新增int类型的值到name标头 void setDateHeader(String name, long date) 指定long类型的值到name标头 void setHeader(String name, String value) 指定String类型的值到name标头 void setIntHeader(String name, int value) 指定int类型的值到name标头 containsHeader( String name )判断指定名字的HTTP文件头是否已经存在,然后返回真假布尔值 (2)设定响应状态码的方法html view plain copyvoid sendError(int sc) 传送状态码(status code) void sendError(int sc, String msg) 传送状态码和错误信息 void setStatus(int sc) 设定状态码 (3)用来URL 重写(rewriting)的方法html view plain copyString encodeRedirectURL(String url) 对使用sendRedirect( )方法的URL予以编码 (4)设置重定向html view plain copysendRedirect():设置重定向页面. 2.2.2、使用范例(1)使用response对象可以设置HTTP的头信息。格式response.setHeader(“头信息名称”,”参数”),其中一个重要的头信息:refresh(刷新)。例如,每秒刷新一次也没,显示刷新次数:html view plain copy Insert title here 输出结果如下:(2)重定向html view plain copy Insert title here 三秒后跳转! 如果没有跳转,请按这里! 来输出结果看看:输入http:/localhost:8080/JspLearning/responseObject1.jsp,三秒后自动跳转到http:/localhost:8080/JspLearning/index.jsp当然还可以使用response.sendRedirect(*.jsp);命令如下:html view plain copy Insert title here 输出结果,直接重定向返回到首页了,(3)设置cookiehtml view plain copy Cookie的使用 (4)读取cookiehtml view plain copy Cookie的使用 % for(int i=0;i - 2.3、session对象session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为 “Key/value”。 session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。(1)session(会话)对象是类javax.servlet.Httpsession的一个对象。session是从客户端连接服务器开始,到与服务器断开为止。(2)session对象用于保存每个与服务器建立连接的客户端的信息,session的ID保存于客户端的Cookie中,这个session ID标识唯一和用户,与其他用户的session ID不同。(3)session对象的ID:当一个客户端访问服务器的一个JSP页面时,JSP引擎产生一个session对象,同时分配一个String类型的ID号,并发给客户端。客户端将其存储于Cookie.a其标志了一个唯一的ID;采用getID()方法返回session对象在服务器端的编号。服务器端通过此ID,唯一地识别一个用户,并提供特殊的服务。(4)session对象的有效期:存在以下几个情况时,session对象和其存储的数据会消失,情况有:当用户关闭当前正在使用的浏览器时;关闭网页服务器。用户未向服务器提出请求超预设时,Tomcat服务器预设为30分钟;运行程序结束session.出现以上四种情况时,session
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年河南轻工职业学院单招《语文》试题附参考答案详解(综合卷)
- 2026届河南省郑州枫杨外国语中学化学九上期中调研试题含解析
- 2026届广东省惠州市惠东燕岭学校九上化学期中调研模拟试题含解析
- 四川省绵阳市江油实验学校2026届化学九年级第一学期期中学业水平测试试题含解析
- 医疗保障工作总结
- 窗口部门工作总结
- 黑龙江省哈尔滨市道里区2026届英语九年级第一学期期末复习检测模拟试题含解析
- 2026届山东省滨州市部分学校九年级化学第一学期期末统考试题含解析
- 2026届黑龙江省桦南县九年级化学第一学期期中达标检测试题含解析
- 山东省德州市德城区2026届英语九年级第一学期期末考试试题含解析
- 2025年秋人教版(2024)初中数学八年级第一学期教学计划及教学进度表
- 《智能建造概论》高职完整全套教学课件
- GB/T 4798.4-2023环境条件分类环境参数组分类及其严酷程度分级第4部分:无气候防护场所固定使用
- 程序设计基础(第3版)(2019年高等教育出版社出版图书)
- (小鼠)常用实验动物生物学特点及其在生物医学教程课件
- GB/T 5023.1-2008额定电压450/750 V及以下聚氯乙烯绝缘电缆第1部分:一般要求
- 第七章-辐射防护分析课件
- 研究生英语阅读综合教程reading more
- 国有企业职务犯罪惩治与预防
- 国家教学示范中心-电子科学与技术中心-国防科技大学
- 沥青拌和站设备租赁合同参考
评论
0/150
提交评论