【JavaWeb实验】图书管理系统

这篇具有很好参考价值的文章主要介绍了【JavaWeb实验】图书管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 第一次写文,做一次小尝试。把一年前学校里面的小作业放上来,供参考

代码将于文末以百度网盘的形式分享出来


一.实验背景:

熟悉并掌握如何编写编写各个页面的参数传递以及jsp基本知识。

1、实验目的

      通过JSP&JDBC的综合运用,掌握服务端Java Web数据库编程的基本原理和常用技术。具体包括:

1、编写Java代码,熟悉并掌握JDBC的使用,包括Connection、Statement、PreparedStatement和ResultSet等对象的使用。

2、掌握JDBC在JSP页面中的综合运用。

3、掌握JSP&JDBC对单表和关联关系表进行CRUD等常规数据操作。

2、实验要求

1. 掌握Web JDBC编程的基本步骤和常用对象应用;

2. 掌握模块开发的基本规范;

3. 写出实验报告。

3、背景知识

       在客户端综合编程实验基础上,结合JSP&JDBC等技术,完成相应的数据显示和操作功能,并调试运行程序

二.实验过程与结果

1.开发登录页面,利用用户表信息实现登录判断,登录成功转向首页,失败给予提示;

思路:登录功能通过request获取到文本框输入的用户名于密码,通过与数据库里user表中比对,如果SQL语句执行的结果集不为空则跳转到导航页面否则跳转到错误页面。

关键代码:

String url="jdbc:sqlserver://localhost:1433;databasename=bookstore";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn=DriverManager.getConnection(url,"sa","cx19991120");
String sql="Select * from user1 where username=? and pwd=?";
PreparedStatement pstm=conn.prepareStatement(sql);
pstm.setString(1,name);
pstm.setString(2,pwd);
System.out.print(sql);
pstm.executeQuery();
ResultSet rs=pstm.executeQuery();
if(rs.next()){
	session.setAttribute("username",name);
	session.setAttribute("pwd", pwd);
	response.sendRedirect("index2.html");
}
else{
	response.sendRedirect("undeveloped.html");
}

运行截图:
javaweb图书管理系统实训报告,java,servlet

 图1-1:登录错误1

javaweb图书管理系统实训报告,java,servlet

 图1-2:登录错误2

javaweb图书管理系统实训报告,java,servlet

 图1-3:登录正确1

javaweb图书管理系统实训报告,java,servlet

 图1-4:登录正确2

2.分别开发针对书籍表、出版社表、书籍类型表和用户表的显示以及增加、更新和删除操作;要求根据实际情况分别采用Statement对象和PreparedStatement对象发送SQL语句;

思路:出版社,用户,以及书籍类型表的显示编辑添加页面的设计思路大同小异,仅仅需要改一些SQL语句,以及列名等基本参数,对于书籍表来说则较为复杂,需要连接三张表,显示页面的话需要根据publishid以及booktypeid连接出版社表以及类型表通过value进而找到对应的名称。同样书籍页面编辑也是比较麻烦,因为需要回显类型以及出版社字段,需要用到checked和selected属性和以前学过的JavaScript知识。

关键代码:

<td>
<select name="book_publish">
  <option value="">--请选择出版社---</option>
 <%while(rs1.next()) {%>
  <option  value="<%=rs1.getString("publishid")%>" <%if(publish.equals(rs1.getString("publishid"))){%> selected <%}%>><%=rs1.getString("出版社名称") %></option>
<%} %>
  </select>

</td>
<td class="firsttd">类别:</td>
<td>
<%while(rs2.next()) {%>
<input type="radio" name="book_type"    value="<%=rs2.getString("booktypeid")%>" <%if(type.equals(rs2.getString("booktypeid"))){%> checked <%}%>><%=rs2.getString("类型名称") %>
<%} %>	
</td>

运行截图:

javaweb图书管理系统实训报告,java,servlet

 图1-5:书籍显示页面

