Javaweb程序设计教案_第1页
Javaweb程序设计教案_第2页
Javaweb程序设计教案_第3页
Javaweb程序设计教案_第4页
Javaweb程序设计教案_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-. z.课题:第一章Java Web概述【教学目标】 掌握JSP运行环境的搭建,能进展简单的JSP程序编写与运行。【教学重点】Eclipse+Dreamweaver工具、工程的导入、导出、发布打包【教学难点】Eclipse+Dreamweaver工具、工程的导入、导出、发布打包【教学方法】讲解、讨论【教学地点】教学楼、综合楼【课时安排】4课时【教学过程】1.1 配置JSP运行环境任务描述与实现正确安装Tomcat效劳器,并显示其欢送页面。如图1-1所示。图1- 1 使用Tomcat欢送页面实现过程:1安装JDK 安装Tomcat效劳器前首先安装JDK(Java Development Kit

2、),其包括了Java运行环境,Java工具和Java根底的类库。目前,提供下载的最新版本为JDK7。读者可到官方下载,下载地址为.oracle./technetwork/java/javase/downloads/inde*.html。下载后双击安装,画面如图1-2所示,按“下一步操作直到完成。图1- 2 JDK安装界面2安装Tomcat Tomcat官方下载地址:t。本书采用的版本是Tomcat-。下载后,双击安装,如图1-3所示。点击Ne*t到第一步,进展安装组件选择,如图1-4所示。第二步选择路径,按照系统默认路径即可。第三步为配置Tomcat端口信息和账号信息,如图1-5所示,按照实际

3、配置即可。第四步为选择JDK的安装路径,如图1-6所示,选择在之前第1步操作中安装的JDK所在的位置。之后单击“Ne*t开场安装。安装完毕后,提示安装完成,如图1-7所示。单击“Finish完成Tomcat的安装。安装完成之后,在程序菜单中可以看到Tomcat的选项,如图1-8所示。点击Monitor Tomcat,可在任务栏看到Tomcat的效劳图标,如图1-9所示,双击该图标,弹出如图1-10所示的Tomcat启动界面,在此界面中可以选择启动或停顿Tomcat效劳。启动Tomcat后,在地址栏中输入localhost:8080,假设出现图1-1的显示效果,则Tomcat已正常安装并运行。图

4、1-3 Tomcat安装:欢送界面新知识点JSP概述、Tomcat目录构造、虚拟目录配置.1 JSP概述1. 动态网页动态网页是在效劳器运行的程序或者网页,它们会随不同用户、不同时间、不同需求,返回不同的内容。如:当登录到论坛时,作为论坛管理员身份,就可以看到“删除、“修改等操作;作为论坛普通用户身份,则只能看到帖子的浏览页面。动态网页会使用效劳器端脚本语言,比方目前流行的JSP等,访问动态网页时会获取最新内容显示,这就是为什么不同时间访问网页显示内容会发生变化的原因。动态网页的特点:交互性好:即网页会根据用户需求和选择而动态改变和响应。例如用户在网页中填写表单信息并提交,效劳器经过处理将信息

5、自动存储到后台数据库中,并转到相应提示页面。因此,采用动态网页技术的可以实现与用户的交互功能,如用户注册、用户登录、信息查询等。自动更新:对于网页设计者来说,无需每次修改页面内容,只需在后台添加或者删除要显示的信息即可。例如,在论坛发布信息,后台效劳器将自动生成新的网页内容。2B/S技术使用动态网页技术开发实际上是B/S技术的一种应用,因此,要更好地理解动态网页的开发原理,首先需要了解B/S技术的一些根本概念。B/S技术跟C/S技术的区别:C/S客户机/效劳器构造分为客户机和效劳器两层,一般将应用软件安装在客户机端,通过网络与效劳器相互通信,实现交互,如QQ、飞信、MSN等软件。对于这类系统的

6、构造如图1-11所示。对于C/S构造的应用软件,假设要在客户机运行,就必须在先安装,而且每次对系统做了微小的改动,所有客户机的应用软件都需要更新。3. JSP简介(1) 什么是JSP JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。Web效劳器在遇到访问JSP网页的请求时,首先对其中的Java代码进展处理,然后将执行结果连同JSP文件中的HTML代码一起返

7、回给客户的浏览器。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。4JSP的特点JSP最大的优点是开发的跨平台构造,它可以运行在几乎所有的操作系统平台。JSP的优势:一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。系统的多平台支持。根本上可以在所有平台上的任意环境中开发,在任意环境中进展系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台效劳器进展集群和负载均衡,到多台Application进展事务处理,消息处理,一台效劳

