Java web 实训报告.docx
《Java web 实训报告.docx》由会员分享,可在线阅读,更多相关《Java web 实训报告.docx(23页珍藏版)》请在冰点文库上搜索。
Javaweb实训报告
西安航空职业技术学院
课程设计说明书
课程名称:
jsp技术实
专业:
软件技术
班级学号:
15303139
姓名:
刘浩儒
指导教师:
陈洁
2016年12月_12_日
教务处印制
西安航空职业技术学院
课程设计任务书
课题名称:
在线购物车系统
设计内容:
利用myEclipse8。
5创建相关的java和servlet文件.
以及登陆界面的设置和界面的美化,利用tomcat7.0完成项目在
浏览器上的发布,利用mysql进行建立数据库,然后建立用户登录的
的表,本次设计的主要设计内容是在线图书购物车系统,目的是为
方便用户在输入正确的用户名和密码的的时候可以在线购书。
技术条件或要求:
HTML+CSS、javascript、Tomcat7.0
JavaWeb程序设计、Mysql、MyEclipse、PhotoShop等相关软件进行设计
指导教师(签名):
教研室主任(签名):
开题日期:
2016年12月12日完成日期:
2016年12月20日
摘要
随着信息技术的高速发展和Internet的不断普及。
人们对于互联网技术的要求不仅是浏览一下网页,收发电子邮件。
日益忙碌的人们开始追求足不出户的利用互联网这一强大的平台来实现的网上购物,如网上订餐,网上订票,网上药店等。
对于企业来讲,无论是企业之间(BtoB),还是企业和客户之间(BtoC)的交易,如果能够实现网上交易将大大提高交易速度节约交易成本。
本文设计了基于JSP的在线购物车系统,整个开发环境是基于windows系统下的,运用的技术包括:
B/S模式,MVC三层架构的思想,Servlet/JSP、JDBC、MySQL等.使用的工具有MySQL5.0作为数据库平台,Tomcat6。
0作为服务器,JSP作为前台页面显示,实现了应用逻辑和页面分离使得界面设计更简单。
在线购物车系统模拟了网上购物的基本功能,实现了产品的浏览,购物车管理,订单管理等功能。
在在线购物车系统中,顾客可以很方便的对商品进行浏览检索,查看商品的详细资料。
然后根据各人的喜好购买心仪的商品,系统会自动为顾客生成订单,按照顾客索填写的信息提交订单并发货。
关键词:
B/S模式;JSP;Servlet;MySQL
Abstract
WiththerapiddevelopmentofinformationtechniquesandthecontinuousspreadofInternet.PeoplenotonlytotherequirementoftheInternettechnologyisbrowsingtheweb,sendandreceiveemail。
IncreasinglybusypeoplebegintopursuethehouseboundusetheInternetthisapowerfulplatformforonlineshopping,suchasonlineorder,onlinebooking,onlinepharmacies,etc.Fortheenterprise,Whetherbetweenenterprises(BtoB),orbetweencompaniesandcustomers(BtoC),Ifcanrealizeonlinetradingwillgreatlyimprovethespeedtosavetransactioncost.
ThispaperdesignbasedonJSPonlineshoppingcartsystem,UnderthedevelopmentenvironmentisbasedonWindowssystem,Usingthetechniquesinclude:
B/Smode,ThethoughtoftheMVCthree-tierarchitecture,TheServlet/JSP,JDBC,MySQL,etc.ThetoolsusedhaveMySQL5。
0asthedatabaseplatform,Tomcat6。
0asaserver,TheJSPasthefrontdeskpagedisplays,Realizetheseparationofapplicationlogicandpagemakestheinterfacedesignismoresimple.Thebasicfunctionofanonlineshoppingcartsystemtosimulatetheonlineshopping,Realizedproductbrowsing,shoppingcartmanagement,ordermanagement,andotherfunctions。
Intheonlineshoppingcartsystem,Customerscaneasilybrowsetheretrieval,Viewthedetailsofthegoods.Therightandthenthebefondofaccordingtoeachpurchasethegoods,Thesystemwillautomaticallygenerateordersforcustomers,Accordingtothecustomerfillintheinformationsubmittedtotheorderanddelivery。
Keywords:
B/S;JSP;Servlet;MySQL
第一章绪论
随着互联网的快速发展,电子商务成为了主要的商业交易模式,网上购物是电子商务的一种基本形式,这个流行于二十一的购物方式已经被越来越多的人所接受
1。
1课题背景
近年来,随着Internet的快速发展和普及化,使Internet成为报刊、电视、广播等传统媒体之后而兴起的一种新传媒介质,人们对于互联网技术的需求已不仅仅是浏览网站,收发电子邮件。
日益忙碌的人们开始追求足不出户就可以购买所需的商品。
网上商城购物成了一种新型而热门的购物方式应运而生。
在互联网日益流行的今天,网络是主角,是时代的宠儿.在网络大家族中,电子商务则是一个热点。
电子商务一个最基本体现就是网上购物,从一定程度上讲它就是网上超市,也就是一种网上销售。
“网"字意味着它具有信息时代的快捷方便等特征.事实上电子商务的出现,给消费者的地位,消费观念带来了重要的变化。
网上购物系统作为B2B(BusinesstoCustomer),B2C(CustomertoCustomer)前端商务平台,在其商务活动中起到举足轻重的作用,本文主要考虑的是如何实现基于JSP的在线购物车系统。
购物网站及购物车实现这一课题,是应用前景非常广阔的,它的解决方法不仅可以针对购物网站,同样可以应用于多种多样的网站建设。
1。
2网上购物的发展状况
在我国,网上购物从无到有也不过短短几年时间。
我国第一家网上购物发生在1996年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。
根据CNNIC的统计结果,截止2004年1月中国有互联网用户7950万人,而又有40.7%以上的网民在过去的一年里有过网上购物经历,这就说明中国有网上购物的用户达是3235.7万人,并且这一数字还在以17%左右的速度增长,到2006年中国网上购物用户将达到6962万人,这说明在中国发展网上购物具有良好的群众基础,网上购物方式正逐渐被大家所接受。
1.3项目提出的意义
自我国加入WTO后,越来越多的传统企业进一步认识到企业经济发展的必然趋势是以网络化、全球化为主要特征。
而企业实行电子商务则成为企业发展与国际接轨的必要条件.多年来国家十分重视企业的信息化建设,并做了大量工作,但目前企业开始实施信息化的比例还不到20%。
所以电子购物网站的实现是一个非常迫切的需求。
现代的网络,已经经历过迅速发展的时期,它的技术也已经相当成熟。
因此,依靠网络技术来架设一个网站会在很多方面得到相关的支持。
现在的网络对于人们来说,已不再是单单获得信息的意义,更反应了现代人生活的理念,更为重要的是成为企业与商家宣传产品,介绍自身的平台。
因为现代社会愈发的依赖于网络,特别是“万维网”,为企业或商家量身设计一个网站被默认为必不可少的事情.利用电子商务的模式,在介绍推广自己的同时,以新的一种渠道销售自己的产品,也愈发被关注。
因此,设计一个具有电子商务功能的企业网站具有非常好的开发与应用前景.
1。
4本课题主要研究内容
随着网络技术的发展,特别是电子商务的普及和应用,开发一套简单实用的网上商城可谓当务之急.本文主要研究如何实现以下内容:
1现用户的登录以及用户的注册。
(2)实现购物车的功能。
(3)实现订单模块的管理.
1。
5论文结构
本文分为七章,通过对购物网站的分析,设计与实现的过程的全面介绍来展示系统的全部特性。
第一章绪论,描述了课题背景、网上购物的发展状况、项目提出的意义,进而总结出此次课题的主要研究内容。
第二章相关技术,系统设计中一些相关技术的简介。
第三章系统分析,首先从几个角度阐述了系统开发的可行性,然后进行了系统的功能需求分析。
第四章系统实现,这一阶段是编码阶段,对各个模块进行具体实现
第五章系统测试,对系统进行了三方面的测试,以此确保系统的正确性。
第六章总结与展望。
第二章系统所采用的技术
本章对设计与实现在线购物车系统所采用的技术进行概要简述,主要包括MVC设计模式,B/S系统架构、JavaScript技术,JSP技术,MySQL数据库以及通过JDBC接口访问数据库。
2.1MVC设计模式和B/S系统架构
2.1.1MVC设计模式
MVC设计模式是一种流行的软件工程架构模式,它把系统分为三个基本部分:
视图层(View)、模型层(Model)和控制层(Control)。
这三个部分以最少的耦合协同工作,从而提高应用的可扩展性和可维护性.MVC的结构如图2—1。
图2—1MVC的结构图
首先控制器接受用户的请求,并决定应该调用哪个模型来处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图格式化模型返回的数据,并通过视图呈现给客户。
总的来说,MVC设计模式具有以下有点:
⑴首先,最重要的是是多个视图能共享一个模型,提高了代码的可重用性。
⑵由于MVC的三个模块相互独一,改变其中一个不会影响其它两个,所以依据这种设计思想能构造良好的松耦合的构件。
⑶此外,控制器提高了应用程序的可配置性和灵活性。
可用来连接不同的视图和模型去完成用户需求,这样控制器可以为构造应用程序提供有力的手段。
2.1.2B/S系统架构
网上的购物基于Web系统,传统的C/S架构已经不能满足大量的用户访问及操作。
B/S是是浏览器/服务器英文的简写,具体的结构是浏览器&Web服务器&数据库服务器。
相对于C/S架构的“胖"客户端,B/S架构不需要安装很多相应的操作软件,只需要安装一个浏览器。
他将大量的数据处理工作交给服务器处理,客户端只需要通过浏览器就可以向服务器发送访问请求和接受处理结果。
由于B/S架构的大多数功能都是在服务器上实现,所以降低了系统维护的工作。
B/S架构将会成为越来越多软件开发的选择。
2.2JavaScript技术
JavaScript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。
编写HTML文档就像编辑文本文件一样方便。
JavaScript是一种描述性语言,它可以被嵌入HTML的文件之中.通过JavaScript可以做到响应用户的需求事件(如表单的输入),这样当一位使用者输入一项信息时,它不需要通过网络传送到服务器端进行处理再传回来的过程,而可以直接在客户端进行事件的处理。
你也可以想像成有一个可执行程序在你的客户端上执行一样(但这种执行程序是有限的,它对客户端电脑的控制力很差)!
JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言,有了JavaScript,可使网页变得生动。
使用它的目的是与HTML超文本标识语言、Java脚本语言一起实现在一个网页中链接多个对象,与网络客户交互作用,从而可以开发客户端的应用程序。
它是通过嵌入或调入在标准的HTML语言中实现的。
2.3JSP技术
本系统采用JSP技术开发。
因为JSP与同类的ASP、PHP相比有着独特的优势。
JSP是由SunMicrosystems公司推出的技术,它以Servlet技术为基础,又在许多方面作了改进,并且充分借鉴了ASP和PHP一些合理的地方.它的平台无关性胜过ASP技术,而强大的JDBC数据库接口规范又优于PHP技术,它在动态网页的建设中有强大而特别的功能。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给用户。
如果第一次访问JSP文件,将被服务器翻译成对应的特殊Java文件,也就是Servlet。
然后被编译成.class文件并加载到内存中。
如果以后访问该JSP,那就直接访问内存中的JSP实例.所以第一次访问JSP慢,第二次以后访问该JSP文件的数度就会变快了。
JSP的工作原理图如下图2—2所示:
图2-2JSP工作原理图
2.4MySQL数据库技术
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL具有以下特点。
⑴.用C和C++编写,并使用多种编译器进行测试,保证源代码的可移植性。
⑵。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了数度并提高了灵活性。
⑶。
MySQL是一种开放源代码软件,“开源代码"意味着任何人都能免费使用软件,甚至个性化的修改软件。
⑷。
MySQL数据库服务器具有稳定,快速和易于使用的特点
⑸.可以处理拥有上千万条记录的大型数据
2.5通过JDBC对数据库进行访问
JDBC(JavaDataBaseConnectivity)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一的访问,它由一组用Java语言编写的类和接口组成。
JDBC为开发人员提供了统一的接口。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事情.换言之,有了JDBCAPI,就不必为访问MySQL数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或者为访问SqlServer又编写另一个程序等等。
程序员只需要用JDBCAPI写一个程序就够了,它可以向相应数据库发送SQL调用。
同时,将Java语句和JDBC结合起来就可以让它在任何平台上运行,这也有Java语言“编写一次,处处运行"的优势。
JDBC访问数据库的应用步骤如图2—3所示:
图2—3JDBC访问数据库应用步骤
第三章系统需求分析
在本系统开发之初,对系统需求进行了分析,明确了系统对功能与性能的要求,并进行了可行性分析.这里首先针对系统开发的可行性从社会和技术两方面进行了分析和研究。
其次通过需求分析明确了系统的功能与性能目标,确定了系统的功能行需求.
3.1系统的可行性研究
可行性分析就是在项目开发之前,在系统调查的基础上,针对新系统开发的必要性和可能性进行多方面的分析和论证,以减少项目开发的盲目性。
3。
1。
1社会可行性
随着信息化社会的到来,电子商务成为新的经济增长方式,中国电子商务保持着快速发展的势头,已进入爆炸式增长阶段.90%选择网上购物的用户都认为,网上购物更加节约时间,操作更方便快捷。
随着生活节奏的加快,越来越多的人开始选择网上购物.
可以预计,随着网络的高速发展以及人们对电子商务的认识不断清晰.网购这一电子商务将成为市场的领跑者。
3.1.2技术可行性
因为计算机硬件的发展已经越来越快,现在PC机的性能已经可以胜任普通网站的Web服务器。
购买一台高性能PC机作为企业的网站服务器对于企业来说并不是问题。
从软件角度来看,JSP+Servlet技术已经非常成熟,成为一种非常流行的网站开发技术。
可以建立先进、安全和跨平台的动态网站。
后台数据库也相当稳定。
加以指导老师的帮助可以得到很多的技术支持.由于在学习数据库时一直以MySQL作为例子,所以采用MySQL作为数据库的后台。
3。
2需求分析
需求分析分为业务需求分析、用户需求分析、功能需求分析以及性能需求分析。
这一阶段的基本任务不是确定系统怎样完成它的工作,而是确定系统必须完成那些工作。
3.2。
1业务需求分析
业务需求反映了组织机构或客户对系统、产品高层次的目标要求。
业务需求和分析对软件产品来说起到关键性作用,网站的制作已经不单单是把企业想要表达的内容摆放在网站上那么简单,如今的网站应包含更多的设计元素,以此给用户良好的使用体验。
分析人员通过业务需求分析,确定一个电子商务网站必须具有的基本信息及功能。
对业务需求进行分析,就是解决要输入什么数据,得到什么结果,最后应该输出什么的问题。
3.2。
2用户需求分析
用户需求分析在业务需求的基础上,进一步提出网站需要完成的任务.这一阶段一切信息与需求需要站在用户的角度上,尽量避免分析人员的主观想象.用户需求分析具体提出了商家和卖家所需要的具体系统功能,另一个重要的内容就是能够显示出该商城现有的各类型商品及其详细信息;由于消费者的需求在增长和变化,购物商城也要能应对发展的变化.
3.2。
4运行环境和开发工具
本系统开发的基本环境如表3-1
表3-1系统硬件配置及开发工具
项目
配置
CPU
P6200
内存
2G
硬盘
320G
操作系统
Windows7
IDE
MyEclipse8。
5
应用服务器
Tomcat7.0
第四章登录界面的实现
用户登录模块相对来说比较简单,当用户输入用户名及密码后点击登录,系统将会把登录信息发送给服务器,服务器根据浏览器的请求,执行相应的组件,完成用户身份的验证,如果验证通过,则显示系统的主界面,用户将可以浏览商品.如果用户验证身份不成功,则提示用户输入的信息不正确,并且停留在登录界面.另外,在线购物网站需要很高的稳定性和安全性,因此对用户名的约束是不允许使用恶意的代码作为用户名。
启动服务器,在浏览器里输入相应的地址(在本机上输入:
http:
//localhost:
8080/BookShop),进入系统主界面,也就是登录界面,如图4—1所示:
图4—1
具体实现代码如下:
(1)Bookinfo。
java
importjava.sql.Connection;
importjava。
sql.ResultSet;
importjava.sql。
SQLException;
importjava.sql.Statement;
importjava.util。
ArrayList;
importjava.util。
List;
publicclassbookinfo{
//根据用户名和密码查询用户是否存在,如果存在则登录成功
publicstaticintselect(Stringusername,Stringpassword){
Connectioncon=DBUtil.connection();//获得数据库连接
Stringurl=”select*frombookwhereusername=’"+username+”’andpassword=’”+password+”'”;
intflag=0;
try{
//创建数据库语句
Statementst=con.createStatement();
//用结果集来显示查询的结果
ResultSetrs=st。
executeQuery(url);//执行查询得到数据集
if(rs。
next()){//rs.next()方法将指向记录的光标向下移动,每调用一次,光标便会向下移动一次
flag=1;
}else{
//
flag=0;
}
}catch(SQLExceptione){
e.printStackTrace();
}
returnflag;
}
publicstaticvoidmain(String[]args){
System.out。
println(bookinfo.select("sa",”sa"));
}
(2)loginServlet.java
importjava。
io.IOException;
importjava。
io.PrintWriter;
importjava.sql。
Connection;
importjava。
sql。
ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.util.ArrayList;
importjava。
util。
List;
importjavax.servlet。
ServletException;
importjavax.servlet。
http。
HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet。
http。
HttpServletResponse;
publicclassLoginServletextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doPost(request,response);
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response。
setContentType(”text/html;charset=utf-8”);
//获取表单数据
St