JAVA WEB开发教程 第四章JSP技术基础知识.ppt

上传人:牧羊曲112 文档编号:6509142 上传时间:2023-11-07 格式:PPT 页数:54 大小:342KB
返回 下载 相关 举报
JAVA WEB开发教程 第四章JSP技术基础知识.ppt_第1页
第1页 / 共54页
JAVA WEB开发教程 第四章JSP技术基础知识.ppt_第2页
第2页 / 共54页
JAVA WEB开发教程 第四章JSP技术基础知识.ppt_第3页
第3页 / 共54页
JAVA WEB开发教程 第四章JSP技术基础知识.ppt_第4页
第4页 / 共54页
JAVA WEB开发教程 第四章JSP技术基础知识.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《JAVA WEB开发教程 第四章JSP技术基础知识.ppt》由会员分享,可在线阅读,更多相关《JAVA WEB开发教程 第四章JSP技术基础知识.ppt(54页珍藏版)》请在三一办公上搜索。

1、第四章 JSP技术基础知识,JSP(Java Server Page)是SUN公司开发的一种服务器端的脚本语言,自从1999年推出以来,逐步发展为开发Web应用一项重要技术。JSP可以嵌套在HTML中,而且支持多个操作系统平台,一个用JSP开发的Web应用系统,不用做什么改动就可以在不同的操作系统中运行。在本章接下来的内容中,首先将简单介绍JSP的运行原理和基本语法,然后重点介绍在实际开发过程中技巧和方法。,4.1 JSP简介,JSP本质上就是把Java代码嵌套到HTML中,然后经过JSP容器的编译执行,可以根据这些动态代码的运行结果生成对应的HTML代码,从而可以在客户端的浏览器中正常显示。

2、在这个小节中将介绍JSP的运行原理、JSP的优点和其运行环境的搭建。,4.1.1 运行原理,如果JSP页面是第一次被请求运行,服务器的JSP编译器会生成JSP页面对应的Java代码,并且编译成类文件。当服务器再次收到对这个JSP页面请求的时候,会判断这个JSP页面是否被修改过,如果被修改过就会重新生成Java代码并且重新编译,而且服务器中的垃圾回收方法会把没用的类文件删除。如果没有被修改,服务器就会直接调用以前已经编译过的类文件。(具体内容请参照书。),4.1.2 选择JSP的原因,在Web应用开发中,可供选择的动态页面语言技术有很多,例如PHP,ASP,JSP等,在这些动态页面语言中,JSP

3、凭借其自身的优点成为开发人员最喜欢的语言之一。下面列出的几条就是开发人员钟爱JSP的重要原因。,4.1.3 环境搭建,要运行JSP程序,必需为其提供一个JSP容器,也就是需要一个Web服务器。支持JSP的服务器非常多,Tomcat、Resin、Weblogic、WebSphere等对JSP的支持都非常好,但是由于Weblogic和WebSphere都是功能非常强大的重量级服务器,而且价格昂贵,对计算机的硬件配置要求也比较高,所以在一般情况下,如果只用到JSP的技术,是没有必要选择这两个服务器的。(具体内容请参照书。),4.2 JSP基本语法,本书的重点内容是介绍基于JSP的Web开发技术,对于

4、Java的语法在此不做详细的介绍,这里所涉及JSP语法指的是在JSP中所特有的语法规范,在接下来的章节中将假设读者已经了解Java的基本语法,只介绍JSP的结构、变量声名、表达式、动作、指令等JSP的特有语法。如对Java语法有疑问的读者可以参考相关语法书籍。,4.3 程序结构,JSP就是把Java代码嵌套在HTML中,所以JSP程序的结构可以分为两大部分:一部分是静态的HTML代码;另一部分是动态的Java代码和JSP自身的标签和指令;当JSP页面第一次被请求的时候,服务器的JSP编译器会把JSP页面编译成对应的Java代码,根据动态Java代码执行的结果,生成对应的纯HTML的字符串返回给

