基于MVC模式开发的简易购物车系统.docx
- 文档编号:469517
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:38
- 大小:2.32MB
基于MVC模式开发的简易购物车系统.docx
《基于MVC模式开发的简易购物车系统.docx》由会员分享,可在线阅读,更多相关《基于MVC模式开发的简易购物车系统.docx(38页珍藏版)》请在冰豆网上搜索。
基于MVC模式开发的简易购物车系统
基于MVC模式开发的简易购物车系统
一、开发层次
1.数据库(JavaBean)
2.Dao层(先定义接口,并实现接口)
3.Service层(接口实现)
4.Control层(设计多少个servlet,基本上每个请求都需要一个单独的servlet来处理)
5.JSP页面
2、MVC模型概念图
使用JSP的MVC模型开发购物车(JSP+Servlet+Javabean)。
必须有三层架构思想:
web层负责与用户打交道 业务处理层(服务层 service)数据访问层(dao)
三、具体开发步骤
1.搭建开发环境
1)导入开发包:
jdbc驱动(jstl的jar包)
2)创建程序所在的包,如下:
3)在MYSQL下创建库和表 字段:
book表有:
id,name,author,price,description
Userinfo表有:
userid,username,password
2.编码
1)开发实体类bean:
Book、Users
2) 开发dao (创建工具类)
3) 开发service
4) web层
3.实现效果如下:
1)在浏览器输入:
http:
//localhost:
8080/bookmarket/后如下图:
登录界面:
注册界面:
2)进入后显示图书列表
3)加入三种书进入购物车后
4)当点击 删除红楼梦这本书时
确定删除后
5)修改三国演义书本数量
修改后,总价变为80.0¥
6)当点击清空购物车时
清空购物车后
4.附源码:
//BookDao.java
packagecom.xh.bookmarket.dao;
importjava.util.List;
importcom.xh.bookmarket.beans.Book;
publicinterfaceBookDao{
publicList
publicBookfind(Stringid);
}
//BookDaoIml.java
packagecom.xh.bookmarket.dao;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.util.ArrayList;
importjava.util.List;
importcom.xh.bookmarket.beans.Book;
importcom.xh.bookmarket.utils.DBManager;
publicclassBookDaoImplimplementsBookDao{
publicList
Connectionconn=null;
PreparedStatementpt=null;
ResultSetrs=null;
try{
conn=DBManager.getConnection();
Stringsql="selectid,name,author,price,descriptionfrombook";
pt=conn.prepareStatement(sql);
rs=pt.executeQuery();
List
while(rs.next()){
Bookb=newBook();
b.setId(rs.getString("id"));
b.setName(rs.getString("name"));
b.setAuthor(rs.getString("author"));
b.setPrice(rs.getDouble("price"));
b.setDescription(rs.getString("description"));
list.add(b);
}
returnlist;
}catch(Exceptione){
//TODOAuto-generatedcatchblock
thrownewRuntimeException(e);
}finally{
DBManager.closeDB(conn,pt,rs);
}
}
publicBookfind(Stringid){
Connectionconn=null;
PreparedStatementpt=null;
ResultSetrs=null;
try{
conn=DBManager.getConnection();
Stringsql="select*frombookwhereid=?
";
pt=conn.prepareStatement(sql);
pt.setString(1,id);
rs=pt.executeQuery();
if(rs.next()){
Bookb=newBook();
b.setId(rs.getString("id"));
b.setName(rs.getString("name"));
b.setAuthor(rs.getString("author"));
b.setPrice(rs.getDouble("price"));
b.setDescription(rs.getString("description"));
returnb;
}
returnnull;
}catch(Exceptione){
//TODOAuto-generatedcatchblock
thrownewRuntimeException(e);
}finally{
DBManager.closeDB(conn,pt,rs);
}
}
}
//UserDao.java
packagecom.xh.bookmarket.dao;
importcom.xh.bookmarket.beans.Users;
publicinterfaceUserDao{
publicvoidadd(Usersuser);
}
//UserDaoIml.java
packagecom.xh.bookmarket.dao;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importcom.xh.bookmarket.beans.Users;
importcom.xh.bookmarket.utils.DBManager;
publicclassUserDaoImlimplementsUserDao{
publicvoidadd(Usersuser){
Stringsql="insertintouserinfo(username,password)values(?
?
)";
Connectionconn=DBManager.getConnection();
try{
PreparedStatementpst=(PreparedStatement)conn.prepareStatement(sql);
pst.setString(1,user.getUsername());
pst.setString(2,user.getPassword());
pst.executeUpdate();
pst.close();
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
finally{
DBManager.closeDB(conn,null,null);
}
}
}
//Users.java
packagecom.xh.bookmarket.beans;
publicclassUsers{
privateintuserid;
privateintgrants;
privateStringusername;
privateStringpassword;
publicintgetGrants(){
returngrants;
}
publicvoidsetGrants(intgrants){
this.grants=grants;
}
publicintgetUserid(){
returnuserid;
}
publicvoidsetUserid(intuserid){
this.userid=userid;
}
publicStringgetUsername(){
returnusername;
}
publicvoidsetUsername(Stringusername){
this.username=username;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
}
//Book.java
packagecom.xh.bookmarket.beans;
publicclassBook{
privateStringid;
privateStringname;
privateStringauthor;
privatedoubleprice;
privateStringdescription;
publicStringgetId(){
returnid;
}
publicvoidsetId(Stringid){
this.id=id;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetAuthor(){
returnauthor;
}
publicvoidsetAuthor(Stringauthor){
this.author=author;
}
publicdoublegetPrice(){
returnprice;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MVC 模式 开发 简易 购物 系统