资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第7章 JSP开发中的常用技巧,理论,掌握JSP中数据共享、错误处理和文件操作的方法,技能,学会使用一些JSP的高级开发技术,要求,了解并会运行一些JSP的高级开发技术,第7章 JSP开发中的常用技巧理论 掌握JSP中数据共享、错,1,本节将讨论JSP开发经常要使用的技术和技巧。通过学习本章,读者不仅可以掌握一些技巧,也可以巩固JSP、Servlet的基础语法知识。本章的主要内容有:1.在不同页面或者用户之间共享数据2.创建错误处理页面 3.在JSP中操作文件,本节将讨论JSP开发经常要使用的技术和技巧。通过学习本章,读,2,7.1 在不同页面或者用户之间共享数据,在JSP中共享数据,大体上分为两种情况,第一种是在同一个用户的不同页面之间共享数据,另一种是在不同用户之间共享数据。,7.1 在不同页面或者用户之间共享数据 在JSP中共享数据,,3,对于同一个用户的会话,要想在不同的页面之间共享数据,可有的选择,把数据保存在session中(这是比较常见的方式);通过Cookie;通过隐含的表单把数据提交到下一个页面;通过ServletContext对象;通过Application对象;通过文件系统或者数据库。,对于同一个用户的会话,要想在不同的页面之间共享数据,可有的选,4,要在不同用户之间共享数据,通常方法,通过ServletContext对象;通过Application对象;通过文件系统或者数据库。,可见,对于在不同用户之间共享数据的实现方法,同样适用于在同一个用户的不同页面实现数据共享。,要在不同用户之间共享数据,通常方法,5,7.1.1 在不同页面之间共享数据,使用Session共享数据,用户在浏览网页时,由于Http协议是一种无状态的协议,往往在不同的页面之间存在数据交换的问题,这就需要在这些不同的页面之间共享数据。最常见的实现方法是把要共享的数据保存到Session中。将,x:tomcatWebappsexamplesfile77_1_1com,目录复制到,x:tomcatWebappsexamplesWeb-INFclasses,下。一个实际的用户登录例子。,7.1.1 在不同页面之间共享数据 使用Session共享数,6,文件名,功能,userSession.java,验证成功,就把登录的信息保存在一个userSession的类中,在其他的页面可以读取这个值,文件,login.html,登录界面,login.jsp,登录界面,实现userSession 类,welcome.jsp,欢迎界面,把 userSession 对象读取出来,login_userBean.jsp,共享userSession的bean数据,welcome_userBean.jsp,共享userSession的bean数据,文件名 功能 userSession.java 验证成功,就,7,使用Cookie创建Cookie,然后通过response.addCookie()方法把Cookie添加到客户端。文件,setCookie.jsp,客户端的所有Cookie,然后从这些Cookie中获得目标的Cookie以读取它的值。,文件,getCookie.jsp,使用Cookie创建Cookie,然后通过respon,8,使用隐含的表单 使用方法:在另一个页面中,通过以下的方式来获得这些数据:String test=request.getParameter(test1);String test2=request.getParameter(test2);,使用隐含的表单 使用方法:form ac,9,7.1.2 在不同的用户之间共享数据,使用ServletContext在JSP页面中可以通过getServletContext()方法来获得ServletContext对象。在这种情况下,不同用户的页面之间可以通过 ServletContext来共享数据。文件,servletContext_chat.jsp,使用application对象application对象对于每个Web应用来说只有一个。文件,testApplication.jsp,7.1.2 在不同的用户之间共享数据 使用ServletCo,10,7.2 创建错误处理页面,程序运行难免会发生异常和错误。当处理JSP页面时,遇到的异常分为两个基本类型:,编译时的错误,运行时的错误,7.2 创建错误处理页面 程序运行难免会发生异常和错误。当处,11,7.2.1 在JSP中声明出错页面,由于JSP文件被编译成Servlet执行,出现异常的默认操作就是显示异常的堆栈。JSP页面提供了重写这个默认行为的功能,并且将异常处理转到另一个文件中:这样在这个JSP页面中,如果遇到任何未捕获到的Throwable对象,那么就会显示指定的出错页面。,7.2.1 在JSP中声明出错页面 由于JSP文件被编译成S,12,例子一文件,mustBeError.jsp,error.jsp,例子二 文件 AddJavaBean.java,add.jsp,例子一文件 mustBeError.jsp e,13,7.3 JSP操作文件,本节介绍在JSP中操作文件的例子。由于JSP能使用Java的IO系统,所以在JSP中对文件的操作和一般Java程序没有什么大的区别。,操作文件主要有两种类型:,读取内容,写入内容或者更改文件的属性,7.3 JSP操作文件 本节介绍在JSP中操作文件的例子。由,14,7.3.1 读取文件内容,在读取文件时,可以有两种选择方式,通过ServletContext来读取,将x:tomcatWebappsexamplesfile77_3_1file.txt文件,复制到x:tomcatWebappsexamples下。只能获得 Servlet 上下文之内的资源 文件,readFile.jsp,使用带缓冲的输入流来读取文件资源 文件,readFile2.jsp,7.3.1 读取文件内容 在读取文件时,可以有两种选择方式,15,使用 FileReader,可以在 JSP 页面中使用 FileReader 和 FilelnputStream 等类来读取文件的内容。使用一个BufferedReader来封装FileReader,这样就可以每次读取一行数据。将x:tomcatWebappsexamplesfile77_3_1UserSession.java文件复制到c:下。文件,readFile3.jsp,使用 FileReader,16,7.3.2 写入内容到文件,可以通过FileWriter对象或者FileOutputStream把内容输出到文件中。,文件,writeFile.jsp,在FileWriter构造方法中增加一个“true”关键字。这样新写入的内容就可以追加到原来的文件后面。,7.3.2 写入内容到文件 可以通过FileWriter对象,17,
展开阅读全文