5、浏览器,这样就可以把动态程序的结果展示给用户。(具体内容请参照书。),4.4 JSP动作指令,在Web程序涉及中经常需要用到JSP的动作指令,例如在使用JavaBean的时候就离不开userBean的指令,JSP的强大功能和它丰富的动作指令标签是分不开的。在接下来的章节中将对这些指令进行详细的介绍,读者可以仔细体会每个动作的示例程序,在示例程序中掌握这些动作指令的基本用法。,4.4.1 include动作指令,include动作指令可以在JSP页面中动态包含一个文件,这与include指令不同,前者可以动态包含一个文件,文件的内容可以是静态的文件也可以是动态的脚本,而且当包含的动态文件被修改的

6、时候JSP引擎可以动态对其进行编译更新。而include指令仅仅是把一个文件简单的包含在一个JSP页面中,从而组合成一个文件,仅仅是简答的组合的作用。其功能没有include动作指令强大。(具体内容请参照书。),4.4.2 forward 动作指令,forward动作指令可以用来控制网页的重定向。即从当前页面跳转到另一个页面。forward动作的使用方法非常简单,具体使用格式如下。,4.4.3 param动作指令,在上面forward动作指令中可以用程序控制页面的跳转,如果需要在跳转的时候同时传递参数,这时候就需要用到param动作指令。param动作指令的具体使用方法可以参考下面的示例程序。

7、(具体内容请参照书。),4.4.4 plugin动作指令,元素用于在浏览器中播放或显示一个对象(典型的就是applet和bean),而这种显示需要在浏览器的java插件。当jsp文件被编译,送往浏览器时,元素将会根据浏览器的版本替换成或者元素。,4.4.5 useBean动作指令,useBean动作指令可以在JSP中引用JavaBean,这个动作指令在实际开发过程中经常会用到。在第六章JavaBean的讲解过程中将对这个动作指令做详细的介绍。在这里我们仅仅知道其基本用法即可,而且在这里不在用示例程序说明。useBean的使用格式如下。其中id为所用到的JavaBean的实例对象名称,class

8、是JavaBean对应类的包路径,包括包名和类名。scope是这个JavaBean的有效范围,共有page、request、session、application四个值可以选择。,4.4.6 setProperty动作指令,setProperty一般情况下是和JavaBean配合使用的,用来给JavaBean的实例对象进行赋值操作,setProperty的基本方法有以下两种。上面这种方法是setProperty动作指令最基本的用法,用来给JavaBean实例对象的某一个属性赋值。上面这种JavaBean的赋值方法也是经常用到的,,4.4.7 getProperty动作指令,getPropert

9、y一般情况下也是和JavaBean配合使用的,用来取出JavaBean实例对象的属性值。这个动作指令的基本使用方法如下。,4.5 JSP指令,JSP的指令虽然没有动作指令那么丰富,但是其作用却是不容忽视的,例如page指令,在设置显示编码、引入类的包路径、设置错误页面等方面都是必不可少的。在接下来的章节中将介绍JSP的两个指令标签。,4.5.1 page指令,page指令可以用来定义JSP也面的全局属性。例如编码、错误页面等。page指令的属性很多,下面来具体介绍它的各个属性。(具体内容请参照书。),4.5.2 include指令,include指令可以在当前的JSP页面中包含一个文件,从而和

10、当前页面组成一个整体的文件。这中包含仅仅是静态包含。(具体内容请参照书。),4.6 JSP内置对象简介,JSP内置对象即无需声名就可以直接使用的对象实例,在实际的开发过程中,比较常用的JSP内置对象有reqest、response、session、out、application等,在接下来的章节中将详细介绍这几个JSP内置对象的使用方法。JSP其他的几个内置对象在实际的开发中并不十分常用,在这里不做具体介绍。,4.7 request对象,request对象代表这从用户发送过来的请求,从这个对象中间可以取出客户端用户提交的数据或者是参数。这个对象只有接受用户请求的页面才可以访问。,4.7.1 r

11、equest对象使用场合,如果要与用户的互动,必须要知道用户的需求,然后根据这个需求生成用户期望看到的结果。这样才能实现与用户的互动。在Web应用中,用户的需求就抽象成一个request对象,这个对象中间包括用户所有的请求数据,例如通过表单提交的表单数据,或者是通过URL等方式传递的参数,这些就是用户的需求。request正是用来收集类似这些用户的输入数据和参数。同时,request对象中还包括一些服务器的信息,例如端口、真实路径、访问协议等信息,通过request对象可以取得服务器的这些参数。,4.7.2 request对象主要方法,request对象的方法非常多,在这里我们只介绍其中最常用

