📄 productslistservlet.java
字号:
package networkshopsystem;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.sql.*;import java.util.*;/** * Title: 网络商店的销售系统 * Description: 教学示范 * Copyright: Copyright (c) 2003 * Company: 北京师范大学计算机系 * @author 孙一林 * @version 1.0 */public class ProductsListServlet extends HttpServlet { static final private String CONTENT_TYPE = "text/html; charset=GBK"; Vector vector=new Vector(); // 定义Vector向量存储顾客购买的商品情况 int num; public void init() throws ServletException { } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); // 输出已选商品页面 out.println("<html>"); out.println("<head><title>已选商品页面</title></head>"); out.println("<body bgcolor=#FFFFFF text=#000000>"); out.println("<form name=form1 method=post action=customerinfoservlet>"); Vector buyproduct_vector=new Vector(); double totalprice=0; // 定义价钱变量 num=0; out.println("您要选购:<br>"); out.println("<table align=center border=0 width='95%'><tr>"); out.println("<td>商品编号</td>"); out.println("<td>商品名称</td>"); out.println("<td>商品价格</td>"); out.println("<td>商品库存量</td>"); out.println("<td>购买数量(件)</td>"); out.println("<td>应付金额(元)</td></tr>"); out.print("<tr>"); int i=0; try { ResultSet rs =getProduct(); while(rs.next()) { num++; } String[] true_number=new String[num]; for(int j=0;j<num;j++) { true_number[j]=new String(request.getParameter("buynumber[" + j +"]")); // 获取顾客购买商品数目 } rs.beforeFirst() ; // 获得存储顾客购买的商品的向量对象buyproduct_vector while(rs.next()) { out.print("<tr>"); int product_id=rs.getInt(1); String product_name=rs.getString(2); double product_price=rs.getDouble(3); int product_quantity=rs.getInt(4); if(!true_number[i].equals("0") ) { Vector buy_vector = new Vector(); buy_vector.addElement(String.valueOf(product_id)); buy_vector.addElement(product_name); buy_vector.addElement(String.valueOf(product_price)); buy_vector.addElement(String.valueOf(product_quantity)); buy_vector.addElement(String.valueOf(Integer.parseInt(true_number[i]))); double price=product_price*(Integer.parseInt(true_number[i])); buy_vector.addElement(String.valueOf(price)); buyproduct_vector.addElement(buy_vector); } i++; } } catch(Exception ex) { // 异常处理 ex.printStackTrace(); } setvector(buyproduct_vector) ; // 传值给vector,以在Servlet中传递vector值 // 输出顾客购买的商品情况 for(int j=0;j<buyproduct_vector.size();j++) { for(int k=0;k<6;k++) { if(k==5) { out.println("<td>"+getValueAt(j,k)+"</td></tr>"); } else { out.println("<td>"+getValueAt(j,k)+"</td>"); } } totalprice=totalprice+Double.parseDouble(getValueAt(j,5).toString() ); out.print("<tr>"); } out.print("</tr></table>"); out.println("</tr></table>"); HttpSession session = request.getSession(); session.setAttribute("vector", vector); // 传递vector值 out.println("<p align=center>您应付款共"+totalprice+"元</p>"); out.println("<p align=center><input type=submit name=Submit value=付款 ></p>"); out.println("</form>"); out.println("<p align=center><a href=selectproductservlet>重新选购商品</a></p>"); //链接回selectproductservlet out.println("</body></html>"); } public Object getValueAt(int row, int column) { // 处理getValueAt函数 if(!vector.isEmpty()) { return ((Vector)vector.elementAt(row)).elementAt(column); } else { return null; } } public ResultSet getProduct() { // 定义getProduct()函数 try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url = "jdbc:odbc:shop"; Connection connection = DriverManager.getConnection(url); String sql = "select * from product_table"; Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet rs = statement.executeQuery(sql); return rs; } catch(Exception ex) { ex.printStackTrace(); } return null; } public void setvector(Vector v) { vector=v; } public void destroy() { }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -