jsp+servlet+bean做的网上书店系统由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“网上书店信息管理系统”。
*************************** BookShop电子书店 * ****************************** 以我现在的水平也只能分出这几个功能。如果以后我学的更多了,我会及时的给大家补充的。那个写的可能还不够详细,嘿嘿,不懂的记得问我哦。.功能分析
> 网站首页index.jsp,index.jsp 向顾客展示出所有书籍的封面图片及图书名字。然后顾客通过点击图片连接到图书具体的信息页面bookshop.jsp,或者通过点击图书名字链接到 Bookshop.jsp页面。然后将所要购买的书放入购物车,然后跳到显示购买的所有图书的bookList.jsp页面。2.代码结构:
1>数据库连接类(要实现从数据库里读取数据必须要有数据库连接类):
DBConnection.java
2>数据操作类(它用来实现对数据库中所有数据的操作,例如增、删、改、查): CURD.java
3>控制处理类(它主要用来处理业务,利用数据操作类处理来自jsp页面的数据,然后完成页面之间的跳转),就是所谓的servlet DoAllServlet.java
4>实体类(与数据库中的表一一对应,实体类的每一个属性就是表中的每一列)
BookInfo.java
3.代码编写
数据库操作类:DBConnection.java public cla DBConnection { private Connection con=null;
private static final String driver=“com.mysql.jdbc.Driver”;private static final String
url=“jdbc:mysql://localhost:3306/bookshop?useUnicode=true&characterEncoding=gbk”;//一行放不开,就占了两行
// ?useUnicode=true&characterEncoding=gbk,这句话是处理数据库乱码问题
private static final String user=“root”;private static final String paword=“123456”;// 这句话下面的是构造方法,我把数据库连接语句放在里面初始化了,其实也可以放在 //具体的得到连接的方法中。
//所谓构造方法,就是与类名字相同,且没有返回类型的方法(例如void是无任何返回类型 //,String返回的是字符串类型的,等等,如int,boolean。记住只要是有返回类型必须return // 最后的结果)
public DBConnection(){
try {
Cla.forName(driver);
con=DriverManager.getConnection(url,user,paword);} catch(ClaNotFoundException e){
System.out.println(“数据库加载失败”);
e.printStackTrace();}catch(SQLException e){
System.out.println(“连接数据库失败”);
e.printStackTrace();} } //得到数据库连接的方法
public Connection getConnection(){
return con;
//对于上面的返回类型问题,例如这个方法,Connection就是要返回的类型,所以必须return } public void close(){
//这个方法就是无返回类型的try{
if(con!=null)
con.close();
}catch(SQLException e){
System.out.println(“资源关闭失败”);
e.printStackTrace();
} }
实体类:BookInfo.java public cla BookInfo implements Serializable {
private String bookname;
private String author;
private float price;
private String publish;//出版社
private int publishId;//出版版次
private String publishtime;
private int stock;//库存
private String imageId;
public String getBookname(){
return bookname;
}
public void setBookname(String bookname){
this.bookname = bookname;
}
public String getAuthor(){
return author;
}
public void setAuthor(String author){
this.author = author;
}
public float getPrice(){
return price;
}
public void setPrice(float price){
this.price = price;
}
public String getPublish(){
return publish;
}
public void setPublish(String publish){
this.publish = publish;
}
public int getPublishId(){
return publishId;
}
public void setPublishId(int publishId){
this.publishId = publishId;
}
public String getPublishtime(){
return publishtime;
}
public void setPublishtime(String publishtime){
this.publishtime = publishtime;
}
public int getStock(){
return stock;
}
public void setStock(int stock){
this.stock = stock;
}
public String getImageId(){
return imageId;
}
public void setImageId(String imageId){
this.imageId = imageId;
}
}
数据操作类:CURD.java public cla CURD.java{
//查询所有图书
public List findAllBooks()throws Exception {
sql=“select * from bookinfo ”;//查询语句
psmt=dbcon.getConnection().prepareStatement(sql);/ /将sql语句放入链接中
rs=psmt.executeQuery();//执行sql语句
List booklist=new ArrayList();
//如果查询结果存在,则执行循环遍历封装所有结果
while(rs.next()){
BookInfo book=new BookInfo();
book.setImageId(rs.getString(1));
System.out.println(rs.getString(1));
book.setBookname(rs.getString(2));
book.setAuthor(rs.getString(3));
book.setPrice(rs.getFloat(4));
book.setPublish(rs.getString(5));
book.setPublishId(rs.getInt(6));
book.setPublishtime(rs.getString(7));
System.out.println(“数据库中”+rs.getInt(8));
book.setStock(rs.getInt(8));
//将封装好的book键入列表中
booklist.add(book);
}
return booklist;} //按imageId查询图书
public BookInfo findByImageId(String imageId)throws Exception {
sql=“select * from bookinfo where imageId=?”;
psmt=dbcon.getConnection().prepareStatement(sql);
psmt.setString(1, imageId);
rs=psmt.executeQuery();
BookInfo book=null;
if(rs.next())
{
book=new BookInfo();
book.setImageId(rs.getString(1));
book.setBookname(rs.getString(2));
book.setAuthor(rs.getString(3));
book.setPrice(rs.getFloat(4));
book.setPublish(rs.getString(5));
book.setPublishId(rs.getInt(6));
book.setPublishtime(rs.getString(7));
book.setStock(rs.getInt(8));
}
return book;} }
控制处理类: DoAllServlet.java // 是bookshop.jsp到转到BookShopServle这来的public cla BookShopServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding(“gbk”);
response.setCharacterEncoding(“gbk”);
// 1.获取jsp页面传递过来的参数
String imageId=request.getParameter(“imageId”);
//获取每一个进入网页的顾客的seionId
String seionId=request.getRequestedSeionId();
request.getSeion().setAttribute(“seionId”, seionId);
//System.out.println(imageId);
RealizeCURD curd=new RealizeCURD();
BookInfo book=curd.findByImageId(imageId);
//System.out.println(book);
if(book!=null){
request.getSeion(false).setAttribute(“imageId”, book);
request.getRequestDispatcher(“bookshop.jsp”).forward(request, response);
}else{
request.getRequestDispatcher(“index.jsp”).forward(request, response);
}
}
} } // 用seion来存储购物车
public cla UseSeionSaveBooksAction extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws Exception{
doPost(request, response); } public void doPost(HttpServletRequest request,HttpServletResponse response)
throws Exception{
request.setCharacterEncoding(“gbk”);
response.setCharacterEncoding(“gbk”);
int number=Integer.parseInt(request.getParameter(“number”));
System.out.println(“买的图书数量”+number);
if(!(“”.equals(number)))
{
BookInfo book=(BookInfo)request.getSeion(false).getAttribute(“imageId”);
System.out.println(“进入seion存储”+book.getBookname());
//用imageId作为每一种图书的标识
String imageId=book.getImageId();
UseSeionSave u=new UseSeionSave();
u.setBook(book);
u.setNumber(number);
//用seionId来作为购物车的标识
String seionId=request.getSeion(false).getAttribute(“seionId”).toString();
if(seionId.equals(request.getRequestedSeionId()))//判断是否为同一个顾客
{
Map chart=(Map)request.getSeion(false).getAttribute(seionId);
if(chart==null){
Map chart1=new HashMap();
//chart1.put(imageId, u);//以每一种书的图片编号为唯一区分放入购物车的图书
request.getSeion().setAttribute(seionId, chart1);
}else{
//判断购物车中是否已存在键为imageId的书
if((UseSeionSave)chart.get(imageId)==null)
{
chart.put(imageId,u);
}
else{
u.setNumber(chart.get(imageId).getNumber()+number);
request.getSeion().setAttribute(seionId, chart);
}
}
request.getRequestDispatcher(“bookList.jsp”).forward(request, response);
}else{
request.getRequestDispatcher(“index.jsp”).forward(request, response);
}
}
} }
JSP页面代码 Index.jsp首页
<%@ page language=“java” import=“java.util.*” pageEncoding=“gbk” %> <%@ page import=“java.lang.*,com.bzu.entity.*,com.bzu.dao.*”%> 图书列表
独家特供
欢迎进入图书城,请 登录 免费注册
[摘要] 网上书店管理系统在当今的网络中具有广泛的应用。本系统描术了通过包括因特网在内的计算机网络来购买、销售和交换商品、服务信息的过程,B2C能够绕过中介(如批发商、......
《管理信息系统》课程报告课题名称:网上书店电子商务系统设计第一部分,可行性分析1、引言1.1 项目背景与问题提出随着信息技术在国际贸易和商业领域的广泛应用,利用计算机技术......
目 录引言 .........................................................................................................................................1 1绪论 ...........
网上书店系统数据流图近年来,鲜花在线销售平台得到了迅速发展。在北美和欧洲市场,线上鲜花销售市场已经基本成熟,经过发展,已经逐渐被广大网友所接受。据不完全统计,已经有数千万......
单位代码学 号 分 类 号 密 级 文献综述网上书店销售系统设计与实现院(系)名称专业名称 学生姓名 指导教师信息工程学院2014 年 2 月 27 日 黄河科技学院毕业设计(文献综......