JAVA教材管理系统课程设计报告.doc

上传人:e****s 文档编号:61748282 上传时间:2022-11-21 格式:DOC 页数:29 大小:1.32MB
返回 下载 相关 举报
JAVA教材管理系统课程设计报告.doc_第1页
第1页 / 共29页
JAVA教材管理系统课程设计报告.doc_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《JAVA教材管理系统课程设计报告.doc》由会员分享,可在线阅读,更多相关《JAVA教材管理系统课程设计报告.doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、教材管理系统课程设计报告专业:信息管理与信息系统班级:信息053学号:0522200073姓名:王子雄目录1 引言31.1 文档编制目的.31.2 背景.31.3 开发环境.31.4 安装和配置.41.5 参考资料.42 总体设计.42.1 软件体系结构.42.2 系统运行体系2.3 系统物理结构2.4 业务流程3 系统实现详细设计.53.1 数据库的设计.53.2 表的设计.53.3 逻辑层的设计3.4 用户角色3.5 模块分析3.6 表达层设计4 系统功能实现.74.1 登陆界面.74.2 班级界面.84.3 订单界面 94.4 图书界面 .104.5 操作界面.114.6 实现代码.12

2、5 设计实现具体过程.195.1 图书信息代码.195.2 班级信息代码.195.3 订单信息代码.195.4 用户信息代码.195.5 管理信息代码.206 设计总结.2教材管理系统分析与设计 文档编制目的本系统是基于J2EE的设计方案,使用表示层,逻辑层和数据层三层模式。使用B/S模式,大大减低了服务端的数据处理任务。提供了高性能的处理速度,降低数据库的运行时的开销。使用MS SQL Server 2000作为数据库,使用JBoss作为EJB容器,使用JBoss内置Tomcat作为JSP容器和EJB容器。数据库层使用EJB和JDBC与底层数据库进行交互,逻辑层封装在EJB类中,表示层由JS

3、P实现。3背景本系统使用MS SQL Server Tomcat,可以从网上免费得到其正式的发行版本,而MS SQL Server 是当前使用得最广泛的数据库,其性能,安全性等方面都有很好的保证。Tomcat虽然是开源软件,但许多大型网站也因其稳定的性能和出色的性能而选择它作为专业的JSP容器和EJB容器。由这两者组成的整个系统的底层框架,既能节省开支,配置过程也相对简单。服务器端使用三层体系结构,将业务逻辑从表示层中抽出,使页面,业务逻辑和数据库开发互相独立,并行地进行,这样可以大大减少开发时间。同时这种设计方法降低了三层之间的耦合层度,日后对某一层的修改,扩充时,对其他层可以只产生很小的影

4、响4。使用面向对象技术,将各个角色(一般用户,图书管理员,系统管理员)封装成类,这样能帮助程序员更直观地去理解整个业务流程,将重点放在业务逻辑的处理上,降低了开发难度,这样也便于将来的扩展。(1)在逻辑层实现了一个简单的日志记录系统,可以将任何信息记录到指定的日志文件中,方便服务器程序的跟踪和调试,同时可以记录一些重要的事物信息(比如管理员登陆,重要信息的删除等),以便将来需要时查询。(2)逻辑层实现时使用事务(Transaction)保证数据的完整性。(3)服务器端采用数据库,事务逻辑,用户截面相互独立的结构,各个模块自身扩充方便,且互相之间耦合度非常低,对逻辑层稍做扩充就可以实现一个功能更

5、完善的系统。(4)使用单例模式(Singleton Design Pattern)设计逻辑层,大大降低数据库运行的开销。总体来说,本系统是基于J2EE的设计方案,使用表示层,逻辑层和数据层三层模式。使用B/S模式,使用MS SQL Server作为数据库, Tomcat作为JSP容器和EJB容器。数据库层使用JDBC和实体Bean与底层数据库进行交互,逻辑层封装在EJB类中,表示层由JSP实现。本章主要介绍J2EE开发环境的搭建。介绍J2EE对运行环境的要求。讲述J2EE开发和运行环境的安装配置,并且介绍当今流行的J2EE运行环境的安装和配置,以及集成开发环境的设置以及数据库的安装和配置。对硬

6、件条件和操作系统的要求J2EE环境在多数开源软件支持下对硬件要求不是很高,所以开发成本比较低,比如CPU只要求使用P800或更高级别的处理器;内存大概128MB及其以上水平。由于Java具有跨平台的特点,所以只要能够安装JDK,就能在此安装JSP服务器和EJB服务器。JSP服务器和EJB服务器能够运行在目前绝大多数的操作系统上,目前在普通用户中用到的系统绝大多数为Windows系列和UNIX系列11。对软件环境的要求要使用J2EE,在服务器端和客户端都必须有对应的运行环境。服务器端主要是Servlet兼容的Web服务器和EJB服务器,客户端主要是浏览器,如表2-1所示。表2-1 对软件环境的要

7、求Web浏览器任何支持HTML TABLE和FORM元素的浏览器,浏览器应支持如下HTML:Frames;Cookie;Tables客户端的图片映射文件上载续表2-1Web服务器和EJB服务器A Apache Web Server ATG Dynamo ApplicationBluestone SapphireResin EJB服务器Web Logic数据库Oracle Sybase Microsoft SQL Server 2000InformixDB2Mysql Microsoft AccessJava Developer Kit(JDK)Jdk_04JJdk1_4_2-unixJdk1_

8、4-os2安装和配置JDKJDK中包含了Java开发中必需的工具和Java程序运行环境(JRE)。可以从SUN公司网站。JDK的安装特别简单,和安装应用程序软件没什么区别,不过JDK的安装路径一定要设好,方便以后环境变量的设置。安装好JDK后,还需要在环境变量中进行对应的配置。就以本次毕业设计为例。JDK安装在D:Program FilesJavajdk_04。 主要进行以下配置: (1)设置JAVA_HOME环境变量 (2)设置CLASSPATH环境变量 (3)更新PATH环境变量的值JAVA_HOME表示Java安装目录,其他的应用程序如果需要使用Java运行环境,首先获得JAVA_HOM

9、E变量的信息,然后确定执行的路径。在鼠标右键单击“我的电脑”,在属性栏的高级选项中可以选择环境变量的设置,新建一个系统变量或者用户变量,名称为JAVA_HOME,它的值为D:Program FilesJavajdk_04,如图2.1所示。 JAVA_HOME变量设置然后建立一个CLASSPATH的变量,它表示搜索Java类的路径,这个路径可以包含一些Jar归档文件,也可以是一个目录。在应用程序执行是,往往会动态地在CLASSPATH中添加一些自己需要的路径。在本机上CLASSPATH的值为“.;D:Program FilesJavajdk_04libtools.jar;D:Program Fi

10、lesJavajdk1.5.0_04libdt.jar;” (.;一定不能少),如图2.2所示。 CLASSPATH变量设置当以上都配置好了,我们可以测试下Java环境3是否配置成功。我们可以在运行中进入命令提示符cmd下面。输入java version回车,看是否能看到当前JDK的版本。如果看见就配置成功了。安装和配置TomcatTomcat服务器是当今使用最广泛的Servlet/JSP服务器和EJB服务器。它运行稳定,性能可靠,是学习和中小企业的最佳选择,而且是开源程序,下载免费,大大降低系统的开发成本。安装也很方便。本次设计Tomcat安装目录是D:Programfiles安装完成以后,

11、把Tomcat里面的类包(*.jar文件)包含到环境变量的CLASSPATH里面。这些Jar文件都在D:Programfilesjboss-.SP1lib目录下。Microsoft SQL Server 的配置本节不对SQL Server的安装做过多的赘述,本节介绍如何让SQL Server能加入到JSP运行的集成环境中来。当安装好SQL Server程序之后,由于JSP要与SQL Server集成,进行对数据库的操作,就必须下载Microsoft SQL Server 2000 Driver for JDBC的驱动,微软的官方网站提供免费下载。安装该程序之后,把安装目录里面lib下面的3个驱

12、动jar文件拷贝到你所开发的JSP程序目录下面的WEB-INF文件夹下面的lib文件夹下。这3个文件分别是:mssqlserver.jar;msbase.jar;msutil.jar。然后在环境变量的CLASSPATH变量里面包含这3个文件的初试路径。这样我们就可以在以后的程序开发过程中,调用Bean文件或者通过Servlet来进行对数据库的连接和操作9。值得注意的是如果是老版本的SQL Server,可能会出现与JBoss和Tomcat和JSP连接失败的故障,你可以通过Telnet 127.0.0.0:1433指令来测试数据库的连通性,在本次设计时这个问题出现过,如果连接失败,就应该给SQL

