的JavaBeans和EJB组件,由他们对数据库进行操作,把系统内部的数据封装保护起来。JavaBeans和EJB组件还可以把事务分发到另一个组件中去处理,最后把数据库返回的结果由JSP/Servlet送到前端显示出来[4]。
Java Servlet是一个基于Java技术的运行在服务器端的程序,与JavaApplet不同,后者运行在浏览器端。开发人员可以编写出这样的Servlet,以接收来自Web浏览器的HTTP请求,动态生成包含HTML或XML文档的响应,然后发送到浏览器。
JSP使用Java作为脚本语言,JSP文件是一些JSP定义的标记和Java程序段以及HTML标记的混合体。它具有如下的特点:
1.内容动态生成和显示分离
与ASP类似,JSP脚本在服务器端运行。在服务器端,JSP引擎解释JSP标记和脚本,生成所请求的内容,并将结果以HTML或XML页面的形式发送回浏览器。这有助于保护作者自己的代码。
2.强调可重用的组件
绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者Enterprise JavaBeans)来执行所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件。
3.采用标识简化页面开发
标准的JSP标识能够访问和实例化JavaBean组件,设置或者检索组件属性以及下载JavaApplet等。通过开发定制化的标识库(TagLibrary)可以扩展JSP,第三方开发人员可以创建自己的标识库。
2.1.4 Servlet
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机[5]。
装载Servlet。这项操作一般是动态执行的。然而,Server通常会提供一个管理的选项,用于在Server启动时强制装载和初始化特定的Servlet。
对于更多的客户端请求,Server创建新的请求和响应对象,仍然激活此Servlet的service()方法,将这两个对象作为参数传递给它。如此重复以上的循环,但无需再次调用init()方法。一般Servlet只初始化一次(只有一个对象),当Server不再需要Servlet时(一般当Server关闭时),Server调用Servlet的Destroy()方法。
Servlet具有如下优点:
1.方便。
Servlet提供了大量的实用工具例程,例如自动地解析和解码HTML表单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等。
2.功能强大。
在Servlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成。例如,Servlet能够直接和Web服务器交互,而普通的CGI程序不能。Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。
3.可移植性好。
Servlet用Java编写,Servlet API具有完善的标准。因此,为IPlanet Enterprise Server写的Servlet无需任何实质上的改动即可移植到Apache、Microsoft IIS或者WebStar。几乎所有的主流服务器都直接或通过插件支持Servlet。
4.节省投资。
不仅有许多廉价甚至免费的Web服务器可供个人或小规模网站使用,而且对于现有的服务器,如果它不支持Servlet的话,要加上这部分功能也往往是免费的(或只需要极少的投资)。
2.2 系统开发工具
2.2.1 MySQL
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司,2008年1月16号被Sun公司收购,2009年,SUN又被Oracle收购。关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的SQL"结构化查询语言"。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库[6]。
MySQL系统特性及选择原因:
1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
2.支持AIX、Linux、Mac OS、OS/2 Wrap、Solaris、Windows等多种操作系统。
3.为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
4.支持多线程,充分利用CPU资源。
5.优化的SQL查询算法,有效地提高查询速度
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径
8.提供用于管理、检查、优化数据库操作的管理工具
9.可以处理拥有上千万条记录的大型数据库
2.2.2 MyEclipse
MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse功能强大,支持广泛,尤其是对各种开源产品的支持不错。
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS, Javascript,Spring,SQL,Hibernate。
目前MyEclipese已经更新到了10.0的版本,选择使用MyEclipese8.0的原因是因为此版本插件少,启动速度快,更适合于网上图书销售系统这种小型项目。
2.3 小结
本章主要研究了网上图书销售系统所使用的MVC设计模式、JDBC、JSP和Servlet技术,以及系统开发所使用的MySQL数据库和MyEclipse开发工具。本章为后续章节的系统分析、做了强有力的技术支持。
3 需求分析
软件是利用计算机技术解决现实生活中的问题的一种有效的方法和手段,如同其他方法和手段一样,首先必须搞清楚要解决的问题是什么,然后才能去解决它。
需求分析和系统设计是软件开发的基础,决定着软件开发的成功与否。需求分析就是以用户的需要以及实际情况为出发点,为用户合理地选择系统提供了基本保障,它的结果影响着整个系统的成功与否。本章首先分析系统整体的需求分析和功能模块的需求,对功能需求进行分析并对功能模块进行划分,本章最后阐述了系统设计的目标。
3.1 实际业务操作流程
在本系统中,为了保证用户安全舒适的购物环境,设计简单易用的业务操作流程:用户可以注册登录网站,登录后,用户能够浏览网站的详细内容,提供搜索引擎,使用户能够按特定的条件对所需图书进行搜索,用户下定单购买商品,用户也修改定单的购买数量,查看定单等。如图3-1所示。
图3-1业务操作流程图
3.2 系统需求分析
3.2.1 功能需求
对于典型的数据库管理系统,尤其是对像电子商务这样的数据流量特别大的网络管理系统,必须要满足使用方便、操作灵活等设计要求。本系统在设计时应该满足以下的功能需求:
1.顾客可以方便地查看图书信息。
2.顾客可以方便地队购物车中的图书进行增加、删除、修改和下订单。
3.顾客可以方便的查找图书。
4.管理员可以方便地添加、删除、修改图书。
5.管理员可以方便地添加、删除、修改和查看图书分类。
6.管理员可以方便地查看订单,可以
上一篇:
基于JSP的网上书店系统的设计论文
下一篇:
基于JSP邮件收发系统论文