基于 JAVA 与 JSP 的网上书店系统
【摘要】JAVA 语言是 目前 Internet 上大型的 WEB 应用 程序开发时使用得最热门的编程
语言,本文描述了 JAVA 和 JSP 技术的特点以及在互联网上的使用情况,介绍这两种技术
的重要编程 方法 和两者之关的联系,并完成一个基于这种技术的网上书店系统。【关键
字】JAVA, JavaBeans, Servlet, JSP, 网络 编程, 电子 商务, 网上书店 AbstractAt present
JAVA is the hottest programming language for WEB development, This text described the
characteristics of JAVA and JSP technology and the state of operating on Internet, It
introduced the relationship between them and the important programming method of the
double technology, And work out an online bookstore system base on this kind of
technology. Keywords: JAVA, JavaBeans, Servlet, JSP, web program, internet, bookshop
目 录 1、JAVA 的网络功能与编程 1-1 JAVA 语言简介 1-2 JAVA 语言在网络上的应用 1-3
JSP 的基础——Servlet 技术 1-4 JavaBeans 技术 2、JSP 技术简介 2-1 在 Windows 平台下
配置 JSP 运行环境 2-2 JSP、ASP 和 PHP 技术之比较 2-3 JSP 语法基础 2-3-1 嵌入了 JAVA
语言的 HTML 文件 2-3-2 request、out & response——与访问者的交互 2-3-3 session—
—保持访问者的会话状态 2-3-4 JSP 其它基本内置对象 2-4 用 JSP 开发 Web 应用的几种
主要方式 2-4-1 直接使用 JSP2-4-2 JSP + JavaBeans2-4-3 JSP + JavaBeans + Servlet2-5
JSP + JavaBeans 实现的高级功能 2-5-1 用 JSP 访问数据库 2-5-2 用 JSP + JavaBeans 实
现文件上传 2-6 JSP 的 MVC 开发模型 3、网上书店系统设计项目需求 分析 3-1 网上书店
系统的模型 3-2 网上书店系统数据库的建立 4、网上书店系统的开发 4-1 后台管理 4-1-1
管理员登录 4-1-2 图书类别管理 4-1-3 图书产品管理 4-1-4 注册会员管理 4-1-5 图书订购
管理 4-2 网上书店界面 4-2-1 图书搜索 4-2-2 查看图书详细 4-3 网上购物程序 4-3-1 用户
注册 4-3-2 购物篮的实现 5、 总结 第一章 JAVA 的网络功能与编程 1-1 JAVA 语言简介
Java 是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向 Internet 的
开发工具。自从 1995 年正式问世以来,Java 的快速 发展 已经让整个 Web 世界发生了翻
天覆地的变化。在早期,Java 比较多的用在浏览器上,插入到网页中(即是 Java Applet 程
序),成为最灵活、最强大的网页多媒体的载体,但由于 Java 虚拟机相对于个人电脑而言
,有占用资源大,安全性相对较差等缺点,Applet 逐渐的被后起之秀 Flash 所替代,但随
着 Java Servlet 的推出,Java 在电子商务方面开始崭露头角,最新的 JSP(Java Server
Page)技术的推出,更是让 Java 成为基于 Web 的应用程序的首选开发工具,目前的 Java
技术已成为所有大型电子商务项目的必然选择。1-2 JAVA 语言在网络上的应用 Java 程序
可以获取网络上结点的图象、声音、HTML 文档及文本等资源,并可以对获得的资源进行
处理。例如 Java 程序可以每隔一定时间读取某结点提供的最新数据,并以图表的形式显
示出来。在编程处理上,一般先生成一个 URL 类型的对象,然后用 Java 中相应的方法(
method)获取该对象所代表的资源。下面列举一个 Java 从网络上获取图象的的方法以说
明。Java Applet 可以直接从网络上结点获取图象并显示出来,Java 提供了如下方法可以
创建对应于其他结点的图象:getImage(new URL(字符串))其使用格式可有两种:String url
= “结点 URL”;Image image;try {
image = getImage(new URL(url));} catch(Exception e){
(“Can’t open the URL “);}或
URL imgur=null;
Image image;
try {
imgur=new URL(“结点 URL “);
}
catch (MalformedURLException e) {
(“Can’t open the URL “);
}
image=getImage(imgur);前一种格式用“new URL(url)”生成 URL 对象, 并直接作为
getImage 的参数,后一种格式先用“new URL(url)”生成一个 URL 对象,再传给 getImage,
两种格式本质上是一样的,下面是一个完整的实例():
import .*;
import .*;
import .*;
public class img extends Applet{
Image image;
public void init() {
String url = “/Newspic/2007118/”;
try {
image = getImage(new URL(url));
}catch(Exception e){}
}
public void paint(Graphics g) {
(image, 0, 0,this);
}
}
将上程序以 存盘, 执行 javac ,将得到编译后生成的 ,
最后创建调用这两个 Java Applet 的 HTML 文档,并放在与 相同的目录,对应的
HTML 文档可如下():以上仅是 Java 在客户端应用的一些方面,目前,Java 更广
泛的应用是在服务器端,这是本文 研究 的主要话题,下文提及的 Servlet、JSP 等技术都
是 Java 在服务器端应用的具体形式。1-3 JSP 的基础——Servlet 技
Java Servlet 是 JSP 技术的基础,JSP 本身就是预先被编译成 Servlet,然后再运行的,而
且大型的 Web 应用 程序的开发需要 Java Servlet 和 JSP 配合才能完成,Servlet 这个名称
大概源于 Applet,现在国内的翻译方式很多,本文为了避免误会,本文直接采用 Servlet
这个名称而不做任何翻译,读者如果愿意,可以称之为“小服务程序”。Servlet 其实和传统
的 CGI 程序和 ISAPI、NSAPI 等 Web 程序开发工具的作用是相同的,在使用 Java Servlet
以后,用户不必再使用效率低下的 CGI 方式,也不必使用只能在某个固定 Web 服务器平
台运行的 API 方式来动态生成 Web 页面。许多 Web 服务器都支持 Servlet,即使不直接支
持 Servlet 的 Web 服务器也可以通过附加的应用服务器和模块来支持 Servlet。得益于
Java 的跨平台的特性,Servlet 也是平台无关的,实际上,只要符合 Java Servlet 规范,
Servlet 是完全平台无关且是 Web 服务器无关的。由于 Java Servlet 内部是以线程方式提
供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服
务,因此 Java Servlet 效率非常高。但 Java Servlet 也不是没有缺点,和传统的 CGI、
ISAPI、NSAPI 方式相同,Java Servlet 是利用输出 HTML 语句来实现动态网页的,如果用
Java Servlet 来开发整个网站,动态部分和静态页面的整合过程简直就是一场噩梦。这就
是为什么 SUN 还要推出 Java Server Pages 的原因。1-4 JavaBeans 技术什么是
JavaBeans?JavaBeans 就是 Java 的可重用组件技术。ASP 通过 COM 来扩充复杂的功能
,如文件上载、发送 email 以及将业务处理或复杂 计算 分离出来成为独立可重复利用的
模块。JSP 通过 JavaBeans 实现了同样的功能扩充。JSP 对于在 Web 应用中集成
JavaBeans 组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试
和可信任的已有组件,避免了重复开发),也为 JSP 应用带来了更多的可伸缩性。
JavaBeans 组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。
在实际的 JSP 开发过程中,读者将会发现,和传统的 ASP 或 PHP 页面相比,JSP 页面将
会是非常简洁的,由于 JavaBeans 开发起来简单,又可以利用 Java 语言的强大功能,许
多动态页面处理过程实际上被封装到了 JavaBeans 中。第二章 JSP 技术简介 2-1 在
Windows 平台下配置 JSP 运行环境为了使系统能够正常运行 JSP 和相关程序,必须先配置
好能够使用 JSP 的 WEB 服务器。各种能使用 Servlet 技术的 WEB 服务器中,运用得最多
的是 Tomcat 服务器,如果仅是为了用于测试程序,Tomcat 的配置则显得太复杂了,本文
推荐使用 Resin 服务器,Resin 据称是最快的 Servlet 运行平台,不过限于单站点,对传统
的一些网关支持不是很好,因此对于商业网站而言,不是最好的选择,不过如果仅是为了
测试 Servlet,这个 Resin 的安装可谓有点傻瓜化。Resin 比较新的版本是 ,但 目前 实
际用的 版本的比较多,Resin 可到官方站点下载:
版本,文件位置:
如果你的电脑上已装好 JDK,直接把
下载的 resin 包解压到 D:盘根目录解压后即 D:\ 为服务器的目录,把本文的
源程序 jspweb 文件夹也放在 D:盘根目录,即是 D:\jspweb 为网站根目录,打开
D:\\conf\ (是一份 XML 形式的配置文件),找到 doc 这里改为
D:\jspweb,然后运行 D:\\bin\,在浏览器输入
http://localhost:8080/,看到了“我是 JSP!”的字样了吧,你的 Servlet 服务器就这
样配置成功了,为了能编译 Servlet 类,还需要做的事情是:把 D:\\lib 加入
到 windows 的 CLASSPATH 的环境变量中。2-2 JSP、ASP 和 PHP 技术之比较 JSP 与 ASP
、PHP 技术都是目前网上最流行的在服务器端运行的脚本技术,JSP 能用 JavaBeans 技术
封装,达到商业逻辑的目的,ASP 对应之的是 COM 组件,因此两者都能用于开发商业逻
辑,PHP 则更像于一个纯脚本,仅适合于普通的网站开发,而不能用作商业逻辑而被冠以
“Person Home Page”的名称,这是最贴切不过的了。JSP 与 ASP 相比,JSP 具有跨平台、
安全、强大的可伸缩性的特点,而果硬要挑一些毛病,JSP 相对别的脚本更加难掌握,因
为精通 JSP 必须精通 Java 语言,对于中小型项目,我们要考虑开发人员、开发速度、开
发成本等 问题 ,在这方面 ASP 和 PHP 会比 JSP 更容易胜出。值得一提的是,ASP 的最新
版本 与原来的 ASP 性质完全是不同的,它和 JSP 一样,都是一种编译性的脚本
,本身完全与强大的 Net 框架结合,完美的支持 Xml 的各种应用,与昔日的 ASP 不可同
日而语,但是无论是 ASP 还是 ,它都摆脱不了 Windows 平台本身,这是 ASP 一
个致命的缺点。2-3 JSP 语法基础 2-3-1 嵌入了 JAVA 语言的 HTML 文件把下面网页保存为
: 这就成了一个最简单的 JSP 页面了,其中是声明输出的文件类型为 text/html,字
符编码是 gb2312,在 JSP 中里的 内容 表示的是 JSP 编译时的一些选项或向客户端发送
的头信息的 JSP 指令,里的内容就是 Java 语言,如果有必要,更改适当设定,还可以使
用 javascript 作为脚本,不过实际应用中很少有人这样做。2-3-2 request、out &
response--与访问者的交互接收客户端的请求和向客户端返回信息是动态网页最常做的事
情,在 JSP 中,主要通过 request、response、out 三大对象实现这些功能。request 对象
的作用是接收用户通过 URL 或通过表单向发服务器发送请求信息和与用户计算机相关的一
些信息。response 对象用于网页传回用户端的回应。out 用于传送回应的输出,即向客户
端返回信息。 把上面的例子稍作修改:保存为 在浏览器上输入:
“http://localhost:8080/ JSP”看一下效果,这和 的结果一样吧?但
它输出的是客户端返回的信息,这在意义上完全不同于前者。2-3-3 session--保持访问者
的会话状态会话状态维持是 Web 应用开发者必须面对的问题。有多种 方法 可以用来解决
这个问题,如使用 Cookies 、隐藏的表单输入域,或直接将状态信息附加到 URL 中。
Java Servlet 提供了一个在多个请求之间持续有效的会话对象,该对象允许用户存储和提
取会话状态信息,JSP 也内置了这个对象。Session 最基本的用法是:创建一个会话
("名称","值");获得一个会话的值 ("名称");2-3-4 JSP 其
它基本内置对象
JSP 有九大内置对象,除了上述四种以外,还包括:
pageContext 网页的属性是在这里管理 application Servlet 正在执行的内容 config
Servlet 的构架部件 page JSP 网页本身 exception 针对错误网页,未捕捉的例外这些基本
的内置对象是构成 JSP 页面的重要因子。2-4 用 JSP 开发 Web 应用的几种主要方式本文
是收费论文,字数大于 8000,含源码,价格为:300 元,请联系 QQ:2500875 索取全
文 。 总结 本文讲述了 Java/JSP 在 WEB 应用的一些基本知识,并通过网上书店的程序对
JSP 的运用进行了深化,从本文中可看出 JSP 与 JavaBeans 结合的模式,在 电子 商务上
应用十分灵活,不过要真正掌握好它们却并不是一件容易的事情,在实际应用的 WEB 开
发中,还有很多关于安全方面的问题需要考虑,此外电子商务网站中使用网上支付平台的
接口一般是用 xml server 形式通信,本文则尚未涉略这些方面。 参考 资料:(1)JSP 编程
技巧/清宏计算机工作室编著. 北京:机械 工业 出版社,(2)精通 JBuilder 3 环境下
的 JAVA 编程/锐思创作室编著. 北京:人民邮电出版社., (3)深入 JAVA Servlet 网
络 编程. 清华大学出版社