8、器到无数台效劳器,Java显示了一个巨大的生命力。多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。JSP的劣势:与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件以及对应的版本文件。5. JSP开发及运行环境要求

9、操作系统要求操作系统可以选择Windows操作系统、Uni*操作系统和Linu*操作系统等。软件环境要求集成开发工具:集成开发工具有NetBeans、Eclipse等。本书选用Eclipse。Web效劳器:JSP运行时需要安装JDK和Web效劳器,目前使用较多的Web效劳器有Tomcat、WebLogic、oss和Resin等。本书选用Tomcat。Tomcat是Apache 软件基金会Apache Software Foundation的Jakarta 工程中的一个核心工程,由Apache、Sun 和其他一些公司及个人共同开发而成。本书选用目前最新版本Tomcat7.0。.3 虚拟目录配置配

10、置JavaWebE*ample的虚拟目录,方法如下:1前期准备工作在D盘建立D:WorkSpaceJavaWebE*ample的文件夹也可以建立在其他磁盘。在JavaWebE*ample文件夹中新建inde*.html文件,输入“欢送二字。2. 配置Tomcat虚拟目录翻开Tomcat的安装目录下conf文件夹的server.*ml文件。在和标签之间加上虚拟目录配置标签,即,其中path属性值为虚拟目录名称,docBase属性值为虚拟目录指向的物理目录。修改后如图1-16所示。这里path保存的值是你在浏览器中输入的值即虚拟目录,docBase保存的值是你要访问的文件的物理绝对路径。1.2 利

11、用开发工具制作Hello.jsp 任务描述与实现任务描述:利用Dreamweaver、Eclipse搭配开发一个简单的JSP网页。开发过程采用Eclipse和Dreamweaver搭配开发,设计显示界面局部用Dreamweaver实现,代码在界面制作自动生成根底上在Eclipse中编写,最后在Eclipse中测试运行实现过程:1下载安装Eclipse 到Eclipse的官方下载Eclipse IDE for Java EE Developers,下载后解压即可使用。Eclipse官方.。2下载并安装DreamWeaver8 3配置Eclipse开发环境启动后,配置Web工程测试效劳器。翻开Wi

12、ndowPreferences菜单,选择ServerRuntime Environments选项,然后选择添加效劳器,添加已经安装的Tomcat v7.0。4在Eclipse中创立JavaWebE*ample工程在新建工程选择对话框,选择Dynamics Web Project,如图1-24所示。单击“Ne*t按钮后,出现如图1-25所示的对话框,填写工程名称JavaWebE*ample,选择与工程相关的信息。在本例中,工程文件都置于D:workspace JavaWebE*ample中,因此以默认选项配置;测试用效劳器选择Tomcat7.0,其它局部按默认配置,之后单击“Finish按钮。5

13、在Dreamweaver中创立JavaWebE*ample站点在Dreamweaver中创立站点时,其站点根目录指向在Eclipse中创立的工程的WebContent目录,本例的根目录为D:workspace JavaWebE*ampleWebContent,如图1-29所示。此外,设置站点为JSP站点,并指定前缀。6测试。测试在Dreamweaver中编写的Web页面,在Eclipse中运行。本例中为了方便演示,在Dreamweaver的JavaWebE*ample站点的Chapter1文件夹创立一个简单的JSP页面e*am1_1_Hello.jsp新知识点Eclipse、Dreamweav

14、er工具简介.1 Eclipse简介Eclipse是著名的跨平台的自由集成开发环境(IDE),最初主要用于Java语言开发,目前也有人通过插件使其作为其他计算机语言(如C+和Python)的开发工具。虽然Eclipse本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse就其本身而言,它只是一个框架和一组效劳,但可通过插件组件构建集成开发环境。Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Tools,JDT)。Eclipse最

15、初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE Eclipse,2001年11月奉献给开源社区,现在它由非盈利软件供给商联盟Eclipse基金会(Eclipse Foundation)管理。.2 Dreamweaver简介Dreamweaver,简称DW,是一款有着多年历史和良好口碑的可视化网页编辑工具,它最大的优点就是所见即所得,对W3C网页标准化支持十分到位。同时它还支持管理,包含HTML检查、HTML格式控制、HTML格式化选项、HomeSite/BBEdit捆绑、图像编辑、全局查找替换、全FTP功能、处理Flash和Shockwave等多媒体格式