javaweb图书管理系统实训报告,java,servlet

 图1-6:书籍编辑页面1

javaweb图书管理系统实训报告,java,servlet

 图1-6:书籍显示页面2

 javaweb图书管理系统实训报告,java,servlet

 图1-7:书籍删除页面

javaweb图书管理系统实训报告,java,servlet

 图1-8:书籍删除页面2

3. 实现书籍查询功能。

思路:首先需要连接三张表,查询条件用SQL语句的拼接实现,最后回显数据。

关键代码:

String sql = "select a.书号,a.书名, a.作者,a.价格,b.出版社名称 ,c.类型名称,a.出版时间  from book a,publish b,booktype c ";
    sql+="where a.出版社=b.publishid and a.类型=c.booktypeid ";
    String number=request.getParameter("number");
    String name=request.getParameter("name");
    String author=request.getParameter("author");
    String publish=request.getParameter("publish");
    String type=request.getParameter("type");

if(number!=""){
	sql+="and a.书号 like '%" + number + "%'";
}
if(name!=""){
	sql+="and a.书名 like '%" + name + "%'";
}
if(author!=""){
	sql+="and a.作者 like '%" + author + "%'";
}
if(publish!=""){
	sql+="and a.出版社=" + publish +" ";
}
if(type!=""){
	sql+="and a.类型=" + type +" ";
}

运行截图:

javaweb图书管理系统实训报告,java,servlet

 图1-9:书籍查询页面

javaweb图书管理系统实训报告,java,servlet

 图1-10:书籍查询结果

在录屏当中各种情形下的搜索条件都已测试,这里仅展示一种情况。

三、实验分析与总结

(1)实验分析

出版社页面以及书籍页面老师上传了教学视频,跟着视频一步一步走所以没有遇到什么问题。而相对于用户模块和书籍类型模块与出版社模块基本上是照葫芦画瓢,内容仅仅做了一点点修改,途中也没遇到什么问题。但在查询模块遇到了一些问题。

发现问题:在输入查询条件后查询结果集为空。

javaweb图书管理系统实训报告,java,servlet

 图2-1:程序出错图1

javaweb图书管理系统实训报告,java,servlet

 图2-2:程序出错图2

问题缘由:我尝试将SQL语句打印出来,看能不能发现什么问题,于是便发现了端倪,因为查询的思路是如果某个查询条件不为空则给SQL加上对于的条件,但那些文本框为空的值,SQL语句同样也加了进去(刚刚只用了出版社的搜索条件,但其他搜索条件的SQL语句也加了进去),如下图。

javaweb图书管理系统实训报告,java,servlet

 图2-3:程序出错代码

解决问题:所以我判断问题出在了if判断语句,因为文本框什么都不输他的值仍然不为空,所以我将if(**!=null)改换为if(***!=””),结果查询结果正常显示,问题解决。

(2)实验总结

        经过五次实验的磨练,一个趋于完整的书籍后台管理系统基本完成。首先是通过简单的html把每个页面的大致雏形展现出来,再循序渐进的为每个页面增加JavaScript代码,最终用动态的jsp代替先前的静态html。当实验五完成的时候发现,其实每个页面的增删改查功能都是大相径庭,仅仅需要改其中的一小部分就可以搬过来套用。而在不断的实验中,提升的不仅仅是代码能力,而是一种思路,同样自己的改bug能力也在渐入佳境,有的时候不用百度也可以找出错误,但其实这还远远不够。

四.源码

所有原码于同文件夹下的table文件夹中。


百度网盘:
链接:https://pan.baidu.com/s/14qaxEl-a5vjA0jBVAobHPQ
提取码:k642文章来源地址https://www.toymoban.com/news/detail-525609.html

到了这里,关于【JavaWeb实验】图书管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于JavaWeb的图书馆管理系统

    🍅 作者主页:

    2024年02月05日
    浏览(59)
  • JavaWeb图书管理系统课设:全面掌握CRUD操作

    详细介绍JavaWeb图书管理系统的开发过程,包括后端Servlet服务、前端Ajax交互以及MyBatis的增删改查实现,适合初学者巩固JavaWeb知识。

    2024年02月08日
    浏览(48)
  • JavaWeb阶段案例--简易版管理图书系统(增删改查)

      在WEB-INF下创建一个lib包,并导入以下jar包:(导入后,鼠标右键选中lib文件夹,单击“add as lib...”  注:使用Lombok包时,除了需要导入jar包还需要从idea中下载Lombok插件 file -- setting -- plugins -- 搜Lombok -- 勾选上 -- Apply -- OK file -- setting -- Build Exec.....  -- Compiler -- Annotation Pro

    2024年02月08日
    浏览(42)
  • 【javaweb课设源码】图书管理系统SSM Mysql 期末课设

    本系统使用Javaweb技术制作,数据库为mysql 附带论文报告文档

    2024年02月09日
    浏览(38)
  • JavaWeb——基于Spring Boot的图书数字化管理系统的设计与实现

    课程设计总结 随着信息技术的快速发展,数字化管理已经成为各行各业提高效率和管理水平的重要手段。在图书管理领域,数字化管理系统可以有效地提高管理效率,提供更好的用户体验。本项目旨在开发一个基于 Spring Boot 的图书数字化管理系统,为管理员和读者提供便捷

    2024年02月15日
    浏览(66)
  • 【图书管理系统】Servlet+JSP+MySql 实现的一个前后端 javaweb项目(内附源码)

    源码分享在文末! 学习完Javaweb的知识后做了个项目练练手,我选择了经典而且比较简单的图书管理系统。 最近有时间,整理了一下,分享给大家,希望能够帮到你! 基于B/S结构 前端: HTML+CSS+JS +JQuery 后端: Servlet+JSP+MySql 操作系统: win8/win10 JDK: 8.0 开发工具: Intellij IDEA2020.1 旗舰

    2024年02月06日
    浏览(48)
  • 基于javaweb+mysql的jsp+servlet图书图书馆管理系统(java+jsp+layui+bootstrap+servlet+mysql)

    基于javaweb+mysql的jsp+servlet图书图书馆管理系统(java+jsp+layui+bootstrap+servlet+mysql) 运行环境 Java≥8、MySQL≥5.7、Tomcat≥8 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计,大作业,毕业设计,项目练习,学习演示等 功能说明 基于javaweb+mysql的JSP+Servlet图书图书馆管理系统

    2024年02月04日
    浏览(50)
  • 数据库课程设计-学生选课管理系统(实训报告+答辩ppt+源码+sql文件+打包好的程序)springboot项目-javaweb

    作者:ChenZhen 博客地址:https://www.chenzhen.space/ 版权:本文为博主 ChenZhen 的原创文章,本文版权归作者所有,转载请附上原文出处链接及本声明。 如果对你有帮助,请给一个小小的star⭐ 源码加vx : ChenZhen_7 (实训报告+答辩ppt+源码+sql文件+打包好的程序 无套路 免费获取! 不放

    2024年02月11日
    浏览(67)
  • 基于javaweb jsp+servlet实验室设备管理系统的设计与实现

    本系统分为 超级管理员、老师、学生三类角色     超级管理员:通知管理、维护用户信息、实验室管理(负责维护实验室、预约实验室)、设备管理(维护技术参数、维护运行数据、维护电子文档)、设备维修管理(设备保修以及日志记录)、设备借用管理(设备借用以及

    2024年02月08日
    浏览(82)
  • javaweb权限管理简单实现_javaweb管理系统项目

    最近在做一个网站类型项目,主要负责后台,ui框架选型为jquery easy ui,项目架构为spring mvc + spring jdbc,简单易用好上手!搭建好框架后开始了第一个任务,设计并实现一套简单的权限管理功能。 一套最基本的权限管理包括用户、角色、资源。 我的设计如下: 用户:user 角色

    2024年02月02日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包