web.xml displayAdd.jsp displayDelete.jsp login.jsp(从数据库查询数据之后) GoodsDAO GoodsVO GoodsServletAdd GoodsServletDelete
1 web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>GoodsServletAdd</servlet-name> <servlet-class>servlets.GoodsServletAdd</servlet-class> </servlet> <servlet-mapping> <servlet-name>GoodsServletAdd</servlet-name> <url-pattern>/servlets/GoodsServletAdd</url-pattern> </servlet-mapping> <servlet> <servlet-name>GoodsServletDelete</servlet-name> <servlet-class>servlets.GoodsServletDelete</servlet-class> </servlet> <servlet-mapping> <servlet-name>GoodsServletDelete</servlet-name> <url-pattern>/servlets/GoodsServletDelete</url-pattern> </servlet-mapping> </web-app>
2 displayAdd.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <html> <body> <table> <tr> <td>书名</td> <td>价格</td> <td>添加书籍</td> </tr> <c:forEach var="book" items="${books}"> <tr> <td>${book.name }</td> <td>${book.price }</td> <td><a href="/PurchaseGoods/servlets/GoodsServletAdd?name=${book.name }" >添加</a> </td> </tr> </c:forEach> </table> <a href="/PurchaseGoods/displayDelete.jsp">查看购物车</a> </body> </html>
3 displayDelete.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <html> <body> <table > <tr> <td>书名</td> <td>价格</td> <td>删除</td> </tr> <c:forEach var="book" items="${bks}" varStatus="i"> <tr> <td>${book.name }</td> <td>${book.price }</td> <td><a href="/PurchaseGoods/servlets/GoodsServletDelete?name=${i.index}" >删除</a> </td> </tr> </c:forEach> </table> <a href="/PurchaseGoods/displayAdd.jsp">返回购物页面</a> </body> </html>
4 Find.jsp(从数据库查询数据之后)
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <% ArrayList list=new ArrayList(); session.setAttribute("bks",list); %> <html> <body> <form action="/PurchaseGoods/servlets/GoodsServletAdd" method="get"> 略过模糊查询,输出所有书籍:<br><input type="submit" value="submit"><br> </form> </body> </html>
5 GoodsDAO
package DAO; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import VO.GoodsVO; public class GoodsDAO { Connection conn=null; public void initConnection() throws ClassNotFoundException, SQLException { Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/student","root","910429"); } public void closeConnection() throws SQLException { conn.close(); } public ArrayList<GoodsVO> getAllGoods() throws ClassNotFoundException, SQLException { initConnection(); ArrayList<GoodsVO> goodCar=new ArrayList<GoodsVO>(); String sql="select * from goods"; Statement st=conn.createStatement(); ResultSet rs=st.executeQuery(sql); while(rs.next()) { GoodsVO g=new GoodsVO(); g.setName(rs.getString("name")); g.setPrice(rs.getString("price")); goodCar.add(g); } return goodCar; } public ArrayList add(String name,ArrayList<GoodsVO> bks)throws ClassNotFoundException, SQLException { initConnection(); String sql="select name,price from goods where name='"+name+"'"; Statement statement=conn.createStatement(); ResultSet rs=statement.executeQuery(sql); while(rs.next()) { GoodsVO g=new GoodsVO(); g.setName(rs.getString("name")); g.setPrice(rs.getString("price")); bks.add(g); } return bks; } }
6 GoodsVO
package VO; public class GoodsVO { private String name; private String price; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPrice() { return price; } public void setPrice(String price) { this.price = price; } }
7 GoodsServletAdd
package servlets; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import DAO.GoodsDAO; import VO.GoodsVO; public class GoodsServletAdd extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session=request.getSession(); String name=request.getParameter("name"); ArrayList<GoodsVO> b=(ArrayList<GoodsVO>)session.getAttribute("bks"); ArrayList<GoodsVO> books=(ArrayList<GoodsVO>)session.getAttribute("books"); GoodsDAO goodsDAO=new GoodsDAO(); if(books==null){ try { books=goodsDAO.getAllGoods(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } }else{ try { b=goodsDAO.add(name, b); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } session.setAttribute("bks", b); session.setAttribute("books", books); RequestDispatcher rd=request.getRequestDispatcher("/displayAdd.jsp"); rd.forward(request, response); } }
8 GoodsServletDelete
package servlets; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import DAO.GoodsDAO; import VO.GoodsVO; public class GoodsServletDelete extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session=request.getSession(); String name=request.getParameter("name"); ArrayList<GoodsVO> b=(ArrayList<GoodsVO>)session.getAttribute("bks"); b.remove(Integer.parseInt(name)); session.setAttribute("bks", b); RequestDispatcher rd=request.getRequestDispatcher("/displayDelete.jsp"); rd.forward(request, response); } }