16、和动态HTML,以及支持ASP、JSP、PHP、ASP.NET、*ML等程序语言的编写与调试。.3 工具联合开发调试工程使用Eclipse开发程序时,虽然系统框架构造会给你带来方便,但并不太适合于开发Web显示界面,而Dreamweaver开发Web页面时可以实现所见即所得的效果,页面也遵循W3C国际标准。因此,可以利用这些开发工具各自的优点,结合开发Web程序,从而提高开发效率。扩展现有工程导入、导出、发布打包对于程序员来说,有时需要将现有工程导入、导出和发布打包,下面介绍如何将工程导入、导出和发布打包。.1 工程导入工程导入可直接将文件拷贝至相应文件夹中,也可导入War文件。下面先来介绍第

17、一种方法。1. 文件拷贝(1) 新建工程在Eclipse中新建project,参考中介绍新建工程。新建工程test,此时src及WebContent均为空,【教学小结】 本章介绍了进展Java Web应用开发的特点,B/S架构的优势,介绍了Java Web程序的效劳器运行的安装配置及开发工具的搭配使用,重点介绍了JDK、Tomcat的安装与配置,以及利用DreamWeaver与Eclipse搭配开发工程。通过本章的学习,读者可以创立简单的JSP文件,并且进展测试。-. z.课题:第二章 JSP语法【教学目标】 掌握JSP的页面组成,掌握JSP简单的制作【教学重点】page指令、include指

18、令、tablib指令、动作指令、动作指令【教学难点】page指令、include指令、tablib指令、动作指令、动作指令【教学方法】讲解、讨论【教学地点】教学楼、综合楼【课时安排】4课时【教学过程】2.1 制作第一个JSP页面任务描述与实现在Jsp文件中定义方法实现两个数的加法定义方法实现两个数的加法,调用其计算1+2并显示结果,如图2-1所示。图2-1 求和效果实现过程:1新建JSP文件。在工程的chapter2文件夹中,单击右键选择NewJSP File选项,弹出如图2-2所示的对话框,在File name中输入e*am2_1_sum.jsp,单击Finish之后进入JSP页面编辑窗口,

19、输入代码如程序2-1。新知识点JSP页面组成、声明、代码段、表达式、注释JSP页面由两局部组成,一局部为静态局部,即HTML标记,用来完成数据页面显示;另一局部为动态局部,用来完成数据处理,包括脚本元素、指令元素和动作元素。脚本元素用来嵌入Java代码,这些Java代码将成为转换得到的Servlet的一局部;JSP指令元素用来从整体上控制Servlet的构造;动作元素用来引入现有的组件或者控制JSP引擎的行为。.1 声明 JSP中声明局部可以进展变量、方法和类的声明,其一般在标签中进展。其语法格式为。如在程序2-1中,进展了求和方法的声明。下边进展一个变量的声明,如程序2-2。 代码段 在JS

20、P页面中嵌入Java代码来执行特定的功能,其放置在标记中。格式为: 这种Java代码在Web效劳器响应请求时就会运行。如程序2-3,定义2个变量并输出。.3 表达式 JSP表达式可以把JSP页面中的数据直接输出到页面,其格式为: 表达式一次只能使用一个表达式,并且该表达式是完整的。在表达式的语句中不能使用分号。如程序2-4,进展了变量输出这种代码段的主要功能是输出一个变量或常量,有时候将其叫做表达式输出。使用方法见程序2-5所示。.4 注释在JSP中支持两种注释,一种是显式注释,这种注释客户端允许查看的;另一种是隐式注释,这种注释客户端是看不到的。1. 显式注释语法(HTML注释) !- 这是

21、显式注释2. 隐式注释语法(1) / Java提供的单行注释(2) /* Java提供的多行注释 */ (3) 扩展代码编写规*好的代码应该容易理解,并且见名知意的,因此大家都需要遵守一些约定,下面介绍一些常规的编写规*。1JSP文件命名JSP文件名称要以小写字母命名,名称要表达出该页面的意义,最好能够与模块名称联系在一起。例如:login.jsp -登录页面register.jsp -注册页面message.jsp -消息页面2Java Web工程文件夹组织规*Java Web工程的目录构造为:src 存放java源文件的文件夹WebContent - web站点文件存放文件夹|-image

22、s -图片文件夹|-css -样式文件夹|-js - js文件夹|-其他功能模块文件夹(存放与*个功能模块相关的资源) |-WEB-INF -配置及类和库文件夹|-classes - 存放类编译后的字节码文件的文件夹|-lib - 存放jar文件的文件夹2.2 制作一个带包含文件的JSP页面任务描述与实现实现静态包含功能,编写三个不同类型的文件,然后将这三个不同类型的文件静态包含于*一JSP文件中新知识点JSP指令:page指令、include指令JSP指令是为JSP引擎而设计的。它们并不直接产生任何可见的输出,而只是告诉引擎如何处理其余的JSP页面。JSP指令有三种,分别为页面设置指令pag

23、e、页面包含指令include和标记指令taglib。JSP指令一般语法形式为: 1page指令page指令就是通过设置内部的多个属性来定义JSP文件中的全局特性。需要注意的是,page指令只能对当前自身页面进展设置,即每个页面都有自身的page指令。如果没有对属性进展设置,JSP将使用默认指令属性值。2include指令在JSP开发中,可以将一些重用的代码写入一个单独的文件中,然后通过include指令引用该文件,从而缓解代码的冗余问题,修改也比拟方便。Include指令语法格式为: inlcude也被称为静态包含指令,包含的文件可以是JSP文件、HTML文件、文本文件和Java程序段。静态

24、包含指令只是简单的将内容合在一起显示,所以,在一个完整的页面中,对于、等元素只能出现一次,如果重复出现,则会造成HTML错误。在节任务中,其主要采用include指令完成不同类型文件的包含。扩展taglib指令的使用使用指令在JSP文件中导入标签,以便在JSP中使用标签方便地完成一些动作。Taglib指令的语法为: uri是一个URI标识标记库描述器。一个标记库描述器用来唯一的命名一组定制的标记,并且告诉包容器如何处理特殊的标记。Prefi*定义一个prefi*:tagname形式的字符串前缀,用于定义定制的标记。2.3 制作一个简单的JSP任务描述与实现.1 制作一个简单的JSP制作一个简单

25、的JSP。主题为产品,主要包括首页、产品和下载页面等,效果如图2-102-12所示。要求公共局部采用单独文件,并被包含。开发过程采用Eclipse和Dreamweaver搭配开发,设计显示界面局部全部用Dreamweaver实现,JSP程序局部在Eclipse中编写,最后在Eclipse中测试运行。新知识点JSP动作指令、在JSP中,还存在另外一类标记,其符合*ML的语法格式。利用这些标记可以到达控制Servlet引擎的作用,如动态的插入文件,调用JavaBean,页面重定向等,这类标记称为JSP动作标记。JSP的常用动作标记有、等。扩展的使用动作指令表示把当前的页面控制权转向另外一个对象,该

26、对象可以是一个HTML文件、JSP文件或者一个Servlet文件。的语法格式:jsp:forward page=转向的文件路径|/ 或者jsp:forward page=转向的文件路径| 在上述格式中,page属性为一个字符串或者一个表达式,用来表示转向文件的路径;字句指令为传递参数,name指定参数名,value指定参数值。【教学小结】 本章主要介绍了JSP页面的组成、指令、动作等技术,重点介绍了JSP的page指令、include指令的使用,、等动作指令的使用。通过本章的学习,读者可以建立一个简单功能的JSP。-. z.课题:第三章JSP内置对象【教学目标】掌握JSP常用内置对象及使用方法

27、【教学重点】JSP内置对象【教学难点】JSP内置对象【教学方法】讲解【教学地点】教学楼、综合楼【课时安排】4课时【教学过程】3.1获取客户端数据任务描述与实现.1 实现用户注册信息获取及显示编写用户注册功能,注册信息包括用户名、密码、性别、熟练开发语言,如图3-1所示,提交后,显示用户输入的数据。为了提高开发效率,开发过程采用Eclipse和Dreamweaver搭配开发,设计显示界面局部全部用Dreamweaver实现,代码在界面制作自动生成根底上在Eclipse中编写,最后在Eclipse中测试运行。新知识点JSP内置对象、request .1 JSP内置对象概述为了简化Web页面的开发过

28、程,JSP提供了一些由容器实现和管理的对象,这些对象在JSP中可以直接使用,不需要JSP页面编写进展实例化,可以直接使用,此类对象称之为JSP的内置对象。JSP中规*定义了9个内置对象,分别是request、response、session、application、out、page、pageConte*t和e*ception。其说明见表3-1。表3- 1 JSP内置对象对象所属类说明request java*.servlet. . ServletRequest 封装了客户端的请求信息response java*.servlet. . ServletResponse包含了响应客户请求的相关信息s

29、ession java*.servlet. . Session 与当前请求相关的会话application java*.servlet.ServletConte*t 存放全局变量,实现用户间的数据共享out java*.servlet.jsp.JspWriter 向客户端输出数据的对象page java.lang.Object 指当前JSP页面本身,作用类似于this pageConte*t java*.servlet.jsp.PageConte*t 提供了对JSP页面内所有的对象及名字空间的访问config java*.servlet.servletConfig Servlet初始化时,向其

