Java WEB程序题 购物车问题+JDBC连接数据库

购物车问题

<%@page import="com.book.entity.Book"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
input[type='number']{font-weight: bolder;color: blue;width:75px;}
input[type='submit']{background-color: green;color: white;}


</style>
</head>
<body>
<h3>books list</h3><hr>
<span style="color: red">分别为书名单价和数量</span>
<ol>
<li>
	<form action="" method="post">
	<input type="text" value="计算机专业英语" readonly="readonly" name="bookname">
	<input type="text" value="37.9" readonly="readonly" name="prize">
	<input type="number" value="0" min="0" name="count">
	<input type="submit" value="add">
	</form>
</li>
<li>
	<form action="" method="post">
	<input type="text" value="java EE企业开发实战" readonly="readonly" name="bookname">
	<input type="text" value="78.8" readonly="readonly" name="prize">
	<input type="number" value="0" min="0" name="count">
	<input type="submit" value="add">
	</form>
</li>
<li>
	<form action="" method="post">
	<input type="text" value="mybatis从入门到精通" readonly="readonly" name="bookname">
	<input type="text" value="45.6" readonly="readonly" name="prize">
	<input type="number" value="0" min="0" name="count">
	<input type="submit" value="add">
	</form>
</li>
</ol>

<%
  request.setCharacterEncoding("utf-8");
  response.setCharacterEncoding("utf-8");
%>

<%

  //获取session
  Map<String,Book> books=(HashMap<String,Book>)session.getAttribute("books");
  if(books==null){
      books=new HashMap<String,Book>();
      session.setAttribute("books",books);
  }
  if(books!=null){
	  //获取要加入购物车的图书名
	  String bookname=request.getParameter("bookname");
	  String prize = request.getParameter("prize");
	  String count = request.getParameter("count");
	  boolean isEmpty = (bookname==null)&&(prize == null)&&(count ==null);
	  if(!isEmpty){
		  int bookCount=Integer.parseInt(count);
		  if(bookCount==0){
			  out.println("<script type='text/javascript'>alert('书的数量不能为空哟!'); </script>");
		  }else{
			  books.put(bookname, new Book(Double.parseDouble(prize), bookCount));
	      	  out.println("<script type='text/javascript'>alert('"+bookname+" 加入购物车成功'); </script>");
		  }

	  }
      
    }
    %>  
<jsp:include page="calcuPrize5_2.jsp"></jsp:include>
</body>
</html>

JDBC连接数据库

package com.gen.servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.gen.entity.Student;

public class Query extends HttpServlet {
	private static final long serialVersionUID = 1L;

	private static String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
	private static String DB_URL = "jdbc:mysql://localhost:3306/student?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
	private static String UNAME = "root";
	private static String UPASS = "123456";

	private String sql_query = "SELECT * FROM t_student WHERE STUNO LIKE ? or STUNAME LIKE ? OR STUSEX LIKE ?";

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		String param = request.getParameter("param");
		Connection connection = null;
		PreparedStatement preparedStatement = null;
		ResultSet resultSet = null;
		try {
			Class.forName(JDBC_DRIVER);
			connection = DriverManager.getConnection(DB_URL, UNAME, UPASS);
			preparedStatement = connection.prepareStatement(sql_query);
			for (int i = 0; i < 3; i++) {
				preparedStatement.setString(i + 1, '%'+param +'%');
			}

			resultSet = preparedStatement.executeQuery();
			List<Student> students = new LinkedList<>();
			while (resultSet.next()) {
				students.add(new Student(resultSet.getString(1), resultSet.getString(2), resultSet.getString(3)));
			}
			System.out.println(students);
			request.setAttribute("students", students);
			request.getRequestDispatcher("result.jsp").forward(request, response);
		} catch (ClassNotFoundException | SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				resultSet.close();
				preparedStatement.close();
				connection.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}

result.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
table {
	border-collapse: collapse;
	width: 100%;
}

tr, td, th {
	border: 1px solid orange;
}
</style>
</head>
<body>
	<form action="<%=request.getContextPath()%>/Query" method="post">
		<p>
			<span>keywords: </span><input type="text" name="param"
				required="required">
		</p>
		<input type="submit" value="query">
	</form>
	<hr>
	<table>
		<tr>
			<th>No</th>
			<th>stdentNo</th>
			<th>studentName</th>
			<th>studentSex</th>
		</tr>
		<c:forEach var='student' items="${requestScope.students}"
			varStatus="status">
			<tr>
				<td>${status.count }</td>
				<td>${student.stuNo }</td>
				<td>${student.stuName }</td>
				<td>${student.stuSex }</td>
			</tr>
		</c:forEach>
	</table>
</body>
</html>
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值