13、 Server打Service patch 3和Service patch 4补丁。一般这个问题打上SP3和SP4补丁就基本能够解决,而且Telnet也会成功。本次设计的这个问题也是这么解决的,如图2.6所示。图 SQL Server的JDBC驱动2.总体设计根据对教材管理系统流程的分析及客户的要求,整个系统需要实现以下功能。软件的整体功能,系统要操作简单,要有友好的界面,系统的操作者的权限层次要有明确的分类,进入软件时要进行身份验证。而且出于用户需求的规订,图书信息、班级信息、订单信息只能由图书管理员管理,一般用户只能查阅图书信息。这样使的系统更具有人性化,因为系统中三个角色之间没有联系,所

14、以设置三个独立操作的角色对象。(1)一般用户角色能进行的对象操作可以联机注册成为用户,设定自己的登录名及密码。可按图书名和图书号自定义查询。(2)图书管理员角色管理图书信息。管理班级信息。管理订单信息。(3)系统管理员角色有固定的账号,直接在数据库添加,不能注册成管理员,可以添加和删除一般用户帐号,对一般用户进行管理。但不能管理图书信息、班级信息、订单信息满足图书管理系统的权限配置。数据库层-逻辑层-表示层三层结构 服务器端三层结构及之间的关系,如图3.1所示。JDBC+实体BeanServlet+JavaBeanJSPSQL Server三层结构角色模块设计-设计模式整个系统中有三种用户:一

15、般用户、图书管理员、系统管理员,他们之间没有相互的操作,因此可以封装到各自的类中去。通过实体Bean和会话Bean实现对数据库操作和实现业务逻辑。与数据库的连接本例使用EJB的数据源实现实体Bean对 MS SQLSERVER2000访问。在JBoss Server/default/Deploy下配置EJB服务器加载MSSQLDS数据源,如图3.2所示。图3.2 MSSQLDS数据源系统物理结构根据系统所要求实现的功能要求,不同的用户具有不同的操作权限,本系统主要划分为三大用户模块:一般用户,图书管理员,系统管理员所示。登录注销一般用户图书管理员系统管理员注册查询教材查询订单修改教材删除定单添

16、加管理员删除管理员查询教材查询班级修改班级删除班级删除图书图 系统功能模块划分业务流程已注册未注册根据现实的教材管理业务流程,以及根据系统功能模块的分析,规划出该系统的业务流程图,如图3.4所示。是是否否是是是否登录系统输入账号,密码输入注册信息注册成功预定取消预定成功登录成功一般用户图书馆管理员系统管理员定单信息图书信息班级信息用户信息删除存在?输入确?已登陆?输入正确?充足教材?查询定单信息查询教材信息预定预定成功?是是否否是图 业务流程图。3.系统实现与详细设计数据库设计当一个系统涉及数据库时,其运行效率、冗余程度、可靠性、稳定性等评价指标除了与上层的代码有关外,更多地会受到低层数据库效

17、率的影响。因此,一个好的数据库设计能够让你的系统跑的更顺畅、稳定5。设计思路一、确定各实体间的关系首先确定各个实体之间的相互关系,这是设计好一个数据库的基础。实体之间的关系图,如图所示。一般用户图书管理员系统管理员查询图书信息班级信息定单管理管理n111mn图4.1 实体关系图二、将实体和关系转化为表将各个角色的所有信息分别放在独立的表中,其中包括该角色的全部信息。选定一个字段作为主键,这个字段存储的信息在整个表中两两必须相异,比如本次设计中,图书编号(Book ID)等。如果表中没有此类信息,可人为加入惟一的ID用于标志,比如本次设计中的List ID ,Class ID,User ID等。

18、三、主键是唯一的依赖性保证表中其他字段只与主键有关系,如果一组信息同时与一个以上的表或者一个表中一个以上的字段有关系,则必须将这组信息抽出去独立构成一张表。四、指定索引对所有会成为查询关键字的字段进行索引,以提高查询效率。表的设计一、用户表(user)用来存储用户个人信息,其中“Password”字段在记录插入时与“ID”字段信息相同,因此用户在第一次登录后应该及时地更改自己的密码,如表4.2所示。表 用户表结构字段名类型备注约束条默认值UserIDVarchar(50)用户编号PKPasswordVarchar(50)登录密码Not NullLevelInt(4)操作权限Not Null1二

