jsp+servlet+bean做的网上书店系统_第1页
jsp+servlet+bean做的网上书店系统_第2页
jsp+servlet+bean做的网上书店系统_第3页
jsp+servlet+bean做的网上书店系统_第4页
jsp+servlet+bean做的网上书店系统_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、*BookShop电子书店 * *以我现在的水平也只能分出这几个功能。如果以后我学的更多了,我会及时的给大家补充的。那个写的可能还不够详细,嘿嘿,不懂的记得问我哦。1 . 功能分析 网站首页index.jsp,index.jsp 向顾客展示出所有书籍的封面图片及图书名字。然后顾客通过点击图片连接到图书具体的信息页面bookshop.jsp,或者通过点击图书名字链接到Bookshop.jsp页面。然后将所要购买的书放入购物车,然后跳到显示购买的所有图书的bookList.jsp页面。2. 代码结构: 1数据库连接类(要实现从数据库里读取数据必须要有数据库连接类): DBConnection.ja

2、va 2数据操作类(它用来实现对数据库中所有数据的操作,例如增、删、改、查):CURD.java 3控制处理类(它主要用来处理业务,利用数据操作类处理来自jsp页面的数据,然后完成页面之间的跳转),就是所谓的servletDoAllServlet.java 4实体类(与数据库中的表一一对应,实体类的每一个属性就是表中的每一列) BookInfo.java3. 代码编写数据库操作类:DBConnection.javapublic class DBConnection private Connection con=null; private static final String driver=c

3、om.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 password=;/ 这句话下面的是构造方法,我把数据库连接语句放在里面

4、初始化了,其实也可以放在/具体的得到连接的方法中。/所谓构造方法,就是与类名字相同,且没有返回类型的方法(例如void是无任何返回类型/,String返回的是字符串类型的,等等,如int,boolean。记住只要是有返回类型必须return / 最后的结果) public DBConnection() try Class.forName(driver);con=DriverManager.getConnection(url,user,password); catch (ClassNotFoundException e) System.out.println(数据库加载失败);e.printSt

5、ackTrace();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(资源关闭失

6、败); e.printStackTrace(); 实体类:BookInfo.java public class 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 Strin

7、g 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

8、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) thi

9、s.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.javapublic class CURD.java /查询所有图书public List findAllBooks() throws Exc

10、eption 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)

11、;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 bo

12、oklist;/按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.getS

13、tring(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这来

14、的 public class 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

15、 request.setCharacterEncoding(gbk);response.setCharacterEncoding(gbk); / 1.获取jsp页面传递过来的参数 String imageId=request.getParameter(imageId);/获取每一个进入网页的顾客的sessionIdString sessionId=request.getRequestedSessionId();request.getSession().setAttribute(sessionId, sessionId);/System.out.println(imageId);RealizeC

16、URD curd=new RealizeCURD();BookInfo book=curd.findByImageId(imageId);/System.out.println(book);if(book!=null)request.getSession(false).setAttribute(imageId, book);request.getRequestDispatcher(bookshop.jsp).forward(request, response);elserequest.getRequestDispatcher(index.jsp).forward(request, respon

17、se);/ 用session来存储购物车public class UseSessionSaveBooksAction extends HttpServlet public void doGet(HttpServletRequest request,HttpServletResponse response) throws ExceptiondoPost(request, response);public void doPost(HttpServletRequest request,HttpServletResponse response) throws Exception request.set

18、CharacterEncoding(gbk); response.setCharacterEncoding(gbk); int number=Integer.parseInt(request.getParameter(number); System.out.println(买的图书数量+number); if(!(.equals(number) BookInfo book=(BookInfo)request.getSession(false).getAttribute(imageId); System.out.println(进入session存储+book.getBookname(); /用

19、imageId作为每一种图书的标识 String imageId=book.getImageId(); UseSessionSave uss=new UseSessionSave(); uss.setBook(book); uss.setNumber(number); /用sessionId来作为购物车的标识 String sessionId=request.getSession(false).getAttribute(sessionId).toString(); if(sessionId.equals(request.getRequestedSessionId()/判断是否为同一个顾客 Ma

20、p chart=(Map)request.getSession(false).getAttribute(sessionId); if(chart=null) Map chart1=new HashMap(); /chart1.put(imageId, uss);/以每一种书的图片编号为唯一区分放入购物车的图书 request.getSession().setAttribute(sessionId, chart1); else /判断购物车中是否已存在键为imageId的书if(UseSessionSave)chart.get(imageId)=null) chart.put(imageId,u

21、ss);elseuss.setNumber(chart.get(imageId).getNumber()+number);request.getSession().setAttribute(sessionId, chart); request.getRequestDispatcher(bookList.jsp).forward(request, response); else request.getRequestDispatcher(index.jsp).forward(request, response); JSP页面代码Index.jsp首页图书列表 独家特供 欢迎进入图书城,请  登录  免费注册 % request.setCharacterEncoding(gbk); response.setCh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论