30、传递配置参数的对象e*ception java.lang.Throwable 页面运行中发生异常而产生的对象扩展中文乱码处理、request中其他信息获取.1 获取显示含有中文的信息客户端提交数据当含有中文时,JSP不能正常显示。如将.1节的表单增加个人简介后,程序为e*am3_1_reg_2.jsp,此处略,运行效果如图3-6,其提交后显示会是乱码,如图3-7所示。因此,要对含有中文的表单数据,要进展编码设置。其主要方法为在获取程序中设置字符集,使request其字符集与页面字符集保持一致。.2 获得客户端请求的相关信息 ServletRequest包含很多可以获取与当前请求相关信息的方法,

31、具体可查看API文档,下面的例子将展示其中一局部方法的使用,e*am3_1_request.jsp是提交请求的页面,e*am3_1_showInfo.jsp是处理请求的页面,在此页面中将调用request对象的各种方法,以获取与当前请求相关的一些信息。3.2 处理效劳器响应任务描述与实现.1 实现四则运算测试功能针对刚学会整数四则运算的小学生,开发一个测试。要求在测试页面中能随机产生一个四则运算式,当用户在userAnswer表单域内填写答案并提交后,获取用户所填的答案,判断答案的对错后,如果错误则进入错误提示页面;如果正确则进入正确页面新知识点response、out .1 response

32、 JSP的内置对象response代表效劳器端返回给客户端的相应,其主要用于处理响应数据。该对象的方法主要包括处理响应头的相关属性的方法、设定响应状态码的方法、重定向方法、设置响应体相关内容和属性的方法等等。其常用方法见表3-3所示。表3- 3 response对象的常用方法方法说明void setHeader(String name, String value) 为名为name的响应头设定值为value oolean containsHeader(String name) 判断响应对象中是否有名为name的头void addCookie(Cookie cookie) 将参数指定的cookie

33、添加到response对象中void sendRedirect(String location) 将页面重定向到参数所指定的URL void setContentType(String type) 设置响应的MIME类型PrintWriter getWriter() 得到返回客户端的打印流.2 out对象out对象是类的实例,表示一个输出流,用于向客户端输出数据。查阅API文档可知,JspWriter对象和由ServletResponse的getWriter()方法得到的PrintWriter对象是有依赖关系的。如果页面没有缓冲区,则写入JspWriter对象的数据将直接通过PrintWrit

34、er对象进展输出;如果页面有缓冲区,则直到缓冲区满且如setContentType()等操作都合法时才创立PrintWriter对象,由PrintWrtier对象进展输出。扩展设置响应的MIME类型任务:将一个文本文件包含在jsp页面中,且在显示页面内容之前先让用户选择查看文件所使用的方式,将三种可选方式文本方式、网页方式、word文档方式放在下拉框中供用户选择。当用户选择并点击“查看按钮后,按用户所选方式展现内容。3.3 存储用户会话任务描述与实现.1 判断用户是否已登录实现如下功能:用户成功登录后,只要未关闭浏览器的情况下,可随时访问本站点的任何页面当然此处本站点只有登录页面和欢送页面,如

35、果用户在未登录的情况下访问欢送页面的话,给出相应的提示,并在5秒后跳转到登录页面。实现:当用户在登录页面e*am3_3_login.jsp输入用户名和密码并点击登录后,在处理页面e*am3_3_login_do.jsp代码如程序3-12所示中判断用户名和密码是否正确,如果正确,即登录成功,则将名为“username,值为用户所输入的用户名的属性添加到session对象中,然后进入e*am3_3_wele.jsp代码如程序3-13所示中;如果用户名或密码不正确,则输出提示“用户名或密码不正确,5秒后为您跳转回登录页面,并在5秒后跳转回登录页面。如果用户没有登录,而直接访问e*am3_3_wele

36、.jsp,则输出提示“您必须先登录,5秒后为您跳转回登录页面,并在5秒后跳转回登录页面。新知识点session、aplication .1 session session会话是用来在访问一个时发出的多个页面请求或者在屡次页面跳转之间识别同一个用户并且存储这个用户的相关信息的一种方式。通常从一个客户连接到*个效劳器开场,直到他关闭浏览器离开这个效劳器为止,称之为一次会话。Servlet容器使用java*.servlet. . Session这个接口在客户端和效劳器端之间创立一个会话,JSP的内置对象session就是这个接口的一个实例。一个session通常只对应一个用户,它有一定的生存时间,它

37、可以使同一个用户在访问同一个Web站点时在多个页面连接和请求之间共享数据。效劳器通常通过cookie或者重写URL的方式来维持session,不过开发者无需关心这些细节。 Session接口的方法主要分为两类,一类是查看和操作关于这个session的信息的方法,如session的ID、创立时间、最近访问时间等;另一类方法是将对象绑定到session中,以能够使用户信息在客户端与效劳器端的屡次连接中能够共享。.2 application JSP内置的application对象是类的一个实例,可以通过它和Servlet容器进展通信,如获取一个文件的MIME类型,转发请求,写日志文件等等;也可以通过

