JSP动态网站开发项目教程.ppt
《JSP动态网站开发项目教程.ppt》由会员分享,可在线阅读,更多相关《JSP动态网站开发项目教程.ppt(302页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章第一章开发任务描述第一章开发任务描述第一章开发任务描述本课程将以网上论坛的开发过程为线索,展本课程将以网上论坛的开发过程为线索,展开开JSP技术的学习之旅。那么,我们究竟要完成技术的学习之旅。那么,我们究竟要完成一个怎样的论坛网站呢?下面对该系统的需求作一个怎样的论坛网站呢?下面对该系统的需求作了简单的介绍。了简单的介绍。思考:思考:p论坛网站面对哪些用户?论坛网站面对哪些用户?p面对论坛的每一类用户,应提供哪些功能?面对论坛的每一类用户,应提供哪些功能?系统的一级用例图系统的一级用例图任务描述任务描述p从上图可知,论坛网站应为三类用户角色提供服从上图可知,论坛网站应为三类用户角色提供服
2、务,分别为普通用户、版主和管理员。务,分别为普通用户、版主和管理员。p可进一步通过二级用例图,较详细地描述为每类可进一步通过二级用例图,较详细地描述为每类角色提供的功能。角色提供的功能。面向普通用户的前台操作用例图面向普通用户的前台操作用例图任务描述任务描述p要开发一个功能全面的论坛,其业务逻辑还是比要开发一个功能全面的论坛,其业务逻辑还是比较复杂的。为了避免因业务逻辑的复杂性干扰了较复杂的。为了避免因业务逻辑的复杂性干扰了读者对技术本身的理解和掌握,后面章节仅以开读者对技术本身的理解和掌握,后面章节仅以开发单版块论坛的前台子系统作为学习案例,包括发单版块论坛的前台子系统作为学习案例,包括普通
3、用户的注册、登录、发帖、回帖、帖子浏览普通用户的注册、登录、发帖、回帖、帖子浏览等功能的实现。等功能的实现。思考:思考:1.为提高用户参与发帖或回帖的积极性,可以为论为提高用户参与发帖或回帖的积极性,可以为论坛增加哪些功能?坛增加哪些功能?2.若论坛的用户之间希望能有一对一的短消息交流,若论坛的用户之间希望能有一对一的短消息交流,则应该添加哪些功能?则应该添加哪些功能?3.应为论坛的管理员设立哪些功能?请分析并给出应为论坛的管理员设立哪些功能?请分析并给出相关的用例图。相关的用例图。第第2章章JSP概述概述本章主要内容本章主要内容2.1静态网页与动态网页静态网页与动态网页2.2主流动态网站技术
4、及实现模式主流动态网站技术及实现模式2.3HTTP的请求的请求/响应模型响应模型2.4JSP页面的执行流程页面的执行流程第第2章章 JSP概述概述pJSP的全称为的全称为JavaServerPages,顾名思义,顾名思义,是用是用Java编写的运行在服务器端的网页。编写的运行在服务器端的网页。p在传统的在传统的HTML网页文件中加入网页文件中加入Java代码片段代码片段(Scriplet)和和JSP自身特有的标记,就形成了自身特有的标记,就形成了JSP的动态网页。的动态网页。2.1 静态网页与动态网页静态网页与动态网页p静态网页:静态网页:在在Internet发展的初期,一般网页发展的初期,一
5、般网页主要是以信息发布为主的,不同的用户访问同一主要是以信息发布为主的,不同的用户访问同一网页时,看到的内容都是相同的,这时的网页不网页时,看到的内容都是相同的,这时的网页不具有与用户交互的能力,不能针对不同的需求给具有与用户交互的能力,不能针对不同的需求给予不同的反馈信息,在开发人员制作完毕后,其予不同的反馈信息,在开发人员制作完毕后,其内容就几乎固定不变了,这样的网页我们称之为内容就几乎固定不变了,这样的网页我们称之为“静态网页静态网页”。2.1 静态网页与动态网页静态网页与动态网页p动态网页:动态网页:今天今天Internet上的网页,上的网页,基本上是基本上是以网页的形式提供给用户使用
6、的应用程序,具有以网页的形式提供给用户使用的应用程序,具有逻辑处理的能力。它们能接收用户的信息,并且逻辑处理的能力。它们能接收用户的信息,并且可根据用户的需求给予相应的反馈,即具有与用可根据用户的需求给予相应的反馈,即具有与用户交互的功能,我们称之为户交互的功能,我们称之为“动态网页动态网页”。p从技术的角度说,传送给客户端的网页内容是在从技术的角度说,传送给客户端的网页内容是在客户端发起请求后,由服务器执行相关的程序后客户端发起请求后,由服务器执行相关的程序后动态生成的。动态生成的。这也是称之为这也是称之为“动态网页动态网页”的原因。的原因。2.2 主流动态网站技术及实现模式主流动态网站技术
7、及实现模式2.2.1几种主流的动态网站开发技术几种主流的动态网站开发技术1.ASP(ActiveServerPages)2.PHP(PersonalHomePages)3.JSP(JavaServerPages)4.ASP.NET2.2.2 动态网站技术的实现模式动态网站技术的实现模式p目前流行的几种动态网站开发技术,都采用了相目前流行的几种动态网站开发技术,都采用了相似的实现模式:即以静态网页似的实现模式:即以静态网页(HTML+CSS+JavaScript)为基础,在其中嵌入采用为基础,在其中嵌入采用某种高级语言编写的逻辑代码段,使之具备某种高级语言编写的逻辑代码段,使之具备“动动态态”生
8、成网页内容的能力。生成网页内容的能力。2.2.2 动态网站技术的实现模式动态网站技术的实现模式pJSP也采用了上述的模式,它通过在传统的也采用了上述的模式,它通过在传统的HTML页面页面中加入中加入Java代码段及代码段及JSP标记来完成逻辑处理。标记来完成逻辑处理。2.3 HTTP的请求的请求/响应模型响应模型p客户端:客户端:我们通常使用各类浏览器软件访问网站,我们通常使用各类浏览器软件访问网站,这些浏览器或其它下载工具常常被称之为这些浏览器或其它下载工具常常被称之为“客户客户端端”。p客户端与客户端与Internet上的服务器之间是采用上的服务器之间是采用HTTP协议进行通信的,因此有必
9、要了解一下协议进行通信的,因此有必要了解一下HTTP协协议的相关知识。议的相关知识。2.3 HTTP的请求的请求/响应模型响应模型pHTTP协议:协议:即超文本传输协议即超文本传输协议(HypertextTransferProtocol)的简称,用于传输超文本的简称,用于传输超文本内容,是基于应用层的网络通信规范,即客户端内容,是基于应用层的网络通信规范,即客户端与服务器进行通信时需要遵守的一种规范,广泛与服务器进行通信时需要遵守的一种规范,广泛应用于应用于WWW的全球信息服务。这里的服务器端的全球信息服务。这里的服务器端是指提供是指提供HTTP服务的部分,而客户端是指浏览服务的部分,而客户端
10、是指浏览器或者下载工具等。器或者下载工具等。2.3 HTTP的请求的请求/响应模型响应模型HTTP协议采用协议采用“发起请求发起请求/发回响应发回响应”的方式进行的方式进行双方的通信双方的通信,即请求即请求/响应模型响应模型(request/response),具体工作流程如下具体工作流程如下:1.客户端请求客户端请求HTTP服务服务2.服务端接受请求并返回服务端接受请求并返回HTTP响应响应3.断开连接,浏览器解析响应断开连接,浏览器解析响应2.3 HTTP的请求的请求/响应模型响应模型1.客户端请求客户端请求HTTP服务服务首先,客户端向服务器发起连接请求,服务器接首先,客户端向服务器发起
11、连接请求,服务器接受并建立通信连接;受并建立通信连接;连接建立成功后,客户端将请求信息发给服务器。连接建立成功后,客户端将请求信息发给服务器。一个请求主要由一个请求主要由4个部分组成,格式如下:个部分组成,格式如下:HTTP请求行请求行请求标头请求标头空行空行消息体消息体(可选可选)消息体中包含要发送给服务器的所有数据,如请求消息体中包含要发送给服务器的所有数据,如请求参数、参数、Cookie等。等。2.3 HTTP的请求的请求/响应模型响应模型2.服务端接受请求并返回服务端接受请求并返回HTTP响应响应Web服务器收到请求后,解析请求并定位指定请求服务器收到请求后,解析请求并定位指定请求资源
12、。服务器将响应内容以特定的格式发送给客户资源。服务器将响应内容以特定的格式发送给客户端。一个响应由端。一个响应由4个部分组成,格式为:个部分组成,格式为:HTTP状态行状态行响应标头响应标头空行空行消息体消息体(可选可选)消息体中包含了要显示在浏览器中的所有内容。消息体中包含了要显示在浏览器中的所有内容。2.3 HTTP的请求的请求/响应模型响应模型3.断开连接,浏览器解析响应断开连接,浏览器解析响应发送完数据后,服务端关闭连接。浏览器解析状态发送完数据后,服务端关闭连接。浏览器解析状态行、响应标头、空行、消息体中的响应数据等,根行、响应标头、空行、消息体中的响应数据等,根据据HTML的语法和
13、语义对其进行格式化,在窗口中的语法和语义对其进行格式化,在窗口中显示显示HTML格式的页面内容。格式的页面内容。HTTP协议的特点:协议的特点:pHTTP协议是无状态的协议,即在处理完一个协议是无状态的协议,即在处理完一个请求后,请求后,Web服务器并不记住关于这个客户端或这服务器并不记住关于这个客户端或这次请求的任何信息,而只在一次请求期间建立起一次请求的任何信息,而只在一次请求期间建立起一个临时的通信连接,处理完成后立即断开连接。个临时的通信连接,处理完成后立即断开连接。p由于由于HTTP协议的这种协议的这种“无状态性无状态性”协议对事协议对事务处理没有记忆能力,若后续的事务处理需要之前务
14、处理没有记忆能力,若后续的事务处理需要之前的处理信息,那么这些信息必须使用其它方法在协的处理信息,那么这些信息必须使用其它方法在协议之外来保存。议之外来保存。2.4 JSP页面的执行流程页面的执行流程当一个当一个JSP页面第一次被请求时,其处理过程如下图所示。页面第一次被请求时,其处理过程如下图所示。2.4 JSP页面的执行流程页面的执行流程p首先,被请求的首先,被请求的JSP文件会被文件会被JSP引擎引擎(如如Tomcat)翻译翻译成一个成一个Java源文件,这个源文件,这个Java源文件实际上是一个源文件实际上是一个Servlet类文件,之后类文件,之后JSP引擎调用引擎调用Java编译器
15、把它编编译器把它编译成字节码文件译成字节码文件(.class文件文件),可以把这个阶段称为,可以把这个阶段称为JSP页面的编译阶段;接下来是请求处理阶段,即由页面的编译阶段;接下来是请求处理阶段,即由JVM(JavaVirtualMachine)执行此执行此class文件,最文件,最后将执行的结果以后将执行的结果以HTML格式格式(即浏览器能理解的格式即浏览器能理解的格式)返返回给客户端。回给客户端。p若此页面之前已被请求过,且在上次编译后程序未发生修若此页面之前已被请求过,且在上次编译后程序未发生修改,则不会再次编译,而是直接执行已经编译好的改,则不会再次编译,而是直接执行已经编译好的cla
16、ss文件。因此,文件。因此,JSP页面在第一次被请求时,执行的时间相页面在第一次被请求时,执行的时间相对较长。对较长。思考思考p1.静态网站与动态网站有什么区别?静态网站与动态网站有什么区别?p2.阅读本章中介绍的第阅读本章中介绍的第1个个JSP文件,说明其中文件,说明其中有哪些形式的有哪些形式的JSP页面元素页面元素.p3.请简述请简述HTTP协议的请求协议的请求/响应模型响应模型.p4.从从JSP页面的执行流程看,配置页面的执行流程看,配置JSP的服务器的服务器需要安装哪些软件?需要安装哪些软件?第第3章章开发工具的安装与使用开发工具的安装与使用本章主要内容本章主要内容3.1NetBean
17、sIDE的安装的安装3.2创建项目与编写程序创建项目与编写程序3.3在在NetBeansIDE中调试程序中调试程序主流的开发工具主流的开发工具目前,主流的开发工具有:目前,主流的开发工具有:pMyEclipsepNetBeansIDE本课程将采用本课程将采用NetBeansIDE作为开发工具,作为开发工具,希望采用希望采用MyEclispe作为开发工具的同学,可参作为开发工具的同学,可参考教材第考教材第20章中的安装及使用说明。章中的安装及使用说明。NetBeans IDE的安装与使用的安装与使用p在安装在安装NetBeansIDE之前,应先安装好之前,应先安装好JDK(JavaDevelop
18、mentKit)。pJDK的下载网址是的下载网址是http:/ 下载安装包下载安装包p在在NetBeans的官方网站的官方网站beans.org可免费下载最新版本的可免费下载最新版本的NetBeansIDE。3.1.2 安装安装NetBeans IDEp请按照教材请按照教材P12P15页的安装教程进行。页的安装教程进行。3.2 创建项目与编写程序创建项目与编写程序NetBeansIDE的使用界面:的使用界面:3.2 创建项目与编写程序创建项目与编写程序p请按照教材请按照教材P16P28的内容,学习在的内容,学习在NetBeans中创建中创建JavaWeb项目、新建项目、新建JSP页面以及其它基
19、本操作。页面以及其它基本操作。3.3 在在NetBeans IDE中调试程序中调试程序编写程序时,错误是难免的,高效地排查这些误,是程编写程序时,错误是难免的,高效地排查这些误,是程序员必备的基本技能。下面介绍对于不同的程序错误采序员必备的基本技能。下面介绍对于不同的程序错误采取的一般性排查方法。取的一般性排查方法。1.语法错误语法错误2.运行时异常运行时异常3.逻辑错误逻辑错误请按照教材请按照教材P28-P30的方法,掌握在程序中设置断点、的方法,掌握在程序中设置断点、跟踪代码的执行、查看变量及表达式的值的方法。跟踪代码的执行、查看变量及表达式的值的方法。第第4章章论坛网站的设计论坛网站的设
20、计本章主要内容本章主要内容4.1功能模块设计功能模块设计4.2页面列表页面列表4.3数据库结构设计数据库结构设计4.1 功能模块设计功能模块设计1.用户注册用户注册本案例中,论坛的所有功能均只对注册用户开放。本案例中,论坛的所有功能均只对注册用户开放。未注册的新用户可在注册页面未注册的新用户可在注册页面reg.jsp中填写自己中填写自己的用户名、密码、的用户名、密码、E-mail、头像等个人信息。、头像等个人信息。用户名在整个论坛中应该是唯一的,页面用户名在整个论坛中应该是唯一的,页面chkReg.jsp判断此用户名是否已被他人注册了,判断此用户名是否已被他人注册了,若未被使用,则将用户信息保
21、存到数据库中,并给若未被使用,则将用户信息保存到数据库中,并给出相应的提示信息。出相应的提示信息。4.1 功能模块设计功能模块设计2.用户登录用户登录用户可使用注册时填写的用户名和密码登录论坛。用户可使用注册时填写的用户名和密码登录论坛。当用户在登录页面当用户在登录页面login.jsp中输入用户名和密码,中输入用户名和密码,并且提交信息后,处理页面并且提交信息后,处理页面chkLogin.jsp根据用根据用户输入的信息查询数据库,完成用户信息的检测工户输入的信息查询数据库,完成用户信息的检测工作。作。用户登录成功后,将自动跳转到论坛的首页。用户登录成功后,将自动跳转到论坛的首页。4.1 功能
22、模块设计功能模块设计p3.帖子列表显示帖子列表显示p论坛首页论坛首页index.jsp以列表的形式显示论坛主题以列表的形式显示论坛主题帖的标题、作者、点击数等概要信息,当用户点帖的标题、作者、点击数等概要信息,当用户点击每一个主题帖的标题超链接后,将跳转到帖子击每一个主题帖的标题超链接后,将跳转到帖子详情页面详情页面postDetail.jsp,在这里可查看该帖,在这里可查看该帖子的内容及回复帖信息,此时,该主题帖的点击子的内容及回复帖信息,此时,该主题帖的点击数应加数应加1。4.1 功能模块设计功能模块设计p4.帖子详情浏览帖子详情浏览p在帖子列表页面点击主题帖的标题后,可在页面在帖子列表页
23、面点击主题帖的标题后,可在页面postDetail.jsp查看主题帖的详细信息,包括查看主题帖的详细信息,包括主题帖的作者主题帖的作者(用户名、级别、注册时间等信息用户名、级别、注册时间等信息)、标题、内容、发布时间以及本主题帖所有的回复标题、内容、发布时间以及本主题帖所有的回复帖等信息。帖等信息。4.1 功能模块设计功能模块设计p5.发帖发帖p登录用户可以发表新的话题,在发表新帖页面登录用户可以发表新的话题,在发表新帖页面newPost.jsp中,用户应填写帖子的标题和内中,用户应填写帖子的标题和内容,信息提交给处理页面容,信息提交给处理页面savePost.jsp后,将后,将该主题帖的标题
24、、内容、作者及发帖时间等信息该主题帖的标题、内容、作者及发帖时间等信息保存到数据库中。保存到数据库中。p对于新发表的帖子,其点击数和回复数均默认为对于新发表的帖子,其点击数和回复数均默认为0。4.1 功能模块设计功能模块设计p6.回帖回帖p登录用户在浏览帖子的同时,可以针对该主题帖登录用户在浏览帖子的同时,可以针对该主题帖发表自己的回复内容。用户通过回帖页面发表自己的回复内容。用户通过回帖页面newReply.jsp输入回复帖的标题和内容,提交输入回复帖的标题和内容,提交后,由处理页面后,由处理页面saveReply.jsp将回复帖的信将回复帖的信息保存到数据库中,包括回复帖的标题、内容、息保
25、存到数据库中,包括回复帖的标题、内容、作者、发表时间以及相关主题帖的作者、发表时间以及相关主题帖的id,此外,相,此外,相关主题帖的回复数应加关主题帖的回复数应加1。4.1 功能模块设计功能模块设计p7.编辑帖子编辑帖子p登录用户在浏览帖子时,若某个主题帖或回复帖登录用户在浏览帖子时,若某个主题帖或回复帖的作者为当前用户,则应提供修改帖子的超链接,的作者为当前用户,则应提供修改帖子的超链接,点击此链接,可打开帖子修改页面点击此链接,可打开帖子修改页面editPost.jsp,用户可以在此修改自己发表的,用户可以在此修改自己发表的主题帖或回复帖,包括标题和内容,修改完成后,主题帖或回复帖,包括标
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 动态 网站 开发 项目 教程
限制150内