第7章 Java Web常用开发模式与案例 本章主要介绍Java Web应用程序开发常采用的开发模式,首先介绍Web程序中各组件之间的关系,然后,详细介绍Web程序的不同设计模式的设计方法和使用技巧。 主要有: 单纯的JSP页面编程 JSP+JavaBean设计模式 JSP+Servlet设计模式 JSP+Servlet+JavaBean设计模式 DAO设计模式与数据库访问
第7章 Java Web常用开发模式与案例 7.1 单纯的JSP页面开发模式 7.2 JSP+JavaBean开发模式 7.3 JSP+Servlet开发模式 7.4 JSP+Servlet+JavaBean开发模式 7.5 JSP+Servlet+JavaBean+DAO开发模式 本章小结
7.1 单纯的JSP页面开发模式 在Java Web开发中最简单的一种开发模式是通过应用JSP中的脚本标记,直接在JSP页面中实现各种功能,称为“单纯的JSP页面编程模式”。 本节主要内容: 7.1.1 单纯的JSP页面开发模式简介 7.1.2 JSP页面开发模式案例—求和运算 7.1.3 JSP+JDBC开发模式案例—实现基于数据库的登录验证 7.1.4 单纯的JSP页面开发模式存在的问题与缺点
7.1.1 单纯的JSP页面开发模式简介 单纯的JSP页面编程模式就是只用JSP技术设计Web应用程序,对于含有数据库操作的Web程序是JSP+JDBC相结合的技术。
7.1.2 JSP页面开发模式案例—求和运算 【例7-1】设计Web程序,计算1+2+3+….+100的和值,并在网页上显示结果,运行界面如图7-2所示。
【分析】 该问题,只需要设计一个JSP页面(ch07_1 【分析】 该问题,只需要设计一个JSP页面(ch07_1.jsp),在该JSP中包含java脚本,由Java脚本代码,完成计算求和。 【设计关键】 利用累加算法,而该算法代码在JSP中由Java脚本代码实现。 【实现】 根据功能要求,设计程序ch07_1.jsp,《源代码》 【运行】《执行程序》
【例7-2】设计Web程序,计算任意两个整数之间累加和值,并在网页上显示结果,其运行界面如图7-3(a)和7-3(b)所示。
(2)显示结果的JSP页面(ch07_2_show.jsp) 【运行】《执行程序》 【分析】该问题需要两个网页: ch07_2_tijiao.jsp和ch07_2_show.jsp, 其处理流程是:网页ch07_2_tijiao.jsp提交任意两个整数,而网页ch07_2_show.jsp获取两个数值并计算,然后显示计算结果。 【设计关键】 在两页面间利用request对象实现数据共享(利用shuju1、shuju2存放),并注意数据类型。处理流程如图7-4所示。 【实现】 (1)提交任意两个整数的JSP页面 (2)显示结果的JSP页面(ch07_2_show.jsp) 【运行】《执行程序》
7.1.3 JSP+JDBC开发模式案例 —实现基于数据库的登录验证 【例7-3】利用JSP+JDBC技术相结合,实现基于数据库的登录验证。要求:一个用户的信息有用户名和登录密码,用户信息存放在数据库中。 【分析】采用JSP+JDBC技术,在JSP中实现数据库的连接及其验证操作。 (1)假设已建立数据库:user以及数据库表:user_b,该表中包含两个字段:用户名字:uname char(10)和用户密码:upassword char(10)。 (2)该问题的处理流程是:首先,通过提交页面(ch07_3_tijiao.jsp)提交登录信息;然后进入验证页面(ch07_3_yanzheng.jsp),该页面获取两个登录信息的值,并连接数据库,并实现验证,判定是否已经注册并输入正确的用户名和密码,若已经注册并输入正确,则在网页上显示:“***用户登录成功!”,否则,显示:“***登录失败!”。
【设计关键】该例题的关键是验证页面,在该页面中必须关注:数据库连接的操作、数据库记录的查询操作。 【实现】 (0)创建数据库与数据表 数据库user以及数据库表user_b,两个字段:用户名字:uname char(10)和用户密码:upassword char(10) (1)提交页面(ch07_3_tijiao.jsp) (2)进入验证页面(ch07_3_yanzheng.jsp),并显示信息 【运行】《程序运行》
7.2 JSP+JavaBean开发模式 在开发Java Web应用时,将JSP和JavaBean结合起来,形成了JSP+JavaBean设计模式,也称为JSP Model-1模式。 本节主要内容: 7.2.1 JSP+JavaBean开发模式简介 7.2.2 JSP+JavaBean开发案例——求和运算 7.2.3 JSP+JavaBean+JDBC案例 ——基于数据库的登录验证 7.2.4 JSP+JavaBean开发模式的优点与缺点
7.2.1 JSP+JavaBean开发模式简介 JSP+JavaBean编程模式是JSP程序开发经典设计模式之一,其体系结构如图7-5所示。采用这种体系结构,将要进行的业务逻辑封装到JavaBean中,在JSP页面中通过动作标签来调用这个JavaBean类,从而执行这个业务逻辑。此时的JSP除了负责部分流程的控制外,大部分用来进行页面的显示,而JavaBean则负责业务逻辑的处理。
7.2.2 JSP+JavaBean开发案例 ——求和运算 【例7-4】利用JSP+JavaBean实现求任意两个整数之间的累加和,并显示输出。 【分析】 将计算两个整数累加和值运算操作封装在JavaBean中,JSP引用JavaBean来实现求和及其显示。为此需要的组件有: (1)建立一个JavaBean:ch07_4.Add2.java,给出两个整数属性及求和方法。 (2)设计提交任意两个整数的JSP页面(ch07_4_tijiao.jsp); (3)设计JSP页面(ch07_4_show.jsp),在该页面内获取两个数值,创建JavaBean对象,并调用求值方法计算和值,然后显示和值。
【设计关键】 其关键是<jsp:useBean>标签的使用以及组件之间的数据共享。 【实现】 (1)JavaBean:ch07_4.Add2.java (2)提交页面(ch07_4_tijiao.jsp) (3)求值显示和值(ch07_4_show.jsp) 【运行】《程序运行》
7.2.3 JSP+JavaBean+JDBC案例 ——基于数据库的登录验证 【例7-5】利用JSP+JavaBean+JDBC实现基于数据库的登录验证,其要求和说明与例7-3相同。 【分析】 采用JSP+JavaBean+JDBC技术实现用户登录验证,其中实现数据库的连接及其用户的验证操作封装在JavaBean中,而JSP只实现信息的提交和显示以及利用JavaBean对象调用其业务逻辑处理方法。
【设计关键】 (1)设数据库:user以及数据库表:user_b,该表中包含两个字段:用户名字:uname char(10)和用户密码:upassword char(10)。 (2)建立两个JavaBean:User和ConnectDbase。 User用于存放用户数据,且有一个实现验证信息的方法: boolean yanzheng_uesr(String xm2,String mm2)。 ConnectDbase用于数据库的连接,得到一个连接对象,其方法是: Connection getConnect() (3)处理流程:通过提交页面(ch07_5_tijiao.jsp)提交登录信息;然后进入验证结果显示页面(ch07_5_show.jsp),该页面获取两个登录信息的值,并创建User JavaBean对象,该对象调用User中的方法:boolean yanzheng_uesr(),实现验证,根据返回的逻辑值判定,“true”表示已经注册并输入正确的用户名和密码,则在网页上显示:“***用户登录成功!”,否则,显示:“***登录失败!”。 (4)在JSP中使用<jsp:useBean>标签声明JavaBean。
【实现】 (1)JavaBean:User.java。 (2)JavaBean:ConnectDbase.java (3)提交页面(ch07_5_tijiao.jsp) (4) 验证结果显示页面(ch07_5_show.jsp), 【运行】《程序运行》
7.3 JSP+Servlet开发模式 在JSP+JavaBean编程模式中,JavaBean提供了业务处理,而JSP却具有两种职责:调用执行业务逻辑并负责流程的控制;信息的显示和提交。 现将JSP的两职责独立,让JSP只负责数据的输入(提交请求)和输出(显示请求结果),而业务逻辑和流程的控制Servlet完成,从而形成JSP+Servlet编程模式。 本节主要内容: 7.3.1 JSP+Servlet开发模式简介 7.3.2 JSP+Servlet开发案例 ——求和运算 7.3.3 JSP+Servlet+JDBC开发案例——基于数据库的登录验证 7.3.4 JSP+Servlet开发模式的优点与缺点
7.3.1 JSP+Servlet开发模式简介 在SP+Servlet编程模式,JSP只负责信息的显示,而业务逻辑处理及其流程控制由Servlet实现,其体系结构和流程如图7-7所示。 其处理流程是: (1)客户端在JSP页面中,通过表单提交数据后,进入指定的Servlet; (2)在Servlet中获取提交的信息,进行业务逻辑处理,当处理完成后转向到(或重定位)新的JSP页面或新的Servlet; (3)新的JSP页面(或新的Servlet)实现信息显示或继续处理信息。
7.3.2 JSP+Servlet开发案例 ——求和运算 【例7-6】利用JSP+Servlet实现求任意两个整数之间的累加和,并显示输出。 【分析】 处理流程是:由提交页面(ch07_6_tijiao.jsp)提交两个数据(shuju1,shuju2)给Servlet(ch07_6_servlet_yunsuan.java),通过Servlet计算其累加和值并转向输出结果页面(ch07_6_show.jsp)。 【设计关键】 (1)在Servlet中利用HttpServletRequest对象实现数据共享; (2)在JSP中利用request对象实现数据共享,并注意在本例题中,两者表示同一个对象。 (3)由Servlet如何转向另一个JSP页面或Servlet,如何由JSP跳转到Servlet。
【实现】 该题目有4个组件构成,其中包含一个Servlet的配置文件Web. xml。 (1)提交页面(ch07_6_tijiao 【实现】 该题目有4个组件构成,其中包含一个Servlet的配置文件Web.xml。 (1)提交页面(ch07_6_tijiao.jsp) (2)Servlet:(ch07_6_servlet_yunsuan.java (3)输出结果页面(ch07_6_show.jsp) (4)Web.xml配置信息 【运行】《程序运行》
7.3.3 JSP+Servlet+JDBC开发案例 ——基于数据库的登录验证 【例7-7】利用JSP+Servlet+JDBC实现基于数据库的登录验证,其中,数据库的连接操作和查询操作由Servlet完成。 【分析】采用JSP+Servlet+JDBC技术实现用户登录验证,其中实现数据库的连接及其查询操作在Servlet中实现。 (1)设数据库:user以及数据库表:user_b,该表中包含两个字段:用户名字:uname char(10)和用户密码:upassword char(10)。 (2)处理流程是:通过提交页面(ch07_7_tijiao.jsp)提交登录信息;然后进入Servler(ch07_7_yanzheng.java)实现验证处理,该验证处理从提交页面获取两个登录信息的值,并连接数据库,实现验证,若已经注册并输入正确的用户名和密码,则跳转到页面ch07_7_Success.jsp显示:“***用户登录成功!”,否则,跳转到页面ch07_7_error.jsp显示:“***登录失败!”。
【设计关键】 (1)Servler的处理过程,以及数据库的连接、查询,比较验证以及页面的跳转。 (2)在Servlet中利用HttpServletRequest对象实现数据共享;在JSP中利用request对象实现数据共享,并注意在本例题中,两者表示同一个对象。
【实现】 该题目有5个组件构成,其中包含一个Servlet的配置文件Web. xml。 (1)提交页面(ch07_7_tijiao 【实现】 该题目有5个组件构成,其中包含一个Servlet的配置文件Web.xml。 (1)提交页面(ch07_7_tijiao.jsp) (2)Servlet:ch07_7_yanzheng.java实现验证处理, (3)成功跳转到页面:ch07_7_Success.jsp (4)失败跳转到页面ch07_7_error.jsp (5)Web.xml配置信息 【运行】《程序运行》
7.4 JSP+Servlet+JavaBean开发模式 将JSP+Servlet模式与JSP+JavaBean模式相结合,将业务逻辑处理有JavaBean实现,将控制逻辑由Servlet实现,而JSP只完成页面的显示,从而,形成JSP+Servlet+JavaBean编程模式,该模式常称为JSP的Model-2设计模式。 本节主要内容: 7.4.1 基于SP+Servlet+JavaBean的MVC的实现 7.4.2 JSP+Servlet+JavaBean开发案例——求和运算 7.4.3 JSP+Servlet+JavaBean案例——基于数据库的登录验证 7.4.4 JSP+Servlet+JavaBean案例——学生体质信息管理系统
7.4.1 基于SP+Servlet+JavaBean的MVC的实现 JSP+Servlet+JavaBean编程模式吸取了JSP+Servlet与JSP+JavaBean两种模式各自的突出优点结合而成,完全实现了不同组件的功能分工协作,其体系结构如图7-8所示。
用JSP技术实现信息的提交和显示(V), 用Servlet技术实现控制逻辑(C), 用JavaBean技术实现业务逻辑处理(M)。 将一个系统的功能分为3种不同类型的组件,这种模式常称为MVC模式。
7.4.2 JSP+Servlet+JavaBean开发案例 ——求和运算 【例7-8】利用JSP+Servlet+JavaBean编程,实现任意两个整数之间的累加值,并显示结果。 【分析】 该题目采用JSP+Servlet+JavaBean模式,按其不同的职责,由JavaBean封装业务逻辑处理,计算累加值;由JSP实现信息的提交和运算结果的显示(需要两个页面,提交信息页面,显示结果页面);由Servlet实现由提交页面获取数据,并实施计算,并保存计算结果,然后实现跳转,将计算结果通过显示页面显示结果。假设通过提交页面存放的参数名字是shuju1,shuju2。
【设计】 该程序需要有5个不同的构件组成: (1)一个封装两个数之间累加求和操作的JavaBean; (2)一个Servlet实现数据的获取,运算求值并跳转到输出页面; (3)一个是提交任意两个数的JSP页面; (4)一个是输出结果JSP页面; (5)并有一个对Servlet进行信息配置的配置文件。 其关键是个组件之间是如何实现数据共享,以及如何实现个组件之间的跳转的。
【实现】 该题目有5个组件构成,其中包含一个Servlet的配置文件Web 【实现】 该题目有5个组件构成,其中包含一个Servlet的配置文件Web.xml。 (1)JavaBean:封装两个数之间累加求和操作 (2)Servlet:实现数据的获取,运算求值并跳转到输出页面 (3)提交任意两个数的JSP页面; (4)输出结果JSP页面; (5)Servlet进行信息配置的配置 【运行】《程序运行》
7.4.3 JSP+Servlet+JavaBean案例 ——基于数据库的登录验证 【例7-9】利用使用JSP+Servlet+JavaBean实现基于数据库的登录验证。 【分析】 采用JSP+JavaBean+servlet+JDBC技术实现基于数据库的登录验证,其中实现数据库的连接及其操作在JavaBean中,而通过Servlet实现调用及其流程控制。登录信息由提交页面传递给Servlet,然后Servlet根据验证情况跳转到相应的页面。
【设计关键】 (1)假设已建立数据库:user以及数据库表:user_b,该表中包含两个字段:用户名字:uname char(10)和用户密码:upassword char(10)。 (2)建立两个JavaBean:User和ConnectDbase。 (3)处理流程:通过提交页面(ch07_9_tijiao.jsp)提交登录信息;然后进入Servler(ch07_9_kongzhi.java)实现验证处理,该验证处理从提交页面获取两个登录信息的值,并创建User JavaBean对象,该对象调用User中的方法:boolean yanzheng_uesr(),实现验证,根据返回的逻辑值判定,“true”则跳转到页面ch07_9_Success.jsp显示:“***用户登录成功!”,否则,跳转到页面ch07_9_error.jsp显示:“***用户登录失败!”。
(4)该系统共有7个不同的组件构成: •User用户及用户验证JavaBean; •ConnectDbase数据库连接JavaBean; •提交页面JSP; •显示成功登录JSP; •显示登录失败JSP页面; •实现用户登录信息获取并返回验证值的Serevlet; •Servlet的配置文件Web.xml。
【实现】 该系统共有7个不同的组件构成: (1)User用户及用户验证JavaBean; (2)数据库连接JavaBean; (3)提交页面JSP; (4)显示成功登录JSP; (5)显示登录失败JSP页面; (6)实现用户登录信息获取并返回验证值的Serevlet; (7)Servlet的配置文件Web.xml 【运行】《程序运行》
7.4.4 JSP+Servlet+JavaBean案例 ——学生体质信息管理系统 【例7-10】采用JSP+Servlet+JavaBean+JDBC+MySQL技术开发设计学生体质信息管理系统。 该系统曾在第4章给出了很详细的分析和设计,在第4章中,整个系统采用的是JSP+JDBC+MySQL的编程模式设计的。 在本例题中采用JSP+Servlet+JavaBean+JDBC设计。通过该例题,应理解和掌握这两种设计方式的特点和差异。 (系统的完整代码,见“源代码”部分)
1.系统需求分析 每个学生的基本信息有:学生的学号、学生的姓名、性别、年龄、体重、身高等信息;系统应具有提供学生基本信息的创建、查询、修改和删除等操作功能;系统应具有较好的交互性,便于用户的操作使用。 采用JSP+Servlet+JavaBean+JDBC+MySQL技术开发,实际上就是按不同的职责给系统分工,形成不同的组件,并构建出各组件之间的数据共享及其控制转移。
2. 系统设计 (1)数据库和数据表的设计 该系统涉及一个数据库和一个数据表,在MySQL中创建一个数据库:students,并在数据库students中创建表students_info。数据表的结构如表7-1所示。 字段 中文描述 数据类型 是否为空 id 学生学号 int 否 name 学生名字 Varchar(20) 是 sex 性别 Varchar(4) age 年龄 weight 体重 float hight 身高
(2)系统所需要的JavaBean 第1个JavaBean类——DBConnection (2)系统所需要的JavaBean 第1个JavaBean类——DBConnection.Java类,该JavaBean将数据库连接操作和关闭操作封装起来,在以后的数据库操作中可以直接调用这个JavaBean的方法。 该JavaBean应该包含的方法有: ① 数据库的连接,获得一个连接对象的方法: Connection getDBconnection(); ② 当数据库操作完成后,关闭连接并释放资源的方法: void closeDB(Connection con,PreparedStatement pstm, ResultSet rs) 第2个JavaBean——DbUtil.Java类,这个JavaBean是对数据库表的操作的封装,由于对数据表的操作可以分为两类,查询操作和更新操作,所以需要两个方法: ① 数据库记录的添加、修改、删除方法:int updateSQL(String sql) ② 数据库记录的查询方法:ResultSet QuerySQL(String sql)
(3)系统所需要的Servlet 在该系统中,Servle的具体功能是接受请求数据,并将所接受的请求数据转发给JavaBean模型,形成JavaBean对象,由JavaBeab对象调用方法,完成业务逻辑处理,获取数据处理结果,同时转向到JSP页面或其他Servlet。 该系统需要的Servlet: • 添加记录的insert_Servlet.java • 修改记录的update_Servlet.java • 删除记录的delete_Servlet • 有条件查询记录的query_Servlet.java • 列出全部记录的 find_Servlet.java
3.系统功能模块划分以及每个模块的工作流程 该系统可划分为5个功能模块:学生信息新建模块,学生信息有条件查询模块,列出全部记录模块、学生信息修改模块,学生信息删除模块。 (1)列出全部学生模块及工作流程 该功能模块以表格的形式,将目前数据库中的信息全部显示,以程序find_stu_all.jsp作为该模块的入口。其工作流程如图7-9所示。
(2)按条件查询学生模块 该功能模块是要根据使用者提交的查询条件,完成查询并显示所查询的结果,为了便于用户的操作,系统应该有对输入“空数据”的处理能力,以程序find_stu_tijiao.jsp作为该模块的入口。其工作流程如图7-10所示。
(3)新添加学生模块 该功能模块是向数据库中添加一个新的学生信息,以程序insert_stu__tijiao (3)新添加学生模块 该功能模块是向数据库中添加一个新的学生信息,以程序insert_stu__tijiao.jsp作为该模块的入口。其工作流程如图7-11所示。
(4)按条件删除学生模块 该功能模块根据用户所提供的删除条件,将满足条件的学生从数据库中删除,以程序delete_stu_tijiao (4)按条件删除学生模块 该功能模块根据用户所提供的删除条件,将满足条件的学生从数据库中删除,以程序delete_stu_tijiao.jsp作为该模块的入口。其工作流程如图7-12所示。
(5)按条件修改学生模块 该功能模块根据用户所需要的条件,从数据库中查询到满足条件的学生,并修改其相应的信息,然后,重写数据库,以程序update_stu_tijiao.jsp作为该模块的入口。其工作流程如图7-13所示。
系统所需要的网页与本教材4.3节的案例是一样,详细设计内容请参考4.3节。 4. 系统所需要的JSP页面 系统所需要的网页与本教材4.3节的案例是一样,详细设计内容请参考4.3节。 5.系统实现 (1)数据库students和数据表students_info的创建的 数据库students创建的SQL语句为: create database students default charset=gb2312; 创建表students_info的SQL语句如下: create table students_info (id int,name varchar(20),sex varchar(5),age int, weight float,hight float,)default charset=gb2312;
(2)主页面框架的设计 该应用系统的主页面框架如图7-10所示,由3部分组成:最上方的显示标题部分(index_title (2)主页面框架的设计 该应用系统的主页面框架如图7-10所示,由3部分组成:最上方的显示标题部分(index_title.jap),左边的显示操作菜单的显示(index_stu_left.jsp),右边显示运行界面部分(index_stu_right.jsp),另外,由这3部分组合形成主页面的程序(index_stu.jsp)。 主页面框架源代码. (3)对数据库操作是否成功提示信息的公共页面的实现 (4)公共模块的实现(JavaBean的设计) (5)插入模块的实现 【运行】《运行程序》 说明:这里只给出了插入的完整代码。对于,其他模块,没有给出Servlet的实现。
7.5 JSP+Servlet+JavaBean+DAO开发模式 对于Java语言或JSP,在实现数据库操作时,可以采用将数据库表和普通的Java类映射,将数据表转换为类(对象),然后利用对象实现对数据库的操作。DAO模式就实现了把数据库表的操作转化成对Java类的操作。 本节内容: 7.5.1 DAO模式与数据库访问架构 7.5.2 JSP+Servlet+JavaBean+DAO案例 ——学生体质信息管理
7.5.1 DAO模式与数据库访问架构 DAO模式是进行java数据库开发的最基本的设计模式,就是把对数据库表的操作转化为对Java类的操作。 DAO模式最多是与JDBC、SQL、Hibernate等数据库应用技术结合在一起一同使用。
7.5.2 JSP+Servlet+JavaBean+DAO案例 ——学生体质信息管理 【例7-11】采用JSP+Servlet+JavaBean+DAO+JDBC+MySQL技术开发设计学生体质信息管理系统。 采用DAO开发数据库应用程序,一般需要进行如下的步骤: (1)根据数据库中的数据表结构,分别定义有关的数据JavaBean。 (2)数据访问逻辑使用DAO模块,提供服务,为了使得任何需要访问数据库中数据的逻辑操作都可以以统一的方式使用DAO的对象,一般需要设计数据访问逻辑处理的接口。 (3)根据业务处理要求,设计业务逻辑处理类(可能多个JavaBean)。 (4)调用有关的对象的操作方法,完成所需要的功能。
【分析】采用DAO模式设计系统,主要是JavaBean与DAO之间的数据传递和交换,重点给出Javabean是如何与DAO交换数据,以及DAO与数据库之间的关系。 【设计】该系统需要设计以下有关的组件,主要是设计3个大类和一个接口。 (1)描述学生信息的数据类:Students类 (2)数据库连接和关闭的工具JavaBean类的设计 (3)实现数据库访问和业务逻辑的结合体DAO类:StudentDAO类,该DAO类的实例对象应负责处理数据库记录的基本操作(创建、读取、更新、删除),即完成对CRUD操作的封装。 (4)实现业务逻辑处理的接口:IBookDAO (5)实现数据信息提交、查询、修改、删除等有关操作的JSP网页。
【实现】实现步骤及其代码如下
本章小结 本章是本教材前6章的综合应用,在本章主要介绍了Web开发中,常用的开发模式,以及它们各自的特点和编程方法,主要的编程模式: (1)单纯的JSP页面编程模式。 (2)JSP+JavaBean编程模式。 (3)JSP+Servlet编程模式 (4)JSP+Servlet+JavaBean编程模式 (5)DAO设计模式与数据库访问 通过案例分别给出不同的开发模式的设计思想及实现,特别是对第4章已经介绍的“学生身体体质信息管理系统的开发”分别采用JSP+Servlet+JavaBean开发模式、DAO设计模式重新给出了开发与设计。
上机实习 1.设计任意两个复数实现4则运算(复数加法、减法、乘法、除法)的Web程序。要求采用如下的设计模式: (1)JavaBea+JSP (2)JavaBean+Servlet+JSP 2.设计实现一个图书管理系统。图书信息存放到一个数据库中。图书包含信息:图书号、图书名、作者、价格、备注字段。 要求:基于JSP+Servlet+JavaBean+JDBC+DAO的Web架构设计该系统,进一步了解并掌握如何对数据库进行操作,以及如何分析、设计一个应用系统。 需求要求: 该系统的基本需求是,系统要实现如下的基本管理功能: (1)用户分为两类:系统管理员,一般用户。 (2)提供用户注册和用户登录验证功能;其中一个登录用户的信息有:登录用户名,登录密码。 (3)管理员可以实现对注册用户的管理(删除),并实现对图书的创建、查询、修改和删除等有关的操作 (4)一般用户,只能查询图书,并进行借书、还书操作,每个用户最多借阅8本,即当目前借书已经是8本,则不能再借书了,只有还书后,才可以再借阅。