38、它共享一些全局信息。Application对象表示Servlet的上下文,每台Java虚拟机上的同一个Web应用只有一个上下文,即当Web应用被部署到效劳器上,效劳器启动时就创立一个application对象,所有访问该应用的客户都共享同一个application对象,直到效劳器关闭。因此可以通过将一些信息放在application对象里,以实现全局共享,当然要注意这个“全局只是相对的,因为不同的Java虚拟机上的Servlet上下文也是不同的。扩展cookie .1记录用户以往访问当前站点的相关信息任务描述:当用户访问本的登录页面时,能够自动显示出该用户以前访问本时曾经使用过的用户名。实现过

39、程:这样的功能一般都是基于cookie实现的。首先创立一个web应用,当用户访问本的登录页面e*am3_3_cookie_login.jsp代码如程序3-17所示时,该页面读取客户端的cookie,如果cookie中存在username记录,则在登录表单的用户名一栏中自动填入该username值。当用户成功登录后,将该username存入cookie中。.2 知识点:Cookie简介Cookie 是Web效劳器发送给客户端的一小段信息。如果效劳器需要在客户端记录*些数据时,就可以向客户端发送Cookie,客户端接收并保存该Cookie,而且客户端每次访问该效劳器上的页面时就会将Cookie 随

40、请求数据一同发送给效劳器。下面从向客户端发送Cookie以及从客户端读取Cookie两方面来介绍Cookie的使用方法。1.向客户端发送Cookie 首先需要创立Cookie对象:Cookie c=new Cookie(“cookieName, “cookieValue);然后需要调用setMa*Age(long time)为Cookie对象设置有效时间该时间参数以秒为单位,不然浏览器关闭时Cookie就会被删除;最后使用 ServletResponse对象的addCookie(Cookie c)方法把Cookie对象添加到响应头中发送到客户端。2.从客户端读取Cookie 首先获取客户端上传

41、的Cookie数组:调用 ServeltRequest对象的getCookies()得到一个Cookie对象的数组;然后遍历该数组,找寻需要的Cookie对象:通过Cookie的getName()方法,获取Cookie对象的name属性,通过getValue()方法获取Cookie对象的值。【教学小结】 本章介绍了JSP的各个内置对象,并着重讲解了request、response、session、application、out这几个最常用的对象,这些对象在JSP开发中具有很重要的地位,希望读者能够结合本章任务理解这些对象,并能够掌握其用法。对于其它未详解的对象,可参考相关的API文档。-. z

42、.课题:第四章JDBC与数据库应用【教学目标】掌握通过JDBC连接数据库并进展数据操作的方法【教学重点】连接数据库和读取数据库、写入数据库【教学难点】连接数据库和读取数据库、写入数据库【教学方法】讲解、演示【教学地点】教学楼、综合楼【课时安排】4课时【教学过程】4.1 连接数据库并读取数据任务描述与实现通过JDBC连接Mysql数据库,查询hncst数据库中users数据表中的数据,并以表格形式显示,如表4-1所示。Users表的构造如表4-1所示。表4- 1 任务执行结果用户名密码性别Email 熟练开发语言leiyanrui 123456 female .JAVA,C,C# 新知识点JDB

43、C概述、JDBC连接Mysql数据库.1 JDBC简介JDBC的英文名称是Java Database Connecivity,中文名称是Java数据库连接,它是一种用于执行SQL语句的Java API类包,由一组用Java语言编写的类和接口组成,通过它可以构建更高级的工具和接口,使数据库开发人员能够用纯Java API 编写数据库应用程序。JDBC是Java操作数据库的方法,由SUN提供。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问MySQL数据库专门写一个程序,为访问Oracle数据库又专门写一个程序。使用JDBC API,程序员只

44、需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用,这和Microsoft的ODBC技术是类似的,ODBC是由Microsoft公司倡导并得到业界普遍响应的数据库连接技术,通过它可以使用一组通用的接口与各种数据库进展连接,但这仅限于Windows平台;而JDBC不同,使用Java编写的应用程序可以在任何支持Java的平台上运行,程序员甚至不必在不同的平台上编写不同的应用。这也是Java语言“编写一次,处处运行的优势。.2 Mysql数据库简介MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16日被Sun公司收购。2009年,Sun又