19、、图书表(Book),如表4.3所示。表 图书表结构字段名类型备注约束条件默认值BookIDVarchar(50)图书编号PKBookNameVarchar(100)图书名Not NullAutherVarchar(50)作者索引PublisherVarchar(100)出版商PbdateDateTime出版日期PriceFloat售价Not NullDetailVarchar(200)简介 三、预定记录表(List)预定记录表记录了图书管理中的预定图书信息,以bookname字段与book表建立关系,以classname字段与class表建立关系。当finished字段设为“1”时,逻辑层将

20、不能对记录进行修改,只能查询,如表4.4所示。表 订单记录表结构字段名类型备注约束条件默认值ListIDVarchar(50)订单号PKClassName Varchar(100)班级名索引MenbersInt(4)班级人数BookName Varchar(100)图书名PriceFloat(8)图书售价LnumberInt(4)预定数量LdateDateTime(8)预定日期Finished Int(4)预定是否结束1-是 0-否0四、班级表(Class),如表4.5所示。表 班级表结构字段名类型备注约束条件默认值ClassIDVarchar(50)班级编号PKClassName Varch

21、ar(100)班级名索引MenbersInt(4)班级人数Not NullCdateDateTime(8)入学日期 表关系图系统使用的数据库表有如下联系,如图4.6所示。图 表关系图在SQL Server的Final数据库中的关系图中,新建关系图,把所有要用到的表添加进去,然后根据下表的关联进行操作,就可以生成上面的关系图。各表之间的关系,如表4.7所示。表表名字段名关联表关联字段bookbooknameListbooknamebookpriceListpriceclassclassnameListclassnameclasstmenbersListmenbers值得注意的是与字符串尤其是中文

22、字符串相比,数据库在处理字符、数字上更有效率,因此一些复杂度有限的字符串数据应该设计成字符或数字类型,并与字符串建立一一对应的关系,而把转换工作交给逻辑层去处理。代替数据库字符串可以带来性能上的提高。逻辑层的设计逻辑层包结构设计逻辑层的设计是本次毕业设计的重点环节,根据三层结构,逻辑层封装了系统能够执行的所有机制和程序,以及对数据库的操作。用户只要在表示层里面调用逻辑层内相映的CLASS文件就可以了,这些类文件都存放在/WEB-INF/CLASSES下面,以及发布的EJB包中。而且程序只要编译一次,就可以多次使用2。本次设计的逻辑层Bean文件的存放路径,如图4.8所示。图 设计包内容(1)T

23、eachingM2包概述整个逻辑层都封装在TeachingM2包中。(2)TeachingM2.db包的概述TeachingM2.db封装了整个系统用于完成基础功能的类,如数据库连接、日志记录等。TeachingM2.db.Util:辅助类,用于完成一些JSP中常用的功能。TeachingM2.db.InitServlet:初始化整个Servlet环境。TeachingM2.db.DBconnection:与数据库建立连接,返回Connection对象。TeachingM2.db.Debug:记录日志,将信息写入指定的日志文件中。(3)TeachingM2TeachingM2.db.dbope

24、ration包封装了所有与用户角色有关的模型。其中DBOperation类是一个抽象类,用于建立用户模型,供具体角色(Admin、CommenUser、Manager)继承。TeachingM2.db.dboperation.DBOperation:建立用户的抽象模型,供子类继承。TeachingM2.db.dboperation.Admin:继承DBOperation,定义系统管理员模型。TeachingM2.db.dboperation.CommenUser:继承DBOperation,定义一般用户。TeachingM2.db.dboperation.Manager:继承DBOperati

25、on,定义用户模型。TeachingM2.db.dboperation.InvalidUserException:继承自Exception,用以封装一个表示“非法用户名”的异常。与数据库建立连接类DBConnection本类位于TeachingM2.db包中,由于Connection是一个非常耗资源的对象,因此在这里使用单例模式来设计DBConnection类,保证了整个生命周期内只存在一个Connection对象,该对象可以被其他类重复利用,这样可以大大节省系统资源。下面是DBConnection类的部分代码的说明。 package TeachingM2.db;import java.sql

26、.*;import TeachingM2.db.*;/*本类用于与数据库建立接*/public abstract class DBConnectionprivate static Connection conn=null;/* 与数据库建立连接,返回值Connection对象*/public static Connection getConnection()String CLASSFORNAME=com.microsoft.jdbc.sqlserver.SQLServerDriver;String SERVANDDB=jdbc:microsoft:sqlserver:/127.0.0.1:14

