武汉职业技术学院
计算机与软件工程学院
JSP课程设计报告
题 目 网上购物车
指导教师 钱宇虹
学生姓名 施睿智 学号 08032723
专 业软件技术 班级 二班
院 (系)计算机与软件工程学院
完成时间 20##年6月3日
目录
1.网上购物车实现分析--------------------------------------------------------------------------2
1.1. 上购物车模块功能要求----------------------------------------------------------2
1.2. 购物模块设计 ----------------------------------------------------------2
1.3. 购物车模块的模块结构----------------------------------------------------------2
2.网上购物车数据库设计--------------------------------------------------------------------------2
2.1.数据库【book表】E-R模型-------------------------------------------------------3
2.2.数据表book结构---------------------------------------------------------------------3
3.网上购物车系统具体实现----------------------------------------------------------------------3
3.1. model 1和model 11-------------------------------------------------------------------4
3.2.MVC模式 - ----------------------------------------------------------------------4
3.3.数据访问层 --------------------------------------------------------------------5
3.4.数据库连接池配置文件-----------------------------------------------------------------6
4.购物车模块系统测试及界面----------------------------------------------------------------7
5.实训心得 ----------------------------------------------------------------------------9
1. 网上购物车实现分析
1.1.上购物车模块功能要求
用户可以将某些商品放到购物车中,也可以将购物车中的商品进行删除,取得购物车内商品的总金额。
1.2.购物模块设计
(1) 将所选商品放入购物车。
(2) 修改购物车中商品数量
(3) 计算商品价格
(4) 移除商品
(5) 用户点击继续购物返回主界面。
(5) 用户点击修改数量按钮将购物车中的商品信息生成表单传入数据库并保持。
1.3. 购物车模块的模块结构
购物车模块的模块结构
本系统是网上购物系统的购物车模块,主要功能:用户可以将某些商品放到购物车中,也可以将购物车中的商品进行删除,取得购物车内商品的总金额。
本系统以tomcat为容器,用Myeclipse为开发的平台,采用了DAO技术,用jsp进行编码,来实现了一个在线购物的功能。本系统采用MVC架构:
2. 数据库设计:
数据库名称:Shop
包含数据表:Book
2.1. 数据库【book表】E-R模型
2.2.数据表Book
3.网上购物车具体实现
3.1.model 1和model 11
q Model I 体系结构结合使用 JSP 页面和 JavaBean 来开发 Web 应用程序,具体的实现如下图:
q Model II 体系结构结合使用 JSP 页面和 JavaBean 来开发 Web 应用程序
q MVC 体系结构的优点:
q MVC 体系结构的各种对象包括:
通过上面的比较该购物车用mvc实现是最佳选择
3.2.mvc模式
MVC(Model-View-Controller)模式,即模型-视图-控制器模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分.
·模型(Model):业务逻辑层.实现具体的业务逻辑,状态管理的功能.
·视图(View):表示层.即与用户实现交互的界面,通常实现数据输入和输出功能.
·控制器(Controller):控制层.起到控制整个业务流程(Flow Control)的作用, 实现View和Model部分的协同工作.
MVC设计模式可以针对需要为同样的数据提供多个不同视图的应用程序,例如:公司产品数据库中同样的产品信息数据,但需要根据用户的不同需求在页面中显示其所需的不同产品信息.
MVC设计模式中,事件一般是指客户端Web浏览器提交的各种不同请求,这些请求由控制器进行处理,控制器根据事件的类型来改变模型或各个视图,视图也可以接受模型发出的数据更新的通知,依据数据更新的结果调整视图效果,呈现在用户面前.而模型也可以通过视图所获得的用户提交的数据进行具体业务逻辑的处理.
显然这样的运行机制可以起到分工明确,指责清晰,各尽所长的效果.而在软件开发的过程中,这样的开发方式无疑可以有效地区分不同的开发者,尽可能减少彼此之间的互相影响.充分发挥每个开发者的特长.这在开发大型复杂的Web项目时体现得尤为突出.
MVC设计模式的结构
3.3.数据库访问层:
依据组件开发模式的思想,系统将访问数据库的功能封装在组件中。基于Java可采用Java Bean、DAO数据库连接池技术,采用由轻量级的Java Bean组件来实现数据库访问操作的封装。通过该组件来完成数据库连接、打开数据库、关闭数据库、执行查询、插人、更新和删除等操作。将这些复杂的业务代码封装在简单的Java Bean组件中,即保护了代码,提高了代码的重用性,又降低了系统的复杂度。JSP,Servlet和应用程序均可以通过调用该组件访问数据库,提供了应用程序的开发效率。
具体包括:①根据所采用的DBMS,装载相应的数据库驱动程序②与数据库建立连接③向数据库发送SQL请求,完成数据库的查询、插人、更新、删除等操作④执行数据库操作的结果返回到应用程序中⑤关闭数据库连接。
3.4.数据库连接池配置文件
1、首先是确保Tomcat安装目录的\common\lib目录(或者是\webapps\yourweb\WEB-INF\lib目录,具体位于哪个目录,根据实际应用情况而定)中已经包含了JDBC连接数据库所必须的三个jar文件。JDBC驱动器中包含了这三个文件,将JDBC驱动器安装后的lib目录下的三个jar文件拷贝到Tomcat安装目录的common/lib目录下即。这样在JSP页面中使用数据库连接时,就可以使用JDBC驱动中提供的接口和类。
2、修改Tomcat安装目录的conf子目录中的server.xml文件,在<GlobalNamingResources>元素中添加如下的内容,用以配置连接数据库的各项信息:
<!--这是要添加的配置文件-->
<Resource name="jdbc/mytest"
type="javax.sql.DataSource"
driverClassName = "com.mysql.jdbc.Driver"
username="root"
password="mysql" url="jdbc:mysql://localhost:3306/db_store?useUnicode=true&characterEncoding=gbk"
maxActive="20"
maxIdle="30"
maxWait="50" />
<!--上面是是要添加的配置文件-->
其中的每个字段都有自己的含义,读者在具体操作时需要根据具体环境的不同来修改其中各个属性的值。例如:
Ø name:定义数据库连接的名称。
Ø driverClassName:指定JDBC驱动器的类。
Ø username:表示登陆数据库时使用的用户名。
Ø password:为登陆数据库的密码。
Ø maxIdle:为数据库连接的最大空闲时间。超过此空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制。
Ø maxWait:表示最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
Ø maxActive:表示连接池的最大数据库连接数。设为0表示无限制。
Ø url:表示的是需要连接的数据库的地址和名称。
需要注意的一个问题是,在测试使用的数据库中,需要为此处使用的用户名指定相应的权限。
3、修改Tomcat安装目录的conf子目录中的context.xml文件,在< Context>元素中加入以下内容:
<ResourceLink name="jdbc/mytest" global="jdbc/mytest" type="javax.sql.DataSource" /> <Conetxt>元素代表一个Web应用,连接池需要读取该元素中的信息完成数据库的连接。
4 .购物车模块系统测试及界面
购物车界面:
1. 登陆界面:
2. 购物页面:
3. 购物显示界面:
4. 修改数量:
5. 再次购物:
5、实训总结:
这样子简易JSP购物车算是完成了,当然这个JSP购物车只是简单的运用,没有涉及到大量的数据,作为入门的教学的例子是完全值得我们这些初学者消化的了!通过这次JSP购物车的联系,我对MVC的设计模式有了深刻的了解!不过其中的一些细节,还是需要我自己去慢慢的体会的!比如分页就是一个值得我去好好去研究的例子.通过这次实习,确实让自己成长了许多。在实习期间,我学到了许多东西,遇到了一些困难,也看到了自己本身存在着许多问题。在测试时要想使自己的测试更加周全。总会遇到这样那样的问题,当前的软件的功能日趋复杂,不学到一定的深度和广度是难以在实际工作中应付自如的。因此反映出学习的还不够,缺点疏漏。通过在学习实践中和老师的指导下,我们有了更丰富全面的软件技术和应用技巧,使我们真正对所学的软件融会贯通,熟练在手。需再加以刻苦钻研及学习,不断开拓视野,增强自己的实践操作技能,为以后能做好工作而努力。经过一个多星期艰苦卓绝的努力,总于完成了购物车模块的实训.从当初领到题目到最后调试完成,经历了无数次的错误->修改代码->重启服务器->运行的过程,感觉到平时学的知识是多么的浅薄,书到用时方恨少,现在是体验的真真切切.本来已经耳熟能详的代码,一到IDE中书写,却提笔忘字,这充分的反应了我平时的基本功不扎实,常用代码的不熟练.给我以后的工作敲响了警钟,有了努力的方向.但通过这次实训,我也感受到了开源的方便,遇到什么问题,上网一查,就知道该怎么弄了,以前做个课程设计都是怕别人和我的一样,不愿意给别人看,现在知道了程序弄不出来是多么的着急,学习都是相互的,互相研究才能共同进步的.以后要多多注意这方面的事情,本次实训是我工作前一次很好的演练和实践的机会,是培养独立思考问题和自学能力的锻炼,使我意识到必须努力学习才能才工作中体现自己的价值,适应社会的需要.
河南理工大学
计算机科学与技术学院实训报告
2009 — 2010学年第2学期
课程名称
设计题目 个人博客系统
学生姓名 侯嘉鑫
学 号
专业班级 计算机信息管理09.01
指导教师 陈玮
年 月 日
目 录
目录
1.个人博客实现分析--------------------------------------------------------------------------2
1.1. 功能要求---------------------------------------------------------------------------2
1.2. 用户模块设计--------- ----------------------------------------------------------2
1.3. 博文模块设计-------------------------------------------------------------------2
1.4. 通讯录模块设计-------------------------------------------------------------------2
2.个人博客数据库设计--------------------------------------------------------------------------2
2.1.数据库user-------------------------------------------------------3
2.2.数据表users 、article、friend---------------------------------------------------3
3.个人博客系统具体实现----------------------------------------------------------------------3
3.1. model 1和model 11-------------------------------------------------------------------4
3.2.MVC模式 - ----------------------------------------------------------------------4
3.3.数据访问层 --------------------------------------------------------------------5
3.4.数据库连接池配置文件-----------------------------------------------------------------6 4.个人博客系统测试及实现界面-----------------------------------------------------------7
5.实训心得 -----------------------------------------
I
第一部分 个人博客实现系统
1.1 功能需求
1. 实现用户模块并建立相应数据库;
2. 实现用户博文模块并建立相应数据库;
3. 实现用户通讯录模块并建立相应数据库;
1.2 用户模块设计
1. 实现用户登录功能
2. 实现用户注销功能
3. 实现用户注册功能
(以上功能均使用ajax功能读取user数据库的users表读取数据)
1.3 博文模块设计
1. 实现写博文功能:
a) 使用javascript代码实现ckeditor使用;
2. 实现博文标题预览
a) 从数据库中通过title标题读取数据
1.4 通讯录模块设计
1. 通讯录 分页查看功能
2. 通讯录添加修改删除功能
1
第二部分 个人博客数据库设计
数据库选用机房安装的MySQL 5.1,配置见视频(数据库配置.exe)。数据库为user,数据库表设计如下:
表1 用户表users
表2 通讯录表friends
第三部分 个人博客系统具体实现
3.1.model 1和model 11
? Model I 体系结构结合使用 JSP 页面和 JavaBean 来开发 Web 应用程序,具体的
实现如下图:
? Model II 体系结构结合使用 JSP 页面和 JavaBean 来开发 Web 应用程序
2
? MVC 体系结构的各种对象包括:
通过上面的比较该购物车用mvc实现是最佳选择
3.2.mvc模式
MVC(Model-View-Controller)模式,即模型-视图-控制器模式
,其核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分.
·模型(Model):业务逻辑层.实现具体的业务逻辑,状态管理的功能.
·视图(View):表示层.即与用户实现交互的界面,通常实现数据输入和输出功能.
·控制器(Controller):控制层.起到控制整个业务流程(Flow Control)的作用, 实现View和Model部分的协同工作.
MVC设计模式可以针对需要为同样的数据提供多个不同视图的应用程序,例如:公司产
3
品数据库中同样的产品信息数据,但需要根据用户的不同需求在页面中显示其所需的不同产品信息.
MVC设计模式中,事件一般是指客户端Web浏览器提交的各种不同请求,这些请求由控制器进行处理,控制器根据事件的类型来改变模型或各个视图,视图也可以接受模型发出的数据更新的通知,依据数据更新的结果调整视图效果,呈现在用户面前.而模型也可以通过视图所获得的用户提交的数据进行具体业务逻辑的处理.
显然这样的运行机制可以起到分工明确,指责清晰,各尽所长的效果.而在软件开发的过程中,这样的开发方式无疑可以有效地区分不同的开发者,尽可能减少彼此之间的互相影响.充分发挥每个开发者的特长.这在开发大型复杂的Web项目时体现得尤为突出.
MVC设计模式的结构
3.3.数据库访问层:
依据组件开发模式的思想,系统将访问数据库的功能封装在组件中。基于Java可采用Java Bean、DAO数据库连接池技术,采用由轻量级的Java Bean组件来实现数据库访问操作的封装。通过该组件来完成数据库连接、打开数据库、关闭数据库、执行查询、插人、更新和删除等操作。将这些复杂的业务代码封装在简单的Java Bean组件中,即保护了代码,提高了代码的重用性,又降低了系统的复杂度。JSP,Servlet和应用程序均可以通过
4
调用该组件访问数据库,提供了应用程序的开发效率。
具体包括:①根据所采用的DBMS,装载相应的数据库驱动程序②与数据库建立连接③向数据库发送SQL请求,完成数据库的查询、插人、更新、删除等操作④执行数据库操作的结果返回到应用程序中⑤关闭数据库连接。
3.4.数据库连接池文件
1、
package MySqlPool;
import java.sql.*;
import javax.naming.*;
public class DBpool {
private static Connection conn; public static Connection getConnection() throws conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/use }
}
}catch(Exception e){ } return conn; e.printStackTrace(); try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); SQLException,NamingException{ r?Unicode=true&characterEncording=gb18030","root","85121436");
第四部分 个人博客系统测试及实现界面
0. 主页设计
使用Dreamvaver设计了大致的框架效果如下:
5
1. 用户模块
a. 用户登录
使用ajax实现登陆 并从users数据库读取数据
效果如下:
b. 用户注册
通过ajax同步检测输入信息;并通过servlet及javabean实现插入数据库信息和注册 效果如下:
6
2. 博文模块
a. 博文发表
通过javascript代码嵌入ckeditor编辑工具;
使用servlet+javabean实现数据库写入和文章发表; 效果如下:
b. 文章列表浏览
效果如下:
7
3.通讯录模块
a. 通讯录添加删除修改功能
8
总 结
这样子简易JSP个人博客系统算是完成了,当然这个JSP博客只是简单的运用,没有涉及到大量的数据,作为入门的教学的例子是完全值得我们这些初学者消化的了!通过这次JSP博客的联系,我对MVC的设计模式有了深刻的了解!不过其中的一些细节,还是需要我自己去慢慢的体会的!比如分页就是一个值得我去好好去研究的例子.通过这次实习,确实让自己成长了许多。在实习期间,我学到了许多东西,遇到了一些困难,也看到了自己本身存在着许多问题。在测试时要想使自己的测试更加周全。总会遇到这样那样的问题,当前的软件的功能日趋复杂,不学到一定的深度和广度是难以在实际工作中应付自如的。因此反映出学习的还不够,缺点疏漏。通过在学习实践中和老师的指导下,我们有了更丰富全面的软件技术和应用技巧,使我们真正对所学的软件融会贯通,熟练在手。需再加以刻苦钻研及学习,不断开拓视野,增强自己的实践操作技能,为以后能做好工作而努力。
从当初领到题目到最后调试完成,经历了无数次的错误->修改代码->重启服务器->运行的过程,感觉到平时学的知识是多么的浅薄,书到用时方恨少,现在是体验的真真切切.本来已经耳熟能详的代码,一到IDE中书写,却提笔忘字,这充分的反应了我平时的基本功不扎实,常用代码的不熟练.给我以后的工作敲响了警钟,有了努力的方向.但通过这次实训,我也感受到了开源的方便,遇到什么问题,上网一查,就知道该怎么弄了,以前做个课程设计都是怕别人和我的一样,不愿意给别人看,现在知道了程序弄不出来是多么的着急,学习都是相互的,互相研究才能共同进步的.以后要多多注意这方面的事情,本次实训是我工作前一次很好的演练和实践的机会,是培养独立思考问题和自学能力的锻炼,使我意识到必须努力学习才能才工作中体现自己的价值,适应社会的需要.
9
评定教师签名:
日期:
10
企业信息管理系统概述一企业信息管理需求分析1登录页面模块登录页面模块功能如下对登录页面进行设置要求输入用户名和密码正确之后才可登录…
一实习目的通过JSP的学习掌握编写在线网上购书系统连接SQLserver数据库掌握在线购物系统的需求分析系统设计代码编写和测试以及…
武汉职业技术学院计算机与软件工程学院JSP实训报告武汉职业技术学院计算机与软件工程学院JSP课程设计报告题目网上购物车指导教师钱宇…
西安航空职业技术学院实验设计用纸西安航空职业技术学院课程课程设计说明书设计题目专业班级学号姓名指导教师20xx年6月第1页共17页…
天津电子信息职业技术学院暨国家示范性软件职业技术学院题目姓名系别专业网站规划与开发技术班级指导教师设计时间动态网页编程实训Ipho…
一、实训项目简易记事本二、实训目的和要求本次实训是对前面学过的所有面向对象的编程思想以及JAVAWEB编程方法的一个总结、回顾和实…
天津电子信息职业技术学院暨国家示范性软件职业技术学院题目姓名系别专业网站规划与开发技术班级指导教师设计时间动态网页编程实训Ipho…
企业信息管理系统概述一企业信息管理需求分析1登录页面模块登录页面模块功能如下对登录页面进行设置要求输入用户名和密码正确之后才可登录…
计算机与信息工程学院jsp数据库系统原理实验报告一实验目的一个学生成绩管理系统能够实现对学生老师基本信息课程信息成绩信息的管理学生…
1苏州市职业大学实习实训报告名称JSP商务网站设计实训年月日至年月日共1周学院部计算机工程学院班级12网络技术2班学号126308…
JSP程序设计实训总结班级:软件技术姓名:张***学号:113230****在这一周JSP程序设计的实训的时间里,实训老师针对我们…