45、被Oracle收购。目前MySQL被广泛地应用在Internet上的中小型中。由于其体积小、速度快、总体拥有本钱低,尤其是开放源码这一特点受到了众多中小型制作者的青睐。MySQL的开发也得到了很多著名厂商和技术团队支持。.3 JDBC连接Mysql数据库的根本步骤1. 下载驱动。要通过JDBC连接数据库需要使用数据库厂商提供的JDBC Drive。在Mysql官方下载其JDBC驱动,官网地址:.mysql.,下载页面如图4-2所示。2将下载好的驱动mysql-connector-java-bin.jar文件此处的为驱动版本号,复制到当前工程的WEB-INF的lib目录中,如图4-3、图4-4所

46、示。3.编写数据库连接程序。1加载驱动。Class.forName(“.mysql.jdbc.Driver).newInstance(); 2建立连接对象。String url=jdbc:mysql:/localhost:3306/hncst;/连接字符串Connection conn=DriverManager.getConnection(url); 3建立Statement对象或PreparedStatement对象。Statement stmt=conn.createStatement();/创立Statement 对象String sql=select * from users whe

47、re oolean= And password=;PreparedStatement pstmt=conn.prepareStatement(sql);/创立Preparedment 对象pstmt.setString(1,admin);pstmt.setString(2,liubin);Statement是PreparedStatement的父接口。Statement 对象用于执行不带参数的简单SQL语句;PreparedStatement 对象用于执行预编译SQL语句;也就是说,Statement接口提供了根本方法,而PreparedStatement接口添加了处理IN 参数的方法。对于需

48、屡次执行的SQL语句,用PreparedStatement即可以减轻编码负担,又可以提高系统效率。4执行SQL语句。执行SQL查询1String sql=select * from users;ResultSet rs=stmt.e*ecuteQuery(sql);执行insert,update,delete等语句,先定义sql 2stmt.e*ecuteUpdate(sql);Statement 接口提供了三种执行SQL 语句的方法:e*ecuteQuery、e*ecuteUpdate 和e*ecute。使用哪一个方法由SQL 语句所产生的内容决定。5关闭对象,释放资源。Rs.close()

49、; stmt.close(); conn.close(); 通过上面五个步骤,就可以完成JDBC连接数据库,执行SQL语句,并在执行完后释放数据库资源。扩展JDBC连接SQL Server、Oracle .1 JDBC连接SQL Server SQL Server是一个关系型数据库管理系统。SQL Server使用集成的商业智能工具提供企业级的数据管理,可以为不同规模的企业提供不同的数据管理解决方案。下边以SQL Server2005为例,介绍JDBC连接SQL Server数据库。实现过程:通过JDBC连接SQL Server的hncst数据库,实例文件为e*am4_2_sqlserver.

50、jsp,具体步骤如下:1.在Microsoft SQL Server的官网下载SQL Server JDBC 驱动(不同版本的数据库对应不同驱动程序)。将下载好的驱动sqljdbc.jar文件复制到的lib目录中。2.将SQL Server的验证方式改为混合验证方式,并设置合法用户名和密码。翻开Microsoft SQL Server Management Studio E*press,通过右键点击数据库“效劳器属性面板,在“平安选项里进展配置,重启SQL Server后生效,.2 JDBC连接Oracle 与JDBC连接Mysql、SQLServer类似,需要先下载Oracle数据库的JDB

51、C驱动,并将其放置在的lib目录下。在此不再详细描述。其次,创立连接文件JDBCOracleConnection.jsp,代码如程序4-3所示。4.2 写入数据库任务描述与实现编写程序完成用户注册功能,即通过JDBC连接数据库,并向users表中添加一条新记录。注册的资料包含*、密码、性别、熟练开发语言、个人简介。新知识点Connection、Statement、ResultSet等对象的常用方法在Java语言中提供了丰富的类和接口用于数据库编程,利用它们可以方便地进展数据的访问和处理。下面主要介绍Java.sql包中提供的常用类和接口。1Driver接口每个数据库驱动程序必须实现Driver

52、接口,对于JSP开发者来说只要使用Driver接口就可以了。在编程中要连接数据库必须要装载特定的数据库驱动程序Driver,格式如下:Class.forName(“数据库商提供的驱动程序名称);在使用Class.forName之前,应先使用Import语句导入java.sql包,即在Java源程序中为:import java.sql.*;在JSP程序中为: 2DriverManager接口类负责管理JDBC驱动程序的根本效劳,是JDBC的管理层,作用于用户和驱动程序之间,用来管理数据库中的所有驱动程序。它可以跟踪可用的驱动程序,注册、注销以及为数据库连接适宜的驱动程序,设置登录时间限制等。4S