12、的几种方法,其他方法可以参考相关类库的介绍。(具体内容请参照书。),4.7.3 request对象使用示例,1使用request对象取得表单数据request获取用户数据的一个主要方式就是获取表单数据,(具体内容请参照书。),4.8 response对象,response对象是服务器端向客户端返回的数据,从这个对象中间可以取出一部分与服务器互动的数据和信息。只有接受这个对象的页面才可以访问这个对象。,4.8.1 response对象使用场合,既然用户可以对服务器发出请求,服务器就需要对用户的请求做出反应。这里服务器就可以使用response对象向用户发送数据。response是对应reques

13、t的一个对象。如果需要获取服务器返回的处理信息,就可以对response进行操作,同时当服务器需要再客户端进行某些操作的时候也需要用到response对象,例如服务器要在客户端生成Cookies,那么这时候response对象就是一个很好的选择。,4.8.2 response对象主要方法,response的方法也很多,但是常用的也就其中的几个,下面介绍比较常用的几个方法。1addCookie(Cookie cookie)这个方法可以添加一个Cookie对象,用来保存客户端的用户信息。2containsHeader(String name)这个方法判断指定的头信息是否存在。(具体内容请参照书。)

14、,4.8.3 response对象使用示例,response的用法很多,在这里我们用response来实现一个页面的重定向,,4.9 session对象,session对象维护着客户端用户和服务器端的状态,从这个对象中间可以取出用户和服务器交互的过程中的数据和信息。这个对象在用户关闭浏览器离开Web应用之前一直有效。,4.9.1 session对象使用场合,session对象中保存的内容是用户与服务器整个交互过程中的信息,如果是想在整个交互的过程中都可以访问到的信息,就可以选择存放在session对象中。例如在用户登录的过程中,可以在session中记录用户的登录状态,这样用户就不必在每个页面

15、都重新登录,只要用户没有离开当前的Web应用系统,就可以一直保存登录的状态。,4.9.2 session对象主要方法,session所提供的方法并没有前面几个内置对象那么多,但是基本都是非常常用的。,4.9.3 session对象使用示例,在这里我们模拟一个简单的用户登录动作,在这个示例程序中,我们不对提交的登录信息做具体的验证,只要用户名和密码都不为空就可以登录系统,这样处理只是为了方便展示session的使用方法,在具体的开发中必须要对登录信息进行验证的。(具体内容请参照书。),4.10 out对象,这个对象是在Web应用开发过程中使用最多的一个对象,其功能就是动态的向JSP页面输出字符流

16、,从而把动态的内容转化成HTML形式来展示。这个对象在任何JSP页面中都可以任意访问。,4.10.1 out对象使用场合,out对象的功能就是向JSP页面输出数据信息。所以当有动态信息要展示给用户的时候就要用到out对象。在前面的很多示例中已经多次用到这个对象,读者从中可以很清楚的看到,out对象就是用来输入动态内容信息的。,4.10.2 out对象主要方法,在这里只介绍out对象最常用的方法。1clear()这个方法可以清除缓冲区的数据,但是仅仅是清除,并不向用户输出。2clearBuffer()这个方法可以清除缓冲区的数据,同时把这些数据向用户输出。(具体内容请参照书。),4.10.3 o

17、ut对象使用示例,out对象在前面的示例中已经多次使用到,在这里就不再针对这个对象举例说明。,4.11 application对象,application对象保存着整个Web应用运行期间的全局数据和信息,从Web应用开始运行开始,这个对象就会被创建,在整个Web应用运行期间可以在任何JSP页面中访问这个对象。,4.11.1 application对象使用场合,application中保存的信息可以在整个应用的任何地方访问,这个session对象类似,但和session对象还是有所区别的。只要Web应用还在正常运行,application对象就可以访问,而session对象在用户离开系统就被注销

18、。,4.11.2 application对象主要方法,下面介绍application对象的最常用的主要方法。1getAttribute(String name)2getServerInfo()3removeAttribute(String name)4setAttribute(String name,Object o),4.11.3 application对象使用示例,在这里我们要实现一个简单的计数器,这个计数器就是利用application对象来储存计数器的值,用来统计服务器开始运行以来的访问量。,4.12 JSP中文问题完全解决方案,对于中文乱码问题Java中才用的默认编码方式是Unico