27、33;DatabaseName=Final;/*调用JDBC驱动,以及定位TeachingM2数据库*/String USER=sa;String PWD=tiantang; /数据库管理员sa帐号和密码tryClass.forName(CLASSFORNAME); conn=DriverManager.getConnection(SERVANDDB,USER,PWD); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); Debug.log(Conne

28、ction created.); /连接成功,写入LOG文件catch(Exception ex)Debug.log(Debug.getExceptionMsg(ex); /连接抛出错误,也写入LOG文件return conn; 该程序中一些关键的原理值得说明一下。将类定义为抽象类防止被实例化,这样可以保证内部封装的Connection对象只能用该类定义的静态方法(getConnection())来访问。将内部的Connection对象“conn”定义为静态私有变量,保证整个生命周期只有一份“conn”实例存在,且不能被其他类直接访问。数据库服务器为了保证资源被充分利用,会设定一个连接保持时限

29、,当一个连接时限内与数据库没有通信时,会被服务器关闭。而“Debug.log()”是定义在Debug类中的静态方法,用来将信息存入日志文件。关于包中其他类的介绍和说明本节不在赘述,源程序见附录。用户角色(1)图书管理员模型Manager角色本类位于TeachingM2.db.dboperation包中,Manager类封状了管理员角色可执行的所有操作。比如登录,查询患者病历,修改病历等操作。每个对象对应一个可执行操作。(2)系统管理员模型Admin角色本类位于TeachingM2.db.dboperation包中,admin类封状了管理员可执行的所有操作,根据下图,每个对象对应一个操作。(3)

30、一般用户CommenUser角色本类位于TeachingM2.db.dboperation包中,CommenUser类封装了患者角色可执行的所有操作。比如登录,查询图书信息,等操作。在编写程序时,每个对象就是一个操作。如addCommenUser()就是针对新用户注册的一个公有对象。模块分析(一) 图书信息模块图书信息模块主要集成图书管理的主要功能和操作,如图4.9所示,详细代码见附录。图图书信息模块是本系统的主模块,完成了图书信息的添加,删除,修改和查询功能。并完成图书信息的显示。(二) 班级信息模块班级信息模块主要集成班级管理的主要功能和操作,如图4.10所示,详细代码见附录。图图书信息模

31、块是本系统的主模块,完成了班级信息的添加,删除,修改和查询功能。并完成班级信息的显示。(三) 订单信息模块订单信息模块主要集成订单管理的主要功能和操作,如图4.11所示,详细代码见附录。图4.11 设计包订单内容图书信息模块是本系统的主模块,完成了图书信息的添加,删除,修改和查询功能。并完成图书信息的显示。(四) 辅助功能模块辅助信息模块主要集成辅助管理的主要功能和操作,如图4.12所示,详细代码见附录。图辅助功能模块完成用户信息的检测和登录功能,以及新用户表达层设计表达层设计概述表示层是信息系统的用户接口部分,即人机界面,是用户与系统间交互信息的窗口,主要功能是指导操作人员使用界面,输入数据

32、、输出结果。它并不拥有企业逻辑,或只拥有部分不涉及企业核心机密的应用逻辑8。当逻辑层编写完毕,只剩下最后一项工作,允许用户以适当的方式通过逻辑层与数据库层交互,而这正是表示层的工作。这里就要通过功能完整的JSP代码和HTML代码来整合。所以下面将JSP页面与逻辑层的整合过程中的重要部分。(1)声明部分这个部分用“”包括,用于设定一些于JSP页面有关的信息。一般第一行定义了页面所使用的字符集,中文界面11一般使用GB2312;接下来使用 定义页面需要导入的包,即“import”语句,本次设计中一般被用到的包有:“TeachingM2.db.*”、“TeachingM2.db.dboperatio

33、n.*”、“java.sql.*”。(2)HTML设计部分这部分更多地使用HTML代码把表格搭建出来并进行美化。一般使用HTML中的form标签、table标签和div标签以及辅助action属性来搭建框架和美化。其中加入“”的JSP代码段,使得实现动态页面。(3)页面数据处理这个部分是整个JSP页面的核心部分,负责关于系统的权限检查,从页面收集数据、对数据库进行操作、检测操作结果等。(4)释放数据库资源当所有操作都完成,用户结束操作或关闭界面,系统调用DBOperation类中的“closeConnection()”方法来释放数据资源。表达层设计中使用的几大JSP对象Request对象该对象

34、封装了用户提交的信息,通过调用该对象相应的方法可以获得封装的信息,即使用该对象可以获取用户提交的信息。 如request.getParameter()方法可以获取该表单通过text提交的信息。、Response对象该对象封装了对客户的请求做出的动态的响应,向客户端发送数据。如response.sendRedirect()方法来实现客户的重定向,就是当用户进行了之前的操作,就会使用这个方法来跳转到别的页面。Session对象它是在第一个JSP页面被装载时自动创建,完成会话期间的管理,当会话结束,session自动释放。如session.getId()方法是获取Session对象编号。Applic

35、ation对象服务器启动后就产生了这个Application对象,当客户在所访问的各个页面之间浏览时,这个Application对象都是同一个,直到服务器关闭。如application.setAttribute(String key)方法是获取application对象中含有关键字的对象。其他对象在JSP几大内置对象8中,还有Out,Cookie,Config,Page和Exception等,但在本次设计中不是很常用,所以不在赘述。本次设计的系统,有三个用户角色,每个角色都是独立的操作。所以这次设计针对每个用户的操作界面即每个用户独立操作的表示层。三个文件夹中分别放了每个用户独立操作的JSP页

36、面。比如User文件中的UserA用户信息的JSP文件。所有的JSP文件名简单好懂,一目了然,便于再次开发的时候方便设计。4.系统功能实现由于系统有3个角色模型,每个角色的模型都有很多执行操作,介绍繁杂留给用户自己体验。所以本节介绍一些基本的用户操作来实现基本的功能。一、打开IE输入 :/localhost:8080/进入系统登录界面,如图所示。二、选择用户进行登录,点击左边导航链接进行操作。下图是管理员主界面,其他角色用户登录也是一样,如图所示。三、当管理员登录成功以后,会回到主界面,再点击图书信息,就可以看见下面出现很多操作条目,点击其中的条目进行图书管理必须的操作。比如查询图书,增加,删

37、除,修改等,如图所示。当一般用户点击书号查询,就进入查询界面。选择合适的图书进行查询,四、只有系统管理员可以使用用户管理模块。并且可以增加,删除,修改,用户信息,一般主要用来设置用户的权限,如图所示。五、订单信息的查询修改,如图:六班级的信息,如图:到这里,该系统的基本功能设计和界面操作基本介绍完毕,整个系统操作简单,界面友好,根据左边导航栏,用户的操作一目了然,基本不存在难度。而且功能也基本实现,而且移植性高,只要重新编译TeachingM2.db包下面的DBConnection.java文件即可。当然数据库的移植也要匹配。所以本次系统设计的功能基本成功,但还有待进一步的提高和深化。5.设计

38、实现的具体内容这一部分只列举代表性文件的源代码:其中Main.jsp为系统的首页,是系统的总纲性文件。BookInfo.jsp文件是图书信息模块的主要文件。用于动态显示所有图书信息。BookQuery.jsp是查询功能的代表性文件。详细BookAdd.jsp BookDel.jsp BookMod.jsp 文件分别实现增加、删除和修改。*Add.jsp *Del.jsp *Mod.jsp 分别是对应模块的相应功能。所有详细代码在设计文档的TeachingM2文件夹中。一 添加图书代码:%request.setCharacterEncoding(GB2312);type = request.ge

39、tParameter(type);if (type != null) String bookid1 = request.getParameter(bookid);String bookname1 = request.getParameter(bookname);String auther1 = request.getParameter(auther);String pbate1 = request.getParameter(pbdate);Float price1 = Float.valueOf(request.getParameter(price);String publisher1 = r

40、equest.getParameter(publisher);String detail1 = request.getParameter(detail);String sql1 = insert into book (;String sql2 = values(;if (bookid1 != null) sql1 += bookid,;sql2 += + bookid1 + ,;if (bookname1 != null) sql1 += bookname,;sql2 += + bookname1 + ,;if (auther1 != null) sql1 += auther,;sql2 +=

41、 + auther1 + ,;if (pbate1 != null) sql1 += pbdate,;sql2 += pbate1 + ,;if (price1 != null) sql1 += price,;sql2 += price1 + ,;if (publisher1 != null) sql1 += publisher,;sql2 += + publisher1 + ,;if (detail1 != null) sql1 += detail,;sql2 += + detail1 + ,;sql1 = sql1.substring(0, sql1.length() - 1);sql2 = sql2.substring(0, sql2.length() - 1);sql1 += );sql2 += );

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 工程图纸

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