为什么用DAO+VO老是在Set set = map.keySet()报错?

在这里插入图片描述
在这里插入图片描述

下面是完整代码

1.BookDao.java

package dao;

import vo.Book;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.HashMap;

public class BookDao {

private Connection

conn=null;

public HashMap getAllBook() throws Exception{

    HashMap hm=new HashMap();

    this.intConnection();

    Statement stat=conn.createStatement();

    String sql=

            "SELECT BOOKNO,BOOKNAME,BOOKPRICE FROM T_BOOK";

    ResultSet rs =stat.executeQuery(sql);

    while(rs.next()){

        Book book=new Book();

        book=new Book();

        book.setBookno(rs.getString("bookno"));

        book.setBookname(rs.getString("bookname"));

        book.setBookprice(rs.getFloat("bookprice"));

        hm.put(book.getBookno(),book);

    }

          this.closeConnection();

    return hm;

}



private void intConnection() throws Exception{

    Class.forName("sun.jdbc.odnc.JdbcOdbcDriver");

    conn =

DriverManager.getConnection(“jdbc:mysql://localhost:3306/t_book”, “root”, “hedy201801”);

}

public void closeConnection()throws Exception{

    conn.close();

}

}

2.Book.java(vo)

package vo;

public class Book {

private String bookno;

private String bookname;

private float bookprice;

private int booknumber;

public String getBookno(){

    return bookno;

}



public void setBookno(String bookno) {

    this.bookno = bookno;

}



public String getBookname() {

    return bookname;

}



public void setBookname(String bookname) {

    this.bookname = bookname;

}



public float getBookprice() {

    return bookprice;

}



public void setBookprice(float bookprice) {

    this.bookprice = bookprice;

}



public int getBooknumber() {

    return booknumber;

}



public void setBooknumber(int booknumber) {

    this.booknumber = booknumber;

}

}

3.showAllBook.jsp

<%@ page import=“java.util.HashMap” %>

<%@ page import=“java.util.Set” %>

<%@ page import=“java.util.Iterator” %>

<%@ page import=“dao.BookDao” %>

<%@ page import=“vo.Book” %><%–

Created by IntelliJ IDEA.

User: 97422

Date: 2020/7/10 0010

Time: 13:37

To change this template use File | Settings | File Templates.

–%>

<%@ page contentType=“text/html;charset=UTF-8” language=“java” pageEncoding=“gb2312” %>

<title>显示所有图书</title>

欢迎选购图书

<%

%>

<tr bgcolor="#ffc0cb">

    <td>书本名称</td>

<td>书本价格</td>

<td>购买</td>

<tr/>

<%

    HashMap allbook=(HashMap)session.getAttribute("allbook");

    Set set = allbook.keySet();

  Iterator ite=set.iterator();

  while(ite.hasNext()){

      String bookno =(String)ite.next();

      Book book=(Book)allbook.get(bookno);

      %>

<tr bgcolor="yellow">

<td><%=book.getBookname()%></td>

<td><%=book.getBookprice()%></td>

<td>< a href ="buyForm.jsp?bookno =<%=bookno%>">购买</>a></td>
<%}%>

查看购物车

4.showCart.jsp

<%@ page import=“java.util.Iterator” %>

<%@ page import=“java.util.Set” %>

<%@ page import=“java.util.HashMap” %>

<%@ page import=“vo.Book” %><%–

Created by IntelliJ IDEA.

User: 97422

Date: 2020/7/10 0010

Time: 13:38

To change this template use File | Settings | File Templates.

–%>

<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

<title>显示购物车内容</title>
<tr bgcolor="#ffc0cb">

    <td>书本名称</td>

    <td>书本价格</td>

    <td>数量</td>

    <td>删除</td>

</tr>

<%

    HashMap books =(HashMap)session.getAttribute("books");

    Set set=books.keySet();

    Iterator ite =set.iterator();

    while(ite.hasNext()){

        String bookno=(String)ite.next();

        Book book =(Book)books.get(bookno);

    %>

<tr bagcolor ="yellow">

    <td><%=book.getBookname()%></>td>

    <td><%=book.getBookprice()%></>td>

    <td><%=book.getBooknumber()%></>td>

    <td><a href ="RemoveServlet?bookno=<%=book.getBookno()%>">删除</a></td>

</tr>

<%

    }

%>

现金总额:<%=session.getAttribute(“money”)%>


继续买书

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值