连接数据库,取出需要的值
import java.util.List;
import com.servlet.bean.BookBean;
import com.servlet.dao.BookDao;
import com.servlet.uitl.DBHelper;
public class BookDaoImp extends DBHelper implements BookDao{
@Override
public List<BookBean> getBooks() {
List<BookBean> list = new ArrayList<BookBean>();
this.conn = this.open();
String sql = "select id,name,unitPrice,photo from book";
try {
this.ps = this.conn.prepareStatement(sql);
this.rs = this.ps.executeQuery();
while(this.rs.next()){
BookBean book = new BookBean();
book.setId(rs.getInt("id"));
book.setName(rs.getString("name"));
book.setUnitPrice(rs.getInt("unitPrice"));
book.setPhoto(rs.getString("photo"));
list.add(book);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
public BookBean getBookById(int id){
BookBean book = new BookBean();
this.conn = this.open();
String sql = "select name,unitPrice,photo from book where id="+id;
try {
this.ps = this.conn.prepareStatement(sql);
this.rs = this.ps.executeQuery();
while(this.rs.next()){
book.setName(rs.getString("name"));
book.setUnitPrice(rs.getInt("unitPrice"));
book.setPhoto(rs.getString("photo"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return book;
}
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.servlet.bean.BookBean;
import com.servlet.server.imp.BookServerImp;
/**
* Servlet implementation class Show
*/
@WebServlet("/show")
public class ShowServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ShowServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
BookServerImp bookServerImp = new BookServerImp();
List<BookBean> list = bookServerImp.getBooks();
out.print("<html>");
out.print("<body>");
out.print("<table border='1'>");
out.print("<tr><td>封面</td><td>书名</td><td>单价</td><td>操作</td></tr>");
for(BookBean l : list){
out.print("<tr><td><img style='height:80px;width:55px' src='img/"+l.getPhoto()+"'/></td>" +
"<td>"+l.getName()+"</td><td>"+l.getUnitPrice()+"</td><td>" +
"<a href='shop?id="+l.getId()+"'>购买</a></td></tr>");
}
out.print("<table>");
out.print("</body>");
out.print("</html>");
}
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.servlet.bean.BookBean;
import com.servlet.server.imp.BookServerImp;
/**
* Servlet implementation class Shoping
*/
@WebServlet("/shop")
public class ShopingServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ShopingServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String id = request.getParameter("id");
HttpSession session = request.getSession();
BookBean book = null;
BookServerImp bookServerImp = new BookServerImp();
Map<String,Integer> map = (Map<String, Integer>) session.getAttribute("car");
if(map==null){
map = new HashMap<String, Integer>();
map.put(id, 1);
}else{
if(map.containsKey(id)){
map.put(id, map.get(id)+1);
}else{
map.put(id, 1);
}
}
session.setAttribute("car", map);
Set<String> set = map.keySet();
out.print("<html>");
out.print("<body>");
out.print("<a href='show'>返回</a></br>");
out.print("<table border='1'>");
out.print("<tr><td>封面</td><td>书名</td><td>单价</td><td>数量</td><td>总价</td></tr>");
Cookie cookie = new Cookie("shopId",session.getId());
cookie.setMaxAge(3600);
response.addCookie(cookie);
int count = 0;
for(String bookid:set){
book = bookServerImp.getBookById(Integer.parseInt(bookid));
count = map.get(bookid)*book.getUnitPrice();
out.print("<tr><td><img style='height:80px;width:55px' src='img/"+book.getPhoto()+"'/></td><td>"+book.getName()+"</td><td>"+book.getUnitPrice()+"</td><td>"+map.get(bookid)+"</td><td>"+count+"</td></tr>");
}
out.print("</table>");
out.print("</body>");
out.print("</html>");
}
}
package com.servlet.dao.imp;
import java.sql.SQLException;
import java.util.List;
import com.servlet.bean.BookBean;
import com.servlet.dao.BookDao;
import com.servlet.uitl.DBHelper;
public class BookDaoImp extends DBHelper implements BookDao{
@Override
public List<BookBean> getBooks() {
List<BookBean> list = new ArrayList<BookBean>();
this.conn = this.open();
String sql = "select id,name,unitPrice,photo from book";
try {
this.ps = this.conn.prepareStatement(sql);
this.rs = this.ps.executeQuery();
while(this.rs.next()){
BookBean book = new BookBean();
book.setId(rs.getInt("id"));
book.setName(rs.getString("name"));
book.setUnitPrice(rs.getInt("unitPrice"));
book.setPhoto(rs.getString("photo"));
list.add(book);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
public BookBean getBookById(int id){
BookBean book = new BookBean();
this.conn = this.open();
String sql = "select name,unitPrice,photo from book where id="+id;
try {
this.ps = this.conn.prepareStatement(sql);
this.rs = this.ps.executeQuery();
while(this.rs.next()){
book.setName(rs.getString("name"));
book.setUnitPrice(rs.getInt("unitPrice"));
book.setPhoto(rs.getString("photo"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return book;
}
}
ShowServlet类显示购买页面
package com.homework;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.servlet.bean.BookBean;
import com.servlet.server.imp.BookServerImp;
/**
* Servlet implementation class Show
*/
@WebServlet("/show")
public class ShowServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ShowServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
BookServerImp bookServerImp = new BookServerImp();
List<BookBean> list = bookServerImp.getBooks();
out.print("<html>");
out.print("<body>");
out.print("<table border='1'>");
out.print("<tr><td>封面</td><td>书名</td><td>单价</td><td>操作</td></tr>");
for(BookBean l : list){
out.print("<tr><td><img style='height:80px;width:55px' src='img/"+l.getPhoto()+"'/></td>" +
"<td>"+l.getName()+"</td><td>"+l.getUnitPrice()+"</td><td>" +
"<a href='shop?id="+l.getId()+"'>购买</a></td></tr>");
}
out.print("<table>");
out.print("</body>");
out.print("</html>");
}
}
ShopingServlet类添加购买的书籍,map存储加入到购物车中的书籍ID
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.servlet.bean.BookBean;
import com.servlet.server.imp.BookServerImp;
/**
* Servlet implementation class Shoping
*/
@WebServlet("/shop")
public class ShopingServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ShopingServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String id = request.getParameter("id");
HttpSession session = request.getSession();
BookBean book = null;
BookServerImp bookServerImp = new BookServerImp();
Map<String,Integer> map = (Map<String, Integer>) session.getAttribute("car");
if(map==null){
map = new HashMap<String, Integer>();
map.put(id, 1);
}else{
if(map.containsKey(id)){
map.put(id, map.get(id)+1);
}else{
map.put(id, 1);
}
}
session.setAttribute("car", map);
Set<String> set = map.keySet();
out.print("<html>");
out.print("<body>");
out.print("<a href='show'>返回</a></br>");
out.print("<table border='1'>");
out.print("<tr><td>封面</td><td>书名</td><td>单价</td><td>数量</td><td>总价</td></tr>");
Cookie cookie = new Cookie("shopId",session.getId());
cookie.setMaxAge(3600);
response.addCookie(cookie);
int count = 0;
for(String bookid:set){
book = bookServerImp.getBookById(Integer.parseInt(bookid));
count = map.get(bookid)*book.getUnitPrice();
out.print("<tr><td><img style='height:80px;width:55px' src='img/"+book.getPhoto()+"'/></td><td>"+book.getName()+"</td><td>"+book.getUnitPrice()+"</td><td>"+map.get(bookid)+"</td><td>"+count+"</td></tr>");
}
out.print("</table>");
out.print("</body>");
out.print("</html>");
}
}