(九)显示交易记录 &解决相对路径问题
2024-08-30 00:29:19
UserServlet.java
package com.aff.bookstore.servlet; import java.io.IOException;
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.aff.bookstore.domain.User;
import com.aff.bookstore.service.UserService; @WebServlet("/userServlet")
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 1L; private UserService userService = new UserService(); protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 获取username 请求参数的值
String username = request.getParameter("username");
// 调用UserService 的 getUser(username) 获取 User对象, 要求 trade 是被装配好的 , 而且
// 每一个trade 对象的items
User user = userService.getUserWithTrades(username); // 把User 对象方法放reuest 中
if (user == null) {
response.sendRedirect(request.getServletPath()+"errror-1.jsp");
return;
}
request.setAttribute("user", user); // 转发页面到/WEB-INF/pages/trades.jsp
request.getRequestDispatcher("/WEB-INF/pages/trades.jsp").forward(request, response);; } }
users.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="/commons/common.jsp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body> <center>
<br><br> <form action="userServlet" method="post">
username: <input type="text" name="username"/>
<input type="submit" value="Submit">
</form> </center>
</body>
</html>
trades.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="/commons/common.jsp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>
<br><br>
<h3>User: ${user.username}</h3>
<br><br> <table>
<c:forEach items="${user.trades }" var="trade">
<tr>
<td>
<table border="1" cellpadding="10" cellspacing="0">
<tr>
<td colspan="3">TradeTime:${trade.tradeTime }</td> </tr>
<c:forEach items="${trade.items }" var="item">
<tr>
<td>${item.book.title }</td>
<td>${item.book.price }</td>
<td>${item.quantity }</td>
</tr>
</c:forEach> </table>
<br>
</td>
</tr> </c:forEach> </table>
</center> </body>
</html>
TradeDAOImpl.java
package com.aff.bookstore.dao.impl; import java.util.LinkedHashSet;
import java.util.Set; import com.aff.bookstore.dao.TradeDAO;
import com.aff.bookstore.domain.Trade; public class TradeDAOImpl extends BaseDAO<Trade> implements TradeDAO { @Override
public void insert(Trade trade) {
String sql = "insert into trade(userid,tradetime) values(?,?)";
long tradeId = insert(sql, trade.getUserId(),trade.getTradeTime());
trade.setTradeId((int)tradeId); } @Override
public Set<Trade> getTradesWithUserId(Integer userId) {
String sql = "select tradeId,userId, tradeTime from trade where userId = ? order by tradeTime desc";
return new LinkedHashSet<>(queryForList(sql, userId));
}
}
效果如下
解决相对路径问题:
common.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<base href="${pageContext.request.scheme }://${pageContext.request.serverName }:${pageContext.request.serverPort }${pageContext.request.contextPath}/">
在需要的jsp中添加<%@ include file="/commons/common.jsp" %>
如下:empty.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="/commons/common.jsp" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body> <h4>您的购物车为空</h4> <a href="index.jsp">继续购物</a> </body>
</html>
整个目录
最新文章
- android控件 ToggleButton的应用
- [python]decimal常用操作和需要注意的地方
- js制作倒计时效果
- css3实现小米商城鼠标移动图片上浮阴影效果
- 数字转化成字符串C语言
- 在安全层面,企业如何获得更好的投资回报率 ROI?
- Servlet常用类
- UITableView显示不全
- html5 视频
- 对于windows窗口的标题菜单栏的操作——删除/禁用 最小最大话和关闭
- zookeeper入门与实践
- trie从入门到入殓
- 前端之CSS介绍--选择器
- Netty的核心组件
- Java基础学习-类型转换之隐式转换
- 转Centos7.0进入单用户模式修改root密码
- SpringMVC+Swagger详细整合
- 51单片机之IIC通信原理及软件仿真
- Chapter 3 Phenomenon——12
- Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB
热门文章
- CF1316C Primitive Primes
- Jenkins 邮件收发(qq 邮箱)
- basicRF双向灯光控制
- SpringBoot系列(十四)集成邮件发送服务及邮件发送的几种方式
- Coursera课程笔记----P4E.Capstone----Week 2&;3
- 谈谈Spring bean的生命周期(一)
- python语法学习第五天--lambda表达式、filter()、map()
- [hdu4622 Reincarnation]后缀数组
- [zoj3596]DP(BFS)
- ubuntu下图形程序自启动的几种方法