网站首页
手机版

基于JAVA/JSP的网上书店系统

更新时间:2005-12-20 11:53:25作者:未知

【摘要】

JAVA语言是目前Internet上大型的WEB应用程序开发时使用得最热门的编程语言,本文描述了JAVA和JSP技术的特点以及在互联网上的使用情况,介绍这两种技术的重要编程方法和两者之关的联系,并完成一个基于这种技术的网上书店系统。

【关键字】JAVA, JavaBeans, Servlet, JSP, 网络编程, 电子商务, 网上书店

Abstract

At 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 直接使用JSP

2-4-2 JSP + JavaBeans

2-4-3 JSP + JavaBeans + Servlet

2-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){

              System.out.println(“Can’t open the URL “);

}

       URL imgur=null;

       Image image;

       try {

        imgur=new URL(“结点URL “);

       }

     catch (MalformedURLException e) {

        System.out.println(“Can’t open the URL “);

 

     }

     image=getImage(imgur);

前一种格式用“new URL(url)”生成 URL 对象, 并直接作为getImage的参数,后一种格式先用“new URL(url)”生成一个 URL对象,再传给getImage,两种格式本质上是一样的,下面是一个完整的实例(img.java):

       import java.applet.*;

       import java.net.*;

       import java.awt.*;

       public class img extends Applet{

            Image image;

            public void init() {

                 String  url = “http://images.sohu.com/logo1.gif”;

                 try {

                        image = getImage(new URL(url));

                 }catch(Exception e){}

            }

            public void paint(Graphics g) {

                g.drawImage(image, 0, 0,this);

            }

       }

       将上程序以img.java存盘, 执行javac img.java,将得到编译后生成的img.class,最后创建调用这两个Java Applet的HTML文档,并放在与img.class相同的目录,对应的HTML文档可如下(img.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比较新的版本是3.x,但目前实际用的2.x版本的比较多,Resin可到官方站点下载:http://www.caucho.com/download/本文使用的是2.1.13版本,文件位置:http://www.caucho.com/download/resin-2.1.13.zip

如果你的电脑上已装好JDK,直接把下载的resin包解压到D:盘根目录解压后即D:resin-2.1.13为服务器的目录,把本文的源程序jspweb文件夹也放在D:盘根目录,即是D:jspweb为网站根目录,打开D:resin-2.1.13conf resin.conf(是一份XML形式的配置文件),找到doc这里改为D:jspweb,然后运行D:resin-2.1.13binhttpd.exe,在浏览器输入http://localhost:8080/j1.jsp,看到了“我是JSP!”的字样了吧,你的Servlet服务器就这样配置成功了,为了能编译Servlet类,还需要做的事情是:把D:resin-2.1.13lib加入到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.NET与原来的ASP性质完全是不同的,它和JSP一样,都是一种编译性的脚本,本身完全与强大的Net框架结合,完美的支持Xml的各种应用,与昔日的ASP不可同日而语,但是无论是ASP还是ASP.NET,它都摆脱不了Windows平台本身,这是ASP一个致命的缺点。

 

2-3 JSP语法基础

 

2-3-1嵌入了JAVA语言的HTML文件

把下面网页保存为:j1.jsp

 

 

 


这就成了一个最简单的JSP页面了,其中


是声明输出的文件类型为text/html,字符编码是gb2312,在JSP中里的内容表示的是JSP编译时的一些选项或向客户端发送的头信息的JSP指令,里的内容就是Java语言,如果有必要,更改适当设定,还可以使用JavaScript作为脚本,不过实际应用中很少有人这样做。

2-3-2 request、out & response--与访问者的交互

接收客户端的请求和向客户端返回信息是动态网页最常做的事情,在JSP中,主要通过request、response、out 三大对象实现这些功能。

request 对象的作用是接收用户通过URL或通过表单向发服务器发送请求信息和与用户计算机相关的一些信息。

response 对象用于网页传回用户端的回应。

out 用于传送回应的输出,即向客户端返回信息。

把上面的例子稍作修改:

 

 

 


保存为j2.jsp在浏览器上输入:“http://localhost:8080/j1.jps?msg=我是JSP”看一下效果,这和j1.jsp的结果一样吧?但它输出的是客户端返回的信息,这在意义上完全不同于前者。

2-3-3 session--保持访问者的会话状态

会话状态维持是 Web 应用开发者必须面对的问题。有多种方法可以用来解决这个问题,如使用 Cookies 、隐藏的表单输入域,或直接将状态信息附加到 URL 中。Java Servlet 提供了一个在多个请求之间持续有效的会话对象,该对象允许用户存储和提取会话状态信息,JSP也内置了这个对象。

Session最基本的用法是:

创建一个会话 session.putValue("名称","值");

获得一个会话的值session.getValue("名称");

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形式通信,本文则尚未涉略这些方面。

 

 

附件:jspweb.zip,包含了本文中提及的所有源程序以及网上书店系统。

参考资料:

(1)JSP编程技巧/清宏计算机工作室编著. 北京:机械工业出版社,2001.1

(2)精通JBuilder 3环境下的JAVA编程/锐思创作室编著. 北京:人民邮电出版社., 2001.1

(3)深入JAVA Servlet 网络编程. 清华大学出版社

 


本文标签:

为您推荐

浅谈计算机网络环境下的网络教学

网络的发展,创造出全新的网络文化。不少学校顺应时代需要建设了校园网,并连入了互联网,开始了网络教学的尝试。教师在教学过程中如何根据网络教学不同的教学模式,发挥教师的主导作用和激发学生自主学习使学生成为认识的主体,这就要了解网上教学的教学模式、特点、问

2011-11-11 17:33

计算机网络词汇翻译浅析

本文分析了计算机网络词汇翻译中的懒惰现象,对计算机网络词汇翻译中采用的归化异化两种方法进行了论述,认为该懒惰现象具有相对的积极意义。同时,网络词汇既有一般科技术语翻译的特点,又有它独特的翻译方法。对网络词汇的翻译要根据其接受程度和读者的文化包容性,以

2011-11-11 17:32

项目教学法在计算机网络课程中的应用

提高学生计算机知识水平和实践动手能力,是中职学校计算机教育的根本任务。由于中职学生学习积极性不高,计算机教学效率低下,在中职计算机网络课程中采用项目教学法十分必要。

2011-11-11 17:31

浅谈计算机网络中服务的概念

由系统管理员管理的结构化计算机环境和只有一台或几台孤立计算机组成的计算机环境的主要区别是服务。针对计算机网络中的服务概念进行了阐述。

2011-11-11 17:30

浅谈高职院校计算机网络实践教学

目前大部分高职院校都开设有计算机网络技术专业,而实训教学则是计算机网络技术专业教学中很重要的一个组成部分。本文结合当前高职院校计算机网络技术专业的发展趋势,根据实训教学的特点,从网络实训课程的开设、网络实训的过程、网络综合实训等多方面对网络技术专业的

2011-11-11 17:29

浅谈网站服务器安全维护技巧

服务器的维护至关重要,稍有闪失即会使整个 网络 陷入瘫痪。目前,恶意的网络攻击行为包括两类:一是恶意的攻击行为,如拒绝服务攻击、网络病毒等,这些行为消耗大量的服务器资源,影响服务器的运行速度和正常 工作 ,甚至使服务器所在的网络瘫痪;另外一类是恶意的入

2011-11-11 17:29

加载中...