19、de,而中文的编码方式一般情况是GB2312,因为编码格式的不同,导致在中文不能正常显示。在不同的JDK版本和不同的应用服务器中的处理方法是不同的。但是其本质上都是一样的,就是把中文字符转化成合适的编码方式,或者是把在显示中文的环境中声名采用GB2312的编码。统一编码方案之后自然可以正常显示。,4.12.1 JSP页面中文乱码,在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一中是在JSP中动态输出的中文乱码。(具体内容请参照书。),4.12.2 URL传递参数中文乱码,在一般情况下,可以用类似http:/localhost:8080/chapt4/URLCharset

20、.jsp?param=中文这种形式来传递参数,而且HTML在处理表单的时候,当表单的method采用get方法的时候,传递参数的形式与URL传递参数的形式基本一样。(具体内容请参照书。),4.12.3 表单提交中文乱码,对于表单中提交的数据,可以使用request.getParameter()的方法获取。但是当表单中如果出现中文数据的时候就会出现乱码。(具体内容请参照书。),4.12.4 数据库操作中文乱码,在建立数据库的时候,应该选择支持中文的编码格式,最好能和JSP页面的编码格式保持一致,这样就可以尽可能减少数据库操作的中文乱码问题。同时在JDBC连接数据库的时候可以使用类似下面这种形式的

21、URL。jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=pubs;useUnicode=true;characterEncoding=gb2312,4.12.5 Eclipse开发工具中JSP文件中文不能保存,在Eclipse中,JSP文件默认的编码格式为ISO-8859-1,所以在JSP代码中间如果出现中文就不能保存,,4.12.6 Eclipse开发工具中中文显示乱码,在Eclipse中,由于默认的JSP编码格式为ISO-8859-1,所以当打开由其他编辑器编辑的JSP页面就会出现乱码,(具体内容请参照书。),4.12.7 JSP

22、下载中文文件名乱码,在实现文件下载功能的时候,如果出现中文文件名,如果不进行特殊的处理,下载下来的中文文件名会变成乱码,在下载前,就需要对这个文件名进行处理,然后才能正常显示中文的文件名,,4.13 其他JSP开发技巧,(具体内容请参照书。),4.13.1 自定义错误页面,在JSP中,如果出现代码的错误,就会直接在页面上打印类似,4.13.2 在MyEclipse中快速部署项目,在Web应用开发的过程中,部署项目往往十分麻烦,虽然在后续章节中介绍的Ant可以非常方便的完成这个任务,但是Ant复杂的操作不适合初学者,在这里我们使用前面推荐的MyEclipse这个集成开发工具来部署项目。MyEcl

23、ipse的安装在前面第二章中已经详细介绍,在这里直接开始介绍如何发布Web应用项目。要想发布部署一个项目,首要任务就是把MyEclipse和服务器Tomcat联系起来,,4.13.3 测试配置是否成功,下面来测试下配置是否成功(具体内容请参照书。),4.13.3 在MyEclipse中调试Web应用程序,在MyEclipse中,对JSP页面进行调试也是非常方便的,如果需要调试JSP页面,只需要在JSP页面源代码的左侧双击鼠标左键,(具体内容请参照书。),4.13.4 学习使用日志Log4j,在JSP Web开发中,有很多方便的日志工具可供选择,利用这些日志工具可以很方便的对系统中的错误信息进行管理,在这里我们选择使用Log4j,Log4j是目前JSP开发中使用最多的日志工具。Log4j按照严重程度给日志风味5个等级:DEBUG(调试)、INFO(提示)、WARN(警告)、ERROR(错误)、FATAL(严重错误),4.14 小结,在本章中,对JSP的基本语法和对象等知识进行了系统的介绍,而且对于其中大部分的知识点都给出了具体示例,这些示例在具体的开发过程中都有很大的参考价值,读者可以在这些示例程序的基础上进行尝试,试着修改其中的功能,只有这样才肯定能对其运行原理有更深入的了解和体会,这就是学习程序语言的最基本最有效的方法。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号