53、tatement接口Statement接口用于在已经建立连接的根底上向数据库发送SQL语句。Statement接口中包含了执行SQL语句和获取返回结果的方法。在JDBC中有3种Statement对象:Statement、PreparedStatement和CallableStatement。Statement对象用于执行不带参数的简单SQL语句;PreparedStatement继承了Statement,用于处理需要被屡次执行的SQL语句;CallableStatement继承了PreparedStatement,用于执行对数据库的存储过程的调用。5PreparedStatement接口Pre

54、paredStatement接口继承Statement,包含已经编译的SQL语句。这就是使语句“准备好,所以它的执行速度要高于Statement对象。因此,将屡次执行的SQL语句创立为PreparedStatement对象,可以提高效率。6ResultSet接口ResultSet接口用来暂时存放数据库查询操作所获得的结果。ResultSet接口中包含了一系列get方法,用来对结果集中的数据进展访问。扩展数据库连接是JDBC数据库应用程序中最为耗时的一个局部。效劳器的资源有限,程序如果一直保持数据库的连接状态,就会消耗数据库效劳器的资源,影响效劳器的正常响应。在局部情况下JSP也会自动关闭数据库

55、连接进而释放资源,例如在一个方法或一个类的内部创立数据库连接,当这个方法或类运行完毕时,JSP将会自动的回收资源,并不需使用close方法主动释放资源。但在实际应用中,JDBC连接数据库通常会使用servlet见第五章,而servlet会一直保持在效劳器内,servlet的数据库连接也会一直保存在效劳器内,所以为了减少消耗效劳器资源,应该习惯在方法或类中创立数据库连接,并通过close方法主动关闭数据库连接。新知识点分页如果要显示的数据太多,在一个页面上显示不仅会使用户难以阅读,更加会影响程序的运行,加重效劳器的负担,解决的途径就是对记录进展分页显示。分页的方法有很多种,下面我们介绍一种最简单

56、最容易理解的:通过前面的学习,我们可以通过RecordSet对象的方法,获得记录集中的记录条数,每页显示的记录个数,可以很容易的计算出分页的页数,页数等于记录条数除以每页记录条数,再将结果向上取整,即页数=总记录条数/每页记录数;当前页显示的记录可以通过SQL中Select语句的Limit来限定,当前页码,则显示记录的起始位置为当前页码-1*每页记录数,以MYSQL为例,构造出的SQL语句为:Select * from users limit (当前页码-1) *每页记录数,每页记录数。分页只显示符合要求的局部记录,所以一定要设计翻页连接帮助用户翻页浏览,常用的翻页连接有首页、尾页、上一页和下

57、一页,首页即页码为1的页面,尾页即页码为总页数的页面,上一页即页码为当前页减1的页面,下一页即页码为当前页加1的页面,根据这些设置超连接进展翻页。SQL Server的SQL语句没有Limit关键字,如果要对SQL Server中的数据表进展分页就要利用T_SQL中的top和not in语句,top关键字用来指定返回结果集的前n 行,很容易理解,第一页就是select top 每页记录数from users,第二页select top 2*每页记录数from user,结果是前两页的记录,然后要将第一页的记录从记录集中剔除,使用not in,即select top 2*每页记录数from us

58、ers where id not in (select top 每页记录数id from users )。则当前页的分页SQL语句为select top 当前页*每页记录数* from users where id not in (select top 当前页-1*每页记录数id from users。【教学总结】本章介绍了应用JDBC技术实现对Mysql、SQLServer、Oracle数据库的连接、数据的查询和更改等操作,并对数据查询的分页技术进展了详细的讲解。数据库操作是JSP技术的核心内容,必须扎实掌握本章的知识。本章为了便于学习,将数据库逻辑直接放置在JSP页面中,这样凡要进展数据操

59、作的页面都要加上连接数据库的代码,不便于维护。-. z.课题:第五章 JavaBean技术【教学目标】1.掌握JSP中使用JavaBean的语法2.掌握JavaBean的作用域3.掌握JavaBean封装方法【教学重难点】封装用户信息、实现数据库连接的JavaBean【教学方法】讲解【教学地点】教学楼、艺术馆【课时安排】4课时【教学过程】5.1 封装用户信息的JavaBean 任务描述与实现.1 实现封装用户信息的JavaBean 创立封装用户信息的JavaBean,用户信息包括用户名、密码、性别、年龄和家庭住址等内容。如表5-1所示。表5- 1 用户信息表属性变量类型用户名userName

60、String 密码userPassword String 性别Se* String 年龄age int 家庭住址address String 新知识点JavaBean概述、JSP调用JavaBean.1 JavaBean概述一.JavaBean技术介绍JavaBean是一种Java语言写成的可重用组件,JavaBean归根结底就是一个封装了属性和方法的类。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean属

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论