ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:223.39KB ,
资源ID:7598217      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7598217.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(javaWeb课程设计图书管理系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

javaWeb课程设计图书管理系统.docx

1、javaWeb课程设计图书管理系统 1 系统设计关键技术及开发工具收发室邮件管理系统主要采用JSP,Servlet、Struts、AJAX,CSS/XML,javascript等相关技术、采用oracle数据库、Apache Tomcat 5.5作为web服务器、开发工具为Myeclispe集成软件开发环境。整体设计遵循软件工程的方法,经过需求分析、系统设计、详细设计、文档和代码的编制、模块测试和系统实现这几个阶段,下面就对这几种技术和方法做一个概述。1.1 Struts技术Web应用分为交互层(Interaction Layer),表现数据,收集数据,也就是视图层,接受请求,通过处理层完成相

2、应的响应。(V,C)和处理层(Processing Layer),完成数据的处理,也就是业务层(M)。MVC的设计模式(应用观察者模式的框架模式)表现为M层: Model(Business process layer),模型层,操作数据的业务处理层,并独立于表现层(Independent of presentation)。V层: View(Presentation layer),视图层,通过客户端数据类型显示数据,并回显模型层的执行结果。C层: Controller(Control layer),控制器,也就是视图层和模型层桥梁,控制数据的流向,接受视图层发出的事件,并重绘视图。正如上文所讲,

3、MVC框架的实现模型有两种:模型一(Page-centric):JSP+JavaBean,JSP既充当控制,又充当视图,以页面为核心,JSP使用jsp:useBean,它不能够实现不同的页面,显示不同的数据,需要借助于中间类来调用JavaBean的方法才能实现。模型二(Servlet-centric):JSP+Servlet+JavaBean,以控制为核心,JSP只负责显示和收集数据,Sevlet,连接视图和模型,将视图层数据,发送给模型层,JavaBean,分为业务类和数据实体,业务类处理业务数据,数据实体,承载数据,基本上大多数的项目都是使用这种MVC的实现模式。Struts框架是使用MV

4、C的实现模式二来实现的,也就是以控制器为核心。它提供了一些组件使用MVC开发应用程序:Model:Struts没有提供model类。这个商业逻辑必须由Web应用程序的开发者以JavaBean或EJB的形式提供View:Struts提供了action form创建form bean, 用于在controller和view间传输数据。此外,Struts提供了自定义JSP标签库,辅助开发者用JSP创建交互式的以表单为基础的应用程序,应用程序资源文件保留了一些文本常量和错误消息,可转变为其它语言,可用于JSP中。Controller:Struts提供了一个核心的控制器ActionServlet,通过这

5、个核心的控制器来调用其他用户注册了的自定义的控制器Action,自定义Action需要符合Struts的自定义Action规范,还需要在struts-config.xml的特定配置文件中进行配置,接收JSP输入字段形成Action form,然后调用一个Action控制器。Action控制器中提供了model的逻辑接口。11.2Servlet技术servlet是使用Java Servlet 应用程序设计接口(API)及相关类和方法的 Java 程序。除了 Java Servlet API,Servlet 还可以使用用以扩展和添加到 API 的 Java 类软件包。Servlet 在启用 Jav

6、a 的 Web 服务器上或应用服务器上运行并扩展了该服务器的能力。Java servlet对于Web服务器就好象Java applet对于Web浏览器。Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。 Java Servlet API 定义了一个servlet 和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet,并让 Servlet 建立

7、起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后, Servlet 继续运行直到其它客户机发出请求。Servlet 的功能涉及范围很广。例如,Servlet 可完成如下功能:(1) 创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML页面。(2) 创建可嵌入到现有 HTML 页面中的一部分 HTML 页面(HTML 片段)。(3) 与其它服务器资源(包括数据库和基于 Java 的应用程序)进行通信。(4) 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。例如,Servlet 可以是多参与者的游戏

8、服务器。(5) 当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至applet的新连接,并将该连接保持在打开状态。当允许客户机和服务器简单、高效地执行会话的情况下,applet也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准 (如 IIOP)进行通信。(6) 对特殊的处理采用 MIME 类型过滤数据,例如图像转换和服务器端包括(SSI)。(7) 将定制的处理提供给所有服务器的标准例行程序。例如,Servlet 可以修改如何认证用户。(8)网站流程的控制。例如,用户登陆11.3 开发工具MyEclispe简介Eclipse 是一个开放源代码的、基于 Java 的可扩展开发

9、平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。MyEclispe是基于Eclispe的J2EE应用程序开发工具,此系统就是采用MyEclispe6.0来开发的,它集中了开源和商业软件的开发支持的大多数框架,方便易用,功能强大,它支持开发基于Spring、Hibernate、Struts、JSF、JPA、EJB、Web Service 等技术的项目。62系统需求分析2.1系统整体分析在当今高速发展的信息时代,计算机技术已经被应用于社会的

10、各个方面,取代了很多人工的操作,这样既提高了效率,又节省了劳动力。学校等机关图书管理也应该跟上科技的发展,运用计算机进行自动化的管理。本课题在研究了学校图书管理运营模式之后,从学校的实际需求出发,采用当前较为流行的B/S结构和JSP动态网页技术,基于Oracle数据库,设计并实现一个功能完善的小型图书管理系统。本系统主要包括图书管理,借还书管理和读者管理三大模块。本文是该系统需求文档,对系统功能结构进行分析,并对数据流程进行了图解,以及对这次设计进行了总结。2.2系统数据分析 本系统共有5张数据表: 2.3数据流图 2.4功能模块的核心代码网站后台开发目录结构:用户登陆的核心代码:packag

11、e com.servlet;import java.io.IOException;import java.io.PrintWriter;import java.sql.ResultSet;import java.sql.SQLException;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import java

12、x.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.connectDb;import com.toChinese;public class servletGo extends HttpServlet public void init(ServletConfig config) throws ServletException super.init(); public void doPost(H

13、ttpServletRequest request, HttpServletResponse response) throws IOException connectDb conD=new connectDb(); toChinese t=new toChinese(); ResultSet rs1=conD.con(select username from reader); ResultSet rs2=conD.con(select password from reader); response.setContentType(text/html;charset=gb2312); PrintW

14、riter out=response.getWriter(); String string1=t.codeToString(request.getParameter(username); String string2=t.codeToString(request.getParameter(userpassword); Map map=new HashMap(); try while(rs1.next()&rs2.next() map.put(rs1.getString(1),rs2.getString(1); catch (SQLException e) e.printStackTrace()

15、; Set keySet=map.keySet(); Iterator iterator=keySet.iterator(); while(iterator.hasNext() if(!(iterator.next().equals(string1) iterator.remove(); if(keySet.isEmpty() out.print(用户名或密码错误,点此重新登陆); else String string3=map.get(string1); if(!string3.equals(string2) out.print(用户名或密码错误,点此重新登陆); else Object b

16、=keySet.toArray(); String str=b0.toString(); response.sendRedirect(./library.jsp?username=+str); System.out.print(str); 使用jsp验证用户名是否重名,用户是否已经被注册:% ResultSet rs=conD.con(select username from reader); List list=new ArrayList(); while(rs.next() list.add(rs.getString(1); toChinese t=new toChinese(); Str

17、ing string1=t.codeToString(request.getParameter(username); String string2=t.codeToString(request.getParameter(userpassword); qb.setConnection(oracle.jdbc.driver.OracleDriver, jdbc:oracle:thin:127.0.0.1:1521:orcl,yexiang,ye123); String stringSqlString = insert into reader values(reader_id.nextval,+st

18、ring1+,+string2+); qb.setQuerystatement(stringSqlString); /设置SQL语句 Iterator iterator=list.iterator(); while(iterator.hasNext() if(!iterator.next().equals(string1) iterator.remove(); if(list.isEmpty() qb.insertRecord();/插入数据 out.print(注册成功); else out.print(注册失败,用户名已注册);%接收新用户注册 您注册的用户名是:Struts 的使用与配置

19、Web.xmlweb-app version=2.5 xmlns= xmlns:xsi=http:/www.w3.org/2001/XMLSchema-instance xsi:schemaLocation= This is the description of my J2EE component This is the display name of my J2EE component servletGo com.servlet.servletGo This is the description of my J2EE component This is the display name of

20、 my J2EE component booksServlet com.servlet.booksServlet This is the description of my J2EE component This is the display name of my J2EE component serachServlet com.servlet.serachServlet servletGo /servlet/servletGo booksServlet /servlet/booksServlet serachServlet /servlet/serachServlet enter.html

21、redisp com.bean.ReDispatcherFilter includeServlets servletGo,booksServlet,serachServlet redisp /* struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* Struts.xml /main/frame_c.jsp 3系统界面展示3.1页面登陆:注册:主界面: 最新入库搜索书籍我要借书4设计总结在需求分析部分,我们认真阅读了图书管理系统的功能简述,在此基础上把整个系统按处理功能分解

22、成若干模块,进行数据分解,画出了总系统和各模块的数据流图、数据项表、数据结构表、数据流表等。我们得到的需求分析的主要结果,基本反映了用户的需求。在概念结构设计时,我们采用自底向上的设计方法。将数据流程图中的子图抽象为E-R图,然后再合并各个分E-R图。设计出的整体概念结构内部具有一致性,不但能满足需求分析阶段确定的所有要求,而且能准确反映原来的每个子视图的结构。并且给出了各个实体的描述,对实体和关系进行了调整,消除了冗余实体和冗余关系。在逻辑结构设计时,我们选择oracle所支持的数据模型,适于描述和表达概念结构的。我们遵循一定原则进行实体、属性和联系的转换。优化了关系数据模型,根据具体的应用确定范式和关系模式的分解与合并。确定了外模式和数据视图。在使用servlet时遇到了许多参数传输错误,最后发现大多数都是 路径问题解决完就没问题了,操作数据库时sql语句要符合规范,明白怎么使用参数来查寻。在使用struts2时配置与servlet冲突,struts将所有请求都拦截了,经过网上XX后再struts配置前加了servlet的配置就没问题了。这次实验我熟悉了很多新学到了技术,学习到了解决问题的方法,收获颇多。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1