您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > Web JDBC编程
本篇通过示例介绍基于JSP的Web数据库应用开发技术WebJDBC编程实现CRUD▪示例一▪示例二▪示例三示例一和二针对无关联关系的单表进行操作示例三针对有关联关系的数据表进行操作项目文件:WebDB数据文件:database文件夹内示例1针对无关联关系的单张数据表进行操作部署后首页访问地址:▪Web工程导入JDBC开发包:▪方法一:采用JDBC编程I中导入方式▪方法二:对于Web工程,将JAR包置于WEB-INF/lib目录下即可放在开发目录下/WebRoot/WEB-INF/lib下通过MyEclipse自动部署至服务器中Web应用/WEB-INF/lib下▪其它方法:UserLibrary本PPT示例采用方法二针对一个实现增删改查的功能模块,通常首先开发“显示页面(管理页面)”再依次开发其它页面页面开发基本原则(以管理页面开发为例):▪界面设计人员设计“静态”页面示例WebDB/bookManagement.jsp▪程序开发人员让静态页面“动”起来示例WebDB/book/bookManagement.jsp涉及到JDBC编程的JSP页面导入“java.sql.*”%@pageimport=“java.sql.*”%管理页面book/bookManagement.jsp▪观察页面源码和运行后浏览器所接收显示的内容▪特别是表格内容的显示以及“编辑”和“删除”链接管理页面book/bookManagement.jsp提供了两种“删除”链接实现,实际开发选择“提示再删除”添加处理页面book/bookAddProc.jsp中SQL添加语句的字符串拼接语法▪理解该SQL语句如何构造得出Stringid=request.getParameter(“bookId”);Stringname=request.getParameter(“bookName”);Stringprice=request.getParameter(“bookPrice”);Stringsql=“insertintobook(bookid,bookname,price)values(‘”+id+“’,‘”+name+“’,‘”+price+“’)”;Stringid=request.getParameter(“bookId”);…Stringsql=“insertintobook(bookid,bookname,price)values(‘”+id+“’,‘”+name+“’,‘”+price+“’)”;字符串变量id,name,price的值分别是获取请求参数“bookId”,”bookName”,”bookPrice”值,假定为“004”,“Web”,“100”Stringsql=“insertintobook(bookid,bookname,price)values(‘”+“004”+“’,‘”+“Web”+“’,‘”+“100”+“’)”;Stringsql=“insertintobook(bookid,bookname,price)values(‘004’,‘Web’,‘100’)”;表字段如果是数字类型(本例中,第3个字段“price”为float类型),以下SQL语句都有效:Stringsql=“insertintobook(bookid,bookname,price)values(‘004’,‘Web’,‘100’)”;Stringsql=“insertintobook(bookid,bookname,price)values(‘004’,‘Web’,100)”;因此,若对应表字段为数字类型,程序中以下两种SQL语句的拼接构造方式都有效Stringid=request.getParameter(“bookId”);…Stringsql=“insertintobook(bookid,bookname,price)values(‘”+id+“’,‘”+name+“’,‘”+price+“’)”;Stringsql=“insertintobook(bookid,bookname,price)values(‘”+id+“’,‘”+name+“’,”+price+“)”;待编辑信息页面book/bookEdit.jsp,提交至“编辑处理页面”,表单action=“bookEditProc.jsp?id=%=bookId%”,人为构造了一个名称为“id”的请求参数传递给bookEditProc.jsp页面,其值为当前编辑记录的主键值(“书号”)▪观察学习bookEditProc.jsp页面的处理逻辑代码,理解传递该请求参数的目的JSP页面JDBC编程并未提示要对方法可能产生的异常做处理(或者trycatch或者throw)▪观察JSP页面生成的Servlet,代码块已经做了trycatch处理▪页面中可以不再对异常做人为处理,也可以做人为处理教材bookshop示例中的JSP页面做了针对异常的人为trycatch处理示例中JSP新建时选择的是“Basictemplate”▪以book/bookAdd.jsp为例,页面中表单属性action=“bookAddProc.jsp“,表示跳转至相对当前URL(简单理解:当前目录)下的bookAddProc.jsp,表单提交后跳转结果正确▪试验:该JSP页面新建时选择“Advancedtemplates”,观察表单提交后的跳转结果,并理解原因高级版本自动加入了“基地址”,关于“基地址”作用,参考HTMLIPPTP41项目文件:WebDB2数据文件:database文件夹内示例2针对无关联关系的单张数据表进行操作针对增删改等操作采用PreparedStatement对象发送SQL语句▪PreparedStatement发送SQL用法参考JDBC编程IIPPT部署后首页访问地址:▪项目文件:WebDB3示例3针对有关联关系的数据表进行操作数据文件:database2文件夹内▪数据表采用自增字段做为主键▪book表的cbs字段存储的是publisher表的主键值针对增删改等操作采用PreparedStatement对象发送SQL语句部署后首页访问地址:▪管理页面book/bookManagement.jsp▪SelectSQL的编写添加页面book/bookAdd.jsp▪该页面中出版社列表框各项数据从publisher表读取生成编辑页面book/bookEdit.jsp▪从publisher表读取生成出版社列表框各项数据时,需要把与“待编辑书籍所属出版社”相匹配的项置于“选中”状态
本文标题:Web JDBC编程
链接地址:https://www.777doc.com/doc-3999714 .html