基于javaweb+jsp的共享租车信息管理系统(java+Jsp+Servlet+Jdbc+Mysql)
基于servlet+jsp+jdbc的后台管理系统,包含5个模块:汽车账户部管理、租车账户部管理、汽车信息管理表、租车记录表、租车租聘表。功能完整,均能实现增删查改。
运行环境:
jdk8+tomcat8.5+mysql5.7+Eclipse
项目技术:
servlet+jsp+jdbc+easyui+jquery
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
</div>
</form>
<div class="clearfix"> </div>
</div>
</div>
</div>
<!--//account-->
<!--footer-->
<jsp:include page="footer.jsp"></jsp:include>
<!--//footer-->
</body>
}
// 如果没找到对应的商品,则新建一条订单项
if (!found) {
OrderItem oi = new OrderItem();
oi.setUser(user);
oi.setProduct(p);
oi.setNumber(num);
orderItemDAO.add(oi);
oiid = oi.getId();
}
return "@forebuy?oiid=" + oiid;
}
/**
* 结算页面
*
* @param request
* @param response
if (ois.isEmpty())
return "@login.jsp";
String address = request.getParameter("address");
String post = request.getParameter("post");
String reciver = request.getParameter("reciver");
String mobile = request.getParameter("mobile");
Order order = new Order();
String orderCode = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
order.setOrderCode(orderCode);
order.setAddress(address);
order.setPost(post);
order.setReceiver(reciver);
order.setMobile(mobile);
order.setUserMessage("默认内容");
order.setCreateDate(new Date());
order.setUser(user);
order.setStatus(OrderDAO.waitPay);
orderDAO.add(order);
// 统计总金额并设置每个订单项的所属订单
float total = 0;
for (OrderItem oi : ois) {
oi.setOrder(order);
orderItemDAO.update(oi);
* @param response
* @param page
* @return
* @throws UnsupportedEncodingException
*/
public String changeOrderItem(HttpServletRequest request, HttpServletResponse response, Page page) throws UnsupportedEncodingException {
System.out.println("调用了ForeServlet changeOrderItem方法");
User user = (User) request.getSession().getAttribute("user");
if (null == user)
return "%fail";
int pid = Integer.parseInt(request.getParameter("pid"));
int number = Integer.parseInt(request.getParameter("number"));
new ProductDAO().fill(c);
new ProductDAO().setSaleAndReviewNumber(c.getProducts());
// 根据获取的排序方式进行排序
String sort = request.getParameter("sort");
if (null != sort) {
switch (sort) {
case "review":
Collections.sort(c.getProducts(), new ProductReviewComparator());
break;
case "date":
Collections.sort(c.getProducts(), new ProductDateComparator());
* @param response
* @param page
* @return
* @throws UnsupportedEncodingException
*/
public String deleteOrderItem(HttpServletRequest request, HttpServletResponse response, Page page) throws UnsupportedEncodingException {
System.out.println("调用了ForeServlet deleteOrderItem方法");
User user = (User) request.getSession().getAttribute("user");
if (null == user)
return "%fail";
int oiid = Integer.parseInt(request.getParameter("oiid"));
orderItemDAO.delete(oiid);
return "%success";
}
/**
* 创建订单
*
* @param request
* @param response
* @param page
* @return
* @throws UnsupportedEncodingException
*/
public String createOrder(HttpServletRequest request, HttpServletResponse response, Page page) throws UnsupportedEncodingException {
<div class="alert alert-success">${msg }</div>
</c:if>
<c:if test="${!empty failMsg }">
<div class="alert alert-danger">${failMsg }</div>
</c:if>
<form action="<%=request.getContextPath()%>/user_login" method="post">
<div class="register-top-grid">
<h3>用户登录</h3>
<div class="input">
<span>用户名/邮箱 <label style="color:red;">*</label></span>
<input type="text" name="ue" placeholder="请输入用户名" required="required">
</div>
<div class="input">
<span>密码 <label style="color:red;">*</label></span>
<input type="text" name="password" placeholder="请输入密码" required="required">
</div>
<div class="clearfix"> </div>
</div>
<div class="register-but text-center">
<input type="submit" value="提交">
<div class="clearfix"> </div>
</div>
</form>
try {
ps = productDAO.search(keyword, 0, 50);
} catch (Exception e) {
e.printStackTrace();
}
// 设置产品的销量和评论
productDAO.setSaleAndReviewNumber(ps);
request.setAttribute("ps", ps);
return "searchResult.jsp";
}
/**
* 立即购买
*
* @param request
* @param response
*
* @param request
* @param response
* @param page
* @return
*/
public String addCart(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println("调用了ForeServlet addCart方法");
int pid = Integer.parseInt(request.getParameter("pid"));
int num = Integer.parseInt(request.getParameter("num"));
Product p = productDAO.get(pid);
User user = (User) request.getSession().getAttribute("user");
List<OrderItem> ois = orderItemDAO.listByUser(user.getId());
int oiid = 0;
boolean found = false;
// 遍历订单,如果订单已存在对应的产品,就在对应购物车的基础上调整数量
if (null != ois) {
for (OrderItem oi : ois) {
if (oi.getProduct().getId() == p.getId()) {
oi.setNumber(oi.getNumber() + num);
orderItemDAO.update(oi);
* @param page
* @return
*/
public String login(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println("调用了 ForeServlet login方法");
Map<String, String> params = new HashMap<>();
InputStream inputStream = super.parseUpload(request, params);
System.out.println(params);
String name = params.get("name");
String password = params.get("password");
// 登录
User user = userDAO.get(name, password);
if (null == user) {
request.setAttribute("msg", "账号密码错误");
return "login.jsp";
}
// 将账号密码储存在Session中
request.getSession().setAttribute("user", user);
return "@forehome";
}
* @param request
* @param response
* @param page
* @return
*/
public String logout(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println("调用了 ForeServlet logout方法");
request.getSession().removeAttribute("user");
return "@forehome";
}
/**
* 检查用户是否登录
*
* @param request
oi.setProduct(p);
oi.setNumber(num);
orderItemDAO.add(oi);
oiid = oi.getId();
}
return "%success";
}
/**
* 更改当前订单项的内容
*
* @param request
* @param response
* @param page
* @return
* @throws UnsupportedEncodingException
*/
int pid = Integer.parseInt(request.getParameter("pid"));
int number = Integer.parseInt(request.getParameter("number"));
List<OrderItem> ois = orderItemDAO.listByUser(user.getId());
for (OrderItem oi : ois) {
if (oi.getProduct().getId() == pid) {
oi.setNumber(number);
orderItemDAO.update(oi);
break;
}
}
return "%success";
}
/**
* 删除订单项
*
* @param request
* @param response
* @param page
* @return
*/
public String bought(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println("调用了ForeServlet bought方法");
User user = (User) request.getSession().getAttribute("user");
List<Order> os = orderDAO.list(user.getId(), OrderDAO.delete);
orderItemDAO.fill(os);
request.setAttribute("os", os);
return "bought.jsp";
}
}
用户登陆页面:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<title>用户登录</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
* @param response
* @param page
* @return
*/
public String addCart(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println("调用了ForeServlet addCart方法");
int pid = Integer.parseInt(request.getParameter("pid"));
int num = Integer.parseInt(request.getParameter("num"));
Product p = productDAO.get(pid);
User user = (User) request.getSession().getAttribute("user");
List<OrderItem> ois = orderItemDAO.listByUser(user.getId());
int oiid = 0;
boolean found = false;
// 遍历订单,如果订单已存在对应的产品,就在对应购物车的基础上调整数量
if (null != ois) {
for (OrderItem oi : ois) {
if (oi.getProduct().getId() == p.getId()) {
oi.setNumber(oi.getNumber() + num);
orderItemDAO.update(oi);
found = true;
break;
}
}
}
// 如果没找到对应的商品,则新建一条订单项
if (!found) {
OrderItem oi = new OrderItem();
oi.setUser(user);
oi.setProduct(p);
oi.setNumber(num);
orderItemDAO.add(oi);
oiid = oi.getId();
}
return "%success";
}
/**
* 更改当前订单项的内容
*
* @param request
* @param response
* @param page
* @return
* @throws UnsupportedEncodingException
boolean found = false;
// 遍历订单,如果订单已存在对应的产品,就在对应购物车的基础上调整数量
if (null != ois) {
for (OrderItem oi : ois) {
if (oi.getProduct().getId() == p.getId()) {
oi.setNumber(oi.getNumber() + num);
orderItemDAO.update(oi);
found = true;
oiid = oi.getId();
break;
}
}
}
*/
public String deleteOrderItem(HttpServletRequest request, HttpServletResponse response, Page page) throws UnsupportedEncodingException {
System.out.println("调用了ForeServlet deleteOrderItem方法");
User user = (User) request.getSession().getAttribute("user");
if (null == user)
return "%fail";
int oiid = Integer.parseInt(request.getParameter("oiid"));
orderItemDAO.delete(oiid);
return "%success";
}
/**
* 创建订单
*
* @param request
* @param response
* @param page
* @return
* @throws UnsupportedEncodingException
*/
public String createOrder(HttpServletRequest request, HttpServletResponse response, Page page) throws UnsupportedEncodingException {
System.out.println("调用了ForeServlet createOrder方法");
// 防止post方法中文乱码
oi.setProduct(p);
oi.setNumber(num);
orderItemDAO.add(oi);
oiid = oi.getId();
}
return "@forebuy?oiid=" + oiid;
}
/**
* 结算页面
*
</html>
添加类型业务:
@WebServlet("/addCategoryServlet")
public class AddCategoryServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String a = request.getParameter("parentId");
String b = request.getParameter("className");
System.out.println("parentId"+a);
System.out.println("className"+b);
Category category = new Category();
category.setCategory_parentid(Integer.valueOf(a));
category.setCategory_name(b);
CategoryService service = new CategoryServiceImpl();
service.addCategory(category);
PrintWriter out = response.getWriter();
out.write("<script>");
out.write("alert('插入分类成功!');");
out.write("location.href='/HOMEECMS/categoryListServlet'");
out.write("</script>");
out.close();
Collections.sort(c.getProducts(), new ProductReviewComparator());
break;
case "date":
Collections.sort(c.getProducts(), new ProductDateComparator());
break;
case "saleCount":
Collections.sort(c.getProducts(), new ProductSaleCountComparator());
break;
case "price":
Collections.sort(c.getProducts(), new ProductPriceComparator());
public String logout(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println("调用了 ForeServlet logout方法");
request.getSession().removeAttribute("user");
return "@forehome";
}
/**
* 检查用户是否登录
*
* @param request
* @param response
* @param page
* @throws UnsupportedEncodingException
*/
public String createOrder(HttpServletRequest request, HttpServletResponse response, Page page) throws UnsupportedEncodingException {
System.out.println("调用了ForeServlet createOrder方法");
// 防止post方法中文乱码
request.setCharacterEncoding("UTF-8");
User user = (User) request.getSession().getAttribute("user");
List<OrderItem> ois = (List<OrderItem>) request.getSession().getAttribute("ois");
if (ois.isEmpty())
return "@login.jsp";
String address = request.getParameter("address");
String post = request.getParameter("post");
String reciver = request.getParameter("reciver");
String mobile = request.getParameter("mobile");
Order order = new Order();
*/
public String register(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println("调用了 ForeServlet register方法");
Map<String, String> params = new HashMap<>();
InputStream inputStream = super.parseUpload(request, params);
System.out.println(params);
String name = params.get("name");
String password = params.get("password");
System.out.println(name);
// 判断用户名是否存在
boolean exist = userDAO.isExists(name);
if (exist) {
request.setAttribute("msg", "用户名已经被使用");
return "register.jsp";
}
User user = new User();
user.setName(name);
user.setPassword(password);
System.out.println(user.getName());
public String deleteOrderItem(HttpServletRequest request, HttpServletResponse response, Page page) throws UnsupportedEncodingException {
System.out.println("调用了ForeServlet deleteOrderItem方法");
User user = (User) request.getSession().getAttribute("user");
if (null == user)
return "%fail";
int oiid = Integer.parseInt(request.getParameter("oiid"));
orderItemDAO.delete(oiid);
return "%success";
}
/**
* 创建订单
*
* @param request
* @param response
* @param page
// 遍历订单,如果订单已存在对应的产品,就在对应购物车的基础上调整数量
if (null != ois) {
for (OrderItem oi : ois) {
if (oi.getProduct().getId() == p.getId()) {
oi.setNumber(oi.getNumber() + num);
orderItemDAO.update(oi);
found = true;
oiid = oi.getId();
break;
}
}
}
// 如果没找到对应的商品,则新建一条订单项
if (!found) {
OrderItem oi = new OrderItem();
oi.setUser(user);
request.setAttribute("ois", ois);
return "cart.jsp";
}
/**
* 加入购物车
*
* @param request
* @param response
* @param page
* @return
* @param request
* @param response
* @param page
* @return
*/
public String buyone(HttpServletRequest request, HttpServletResponse response, Page page) {
System.out.println("调用了ForeServlet buyone方法");
int pid = Integer.parseInt(request.getParameter("pid"));
int num = Integer.parseInt(request.getParameter("num"));
Product p = productDAO.get(pid);
User user = (User) request.getSession().getAttribute("user");
List<OrderItem> ois = orderItemDAO.listByUser(user.getId());
int oiid = 0;
boolean found = false;
// 遍历订单,如果订单已存在对应的产品,就在对应购物车的基础上调整数量
if (null != ois) {
for (OrderItem oi : ois) {
if (oi.getProduct().getId() == p.getId()) {
oi.setNumber(oi.getNumber() + num);
orderItemDAO.update(oi);
found = true;
oiid = oi.getId();
Collections.sort(c.getProducts(), new ProductSaleCountComparator());
break;
case "price":
Collections.sort(c.getProducts(), new ProductPriceComparator());
break;
case "all":
Collections.sort(c.getProducts(), new ProductAllComparator());
break;
}
}
// 排序完成后,将分类对象添加到域对象 request 中
request.setAttribute("c", c);
return "category.jsp";
}
/**
* 搜索功能
*
* @param request
* @param response
* @param page
int num = Integer.parseInt(request.getParameter("num"));
Product p = productDAO.get(pid);
User user = (User) request.getSession().getAttribute("user");
List<OrderItem> ois = orderItemDAO.listByUser(user.getId());
int oiid = 0;
boolean found = false;
// 遍历订单,如果订单已存在对应的产品,就在对应购物车的基础上调整数量
if (null != ois) {
for (OrderItem oi : ois) {
if (oi.getProduct().getId() == p.getId()) {
oi.setNumber(oi.getNumber() + num);
orderItemDAO.update(oi);
found = true;
oiid = oi.getId();
break;
}
}
}
// 如果没找到对应的商品,则新建一条订单项
if (!found) {
OrderItem oi = new OrderItem();
oi.setUser(user);
适用
课程设计,大作业,毕业设计,项目练习,学习演示等