java课程设计-图书管理系统-MVC开发模式_第1页
java课程设计-图书管理系统-MVC开发模式_第2页
java课程设计-图书管理系统-MVC开发模式_第3页
java课程设计-图书管理系统-MVC开发模式_第4页
java课程设计-图书管理系统-MVC开发模式_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

长 春 大 学 课程设计纸 共 21 页 第 1 页 装 订 线 目 录 一 设计目的 第 2 页 二 功能介绍 第 3 页 三 程序流程 第 4 页 四 设计步骤 第 5 页 五 设计总结 第 6 页 六 程序清单 第 7 页 长 春 大 学 课程设计纸 共 21 页 第 2 页 装 订 线 一 设计目的 此次的课程设计是图书管理系统 它的产生可以方便用户进行操作 以减少用 户的误操作 作为一个软件 功能是第一要素 所以 我此次的设计以功能为主 在美工和页面的设计并没有什么要求 通过此次课程设计 增加了我们理论联系实际和解决实际问题的能力 也使我 们对 JAVA 这门语言有了更深的了解 使我们可以用最简单 便捷的语言和方法实现 相同的功能 深刻明白了其优越性 同时也提高了我们的学习 JAVA 的兴趣 给我们 以后学习 工作打下坚实的基础 二 功能介绍 此次设计的要求有如下六个功能 1 具有新用户注册功能 2 具有注册用户登录功能 3 具有图书信息的录入功能 4 具有借出和归还登记功能 5 具有数据查询功能 可以实现查询全部信息和按条件执行查询 6 具有按条件删除数据功能 首先 我们实现注册和登录功能 进入系统软件后 可以进行一下操作 三 程序流程 进入系统首页 登录 注册 图 书 信 息 录 入 功 能 图 书 借 出 登 记 功 能 图 书 归 还 登 记 功 能 模 糊 查 询 图 书 并 且 删 除 长 春 大 学 课程设计纸 共 21 页 第 3 页 装 订 线 此次 JAVA 课程设计 我采用的是 MVC 开发模式 具体内容如下图所示 1 首先 在 JSP 页面有一个 form 表单 里面存有需要使用的参数供增删改查 使用 当我们通过 submit 按钮提交表单时 它会寻找 action 属性值 走到 web xml 在 web xml 中 通过查找到与 action 属性值相同的值 再通过标签中值 找到相应的 跳转到相应的 servlet 中 2 然后 在 servlet 中 把从 JSP 页面接收到的参数封装到 useBean 中 为了 减少传递给 JavaBean 的参数 通过实例化一个 JavaBean 对象 调用其方法 进行 一些连接数据库的操作 3 JavaBean 包含一些增删改查的操作 进行业务处理 连接到数据库中 最 后把操作的结果返回给 servlet 中 4 Servlet 判断返回的结果 如果成功就跳转到成功页面所对应的 JSP 如果 失败 在返回 form 表单所在的页面 重新进行操作 四 设计步骤 1 需求分析 在课程设计之初 最重要的是需求分析 要深入了解所有的业务及其流程 才 能在编码时减少误区和编码时间 了解完成所要实现的功能之后 需要考虑设计所 需要使用的开发工具 这对不同规模的问题 采取的开发模式 服务器 数据库都 是不一样的 我们的设计相对比较简单 所以 选择了 tomcat5 0 作为图书管理系统所需要 长 春 大 学 课程设计纸 共 21 页 第 4 页 装 订 线 的服务器 mysql 作为数据库 mysql 是免费的 符合设计真实情况 myeclipse 作 为开发工具 360 浏览器作为测试的工具 同时使用 JSP 书写 web 页面 javascript 进行简单的校验 采用 ajax 提交异步请求 实现一些相对特殊的功能 这次设计的数据库名称时 javacourse 它包含三张数据表 具体如下所示 i user 管理员表 ii book 图书表 iii borrowbook 借书记录表 2 详细设计 当已经对业务有了深入的了解之后 开始进行功能流程的详细设计 我们可以 通过图纸等工具 策划出设计的功能 如功能介绍所示 3 编码阶段 准备工作已经完成 我们可以正式进入编码阶段 i 创建一个 web project JavaCourse 并把其发布到 tomcat 中 长 春 大 学 课程设计纸 共 21 页 第 5 页 装 订 线 ii 配置连接池 连接池技术可以预先建立一定的连接 当我们进行数据 库访问时 直接取得连接池中的空闲链接可以减少对数据库的链接操作 很好 的减轻了数据库的负担 iii Context ctx new InitialContext 实例化上下文对象 DataSource ds DataSource ctx lookup java comp env JavaCourse 找到JNDI数据源 并且返回数据源对象 iv 同时 我们还需要在tomcat服务器下配置JNDI数据源 具体的配置如下 图所示 v 登录功能 a 书写 JSP 页面代码 JSP 页面是动态的 web 页面 通过一些提交 操作可以进行数据库访问操作 而 form 表单又是提交的核心控件 其代 码如下 用户名 密码 通过以上代码我们可以观察到 当我们点击登录按钮时 它会使用 userlogin 提交请求 到 web xml 里面寻找所要使用的 servlet b 配置 web xml web xml 是 web project 的核心文件 它配置了该工程的一些配置信息 当我们启动服务器时 会首先读取 web xml 了解工程的基本信息 登录的请 求配置如下 userlogin servlet userlogin userlogin userlogin 此时 服务器就知道登录功能需要跳转到 servlet login 这个 servlet 文件中 c 编写 servlet servlet 可以接收表单传过来的参数值 进行对 数据库的操作 因为我采用的是 MVC 的开发模式 所以使用了 javabean 单独作为连接数据库的操作 自然需要在 servlet 中创建一个 javabean 的对象 调用其相应的函数 代码如下所示 长 春 大 学 课程设计纸 共 21 页 第 7 页 装 订 线 String uname request getParameter username String pword request getParameter pword response setContentType text html charset UTF 8 User user new User user setUsername uname UserLoginJavaBean login new UserLoginJavaBean ResultSet rs login getUser user d 编写 javabean javabean 里面封装了调用数据库的方法 可以 进行增删改查操作 其中 使用了连接池进行操作 代码如下 public class UserLoginJavaBean public ResultSet getUser User user String sql select username password from user where username user getUsername Conn conn new Conn ResultSet rs conn query sql return rs e 判断结果 实现页面跳转 实现登录功能 我们必须要先判断出 该用户是否存在 以及密码是否正确 javabean 中返回的结果是 ResultSet 类型的对象 我们通过判断 rs next 是否为 true 来查询该 用户名是否 存在 若存在 我们再比对其密码是否正确 如果密码正确 提示其登录 成功 并且让它跳转到 main jsp 即主页面 否则提示其密码有误 让其重新 登录 当 rs next 为 false 时 说明不存在该用户 则提示给予其提示 让 其重新登录 try if rs next session setAttribute user rs getString username if rs getString username equals uname if rs getString password equals pword 长 春 大 学 课程设计纸 共 21 页 第 8 页 装 订 线 out println out println alert 恭喜您 登录成功 out println window location main jsp out println else out println out println alert 对不起 密码有误 out println window location index jsp out println else out println out println alert 对不起 该用户名不存在 out println window location index jsp out println catch SQLException e e printStackTrace vi 按条件检索并且删除 该功能模块中主要包含按照图书名称 图书类型 图书代码和作者姓名四个条件进行模糊查询 并实现了任意环境下的分页功能 以及任一图书的删除功能 以下该图片是查询全部图书信息的页面 长 春 大 学 课程设计纸 共 21 页 第 9 页 装 订 线 当然 我们可以查询图书名称包含 java 并且作者包含 j 的图书信息 查询结果 如下图所示 vii 代码亮点 此次设计 我使用了 ajax 进行了一些简单的校验 从登录页面我们可以看到 当用户名不存在时 会给出我们提示 在注册页面中 我也采用该技术 我们知道 任何两个人的身份证号码是不会出现相同 即便出现也是因为系统出现错误 就设 计而言 不能出现两个人的用户名是相同的 当有人使用数据库中已经存在的用户 名进行注册时 我们给予其提示 并不让其进行注册 当用户名不存在时 该用户 名就可以注册 如下图所示 长 春 大 学 课程设计纸 共 21 页 第 10 页 装 订 线 4 测试阶段 五 设计总结 这学期是我们第一次在学校学习 JAVA 这门编程语言 因为有以前在培训班学习 JAVA 的基础 所以对我而言 此次设计相对比较容易 我们所设计的图书管理系统 主要实现了登录 注册 录入图书 借书 还书 删除图书以及模糊查询等功能 功能实现起来比较简单 而且 我选用的是 MVC 的开发模式 程序代码有很大的可 重用性和逻辑性 当我们进行维护时 可以更加的便捷 对我来说 JAVA 好像是一根救命稻草 C 语言复杂性让我惧怕 从事 C 语言的 编程是一项很大的挑战 学习了 JAVA 之后 越来越深刻的了解了面向对象的含义 通过学习 慢慢了解了那些构建的 JAVA 基础之上的开发语言和框架 编程慢慢变成 一项相对容易的工作 成为一件趣事 短短一周的设计马上就要结束了 通过设计 是我可以更深刻的了解 JAVA 的魅 力 熟悉了以前被遗忘的知识 更深刻的认识到其简单性 易用性 以后的学习道 路还很长 此次的课程设计为我们开启了一个良好的开端 为我们今后的毕业设计 奠定了基础 以后学习的路还有很长 我们仍需要继续努力 掌握更深刻的知识 以备以后 的学习和工作所需 六 程序清单 1 模糊查询并删除页面代码 图书录入页面 检索图书页面 长 春 大 学 课程设计纸 共 21 页 第 11 页 装 订 线 图书名称 图书类型 图书代码 作者姓名 allpage pages 1 cpage 1 默认当前要显示的页码 beginpos 0 默认记录开始的位置为0 endpos ipage 默认结束位置为第一页的结尾 else cpage pages 当前要显示的页码 beginpos pages ipage ipage 得到记录开始的位置 endpos pages ipage 得到记录结束的位置 rst cn query sql for i 0 i 图书名称图书类型图书编号作者姓名 出版社图书价格所在书架图书备注 删除 int ii beginpos 1 for int j beginpos j 长 春 大 学 课程设计纸 共 21 页 第 14 页 装 订 线 a href DeleteBook id onclick return confirm 您确认要删除此书吗 删除 共有 条记录 当前第 页 a href checkBook jsp pages 长 春 大 学 课程设计纸 共 21 页 第 15 页 装 订 线 function createXMLHttpRequest if window XMLHttpRequest XMLHttpReq new XMLHttpRequest else if window ActiveXObject try XMLHttpReq new ActiveXObject Msxml2 XMLHTTP catch e try XMLHttpReq new ActiveXObject Microsoft XMLHTTP catch e function sendRequest url createXMLHttpRequest XMLHttpReq open GET url true XMLHttpReq onreadystatechange processResponse XMLHttpReq send null function processResponse if XMLHttpReq readyState 4 if XMLHttpReq status 200 var res XMLHttpReq responseXML getElementsByTagName res 0 firstChild data name html res else window alert 您所请求的页面有异常 function userCheck var uname uname val if uname name html 对不起用户名不能为空 return false 长 春 大 学 课程设计纸 共 21 页 第 16 页 装 订 线 else var aa sendRequest regist uname uname return passwordCheck function passwordCheck var psw1 document myform psw value if psw1 var name1 对不起密码不能为空 document getElementById name1 innerHTML name1 return false else var name2 密码可用 document getElementById name1 innerHTML name2 return secondpasswordCheck function secondpasswordCheck var psw1 document myform secondpsw value var pword document myform psw value if psw1 pword var name1 确认密码不正确 document getElementById name2 innerHTML name1 return false else var name2 确认密码正确 document getElementById name2 innerHTML name2 return true 用户注册 长 春 大 学 课程设计纸 共 21 页 第 17 页 装 订 线 用户名 密码 确认密码 3 借书功能代码 i 借书功能 JSP 页面代码 借书录入页面 图书编码 借书人姓名 借出时间 input size 25 name borrowtime value ii web xml 代码 Borrowbook Borrowbook 长 春 大 学 课程设计纸 共 21 页 第 18 页 装 订 线 Borrowbook servlet Borrowbook iii servlet 代码 package servlet import java io IOException import java io PrintWriter import java util Calendar import java util Date import javax servlet ServletException import javax servlet http HttpServlet import javax servlet http HttpServletRequest import javax servlet http HttpServletResponse import useBean BorrowBookInfo import javaBean BorrowBookJavaBean author 借书的 servlet version 1 0 author杨娟 public class Borrowbook extends HttpServlet private static final long serialVersionUID L SuppressWarnings deprecation protected void doGet HttpServletRequest request HttpServletResponse response throws ServletException IOException request setCharacterEncoding UTF 8 response setContentType text html charset UTF 8 PrintWriter out response getWriter String bookcode request getParameter bookcode String borrowuser request getParameter borrowuser Date date new Date String borrowtime date toLocaleString substring 0 10 Calendar cal Calendar getInstance 长 春 大 学 课程设计纸 共 21 页 第 19 页 装 订 线 cal add Calendar MONTH 1 String endtime new Date cal getTimeInMillis toLocaleString substring 0 10 BorrowBookInfo bb new BorrowBookInfo bb setBookcode bookcode bb setBorrowtime

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论