Skip to content

Commit df05de0

Browse files
committed
update
1 parent edc1055 commit df05de0

File tree

12 files changed

+162
-28
lines changed

12 files changed

+162
-28
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package com.atguigu.filter;
2+
3+
import javax.servlet.*;
4+
import javax.servlet.http.HttpServlet;
5+
import javax.servlet.http.HttpServletRequest;
6+
import java.io.IOException;
7+
8+
public class ManagerFilter implements Filter {
9+
@Override
10+
public void init(FilterConfig filterConfig) throws ServletException {
11+
12+
}
13+
14+
@Override
15+
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
16+
//将servletRequest 强制转换 成 HttpServletRequest类型
17+
HttpServletRequest httpServletRequest= (HttpServletRequest) request;
18+
//因为只有HttpServletRequest 才能 获取到 Session对象
19+
Object user = httpServletRequest.getSession().getAttribute("user");
20+
21+
if(user==null){
22+
httpServletRequest.getRequestDispatcher("/pages/user/login.jsp").forward(request,response);
23+
}else {
24+
chain.doFilter(request,response);
25+
}
26+
}
27+
28+
29+
30+
@Override
31+
public void destroy() {
32+
Filter.super.destroy();
33+
}
34+
}

book/src/main/java/com/atguigu/web/OrderServlet.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.atguigu.pojo.Cart;
44
import com.atguigu.pojo.Order;
5+
import com.atguigu.pojo.OrderItem;
56
import com.atguigu.pojo.User;
67
import com.atguigu.service.OrderService;
78
import com.atguigu.service.impl.OrderServiceImpl;
@@ -59,4 +60,22 @@ protected void showMyOrders(HttpServletRequest req, HttpServletResponse resp) th
5960
//请求转发
6061
req.getRequestDispatcher("/pages/order/order.jsp").forward(req,resp);
6162
}
63+
64+
/** 查看订单详情 , 把订单项全部列上去
65+
*
66+
* @param req
67+
* @param resp
68+
* @throws ServletException
69+
* @throws IOException
70+
*/
71+
protected void showOrderDetail(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
72+
//从请求的地址中获取orderId
73+
String orderId = req.getParameter("orderId");
74+
//从数据库获取 orderItems
75+
List<OrderItem> orderItems=orderService.showOrderDetail(orderId);
76+
//保存到req域
77+
req.setAttribute("orderItems",orderItems);
78+
//请求转发
79+
req.getRequestDispatcher("/pages/order/order_detail.jsp").forward(req,resp);
80+
}
6281
}

book/src/main/webapp/WEB-INF/web.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,15 @@
6161
<servlet-name>OrderServlet</servlet-name>
6262
<url-pattern>/orderServlet</url-pattern>
6363
</servlet-mapping>
64+
65+
<filter>
66+
<filter-name>ManagerFilter</filter-name>
67+
<filter-class>com.atguigu.filter.ManagerFilter</filter-class>
68+
</filter>
69+
<filter-mapping>
70+
<filter-name>ManagerFilter</filter-name>
71+
<url-pattern>/pages/manager/*</url-pattern>
72+
<!--不但要拦截 页面资源 ,还要拦截 Servlet访问路径-->
73+
<url-pattern>/manager/bookServlet</url-pattern>
74+
</filter-mapping>
6475
</web-app>

book/src/main/webapp/pages/client/index.jsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
<%-- 如果登录了,则不用显示登录注册按钮 --%>
3838
<c:if test="${not empty sessionScope.user}">
3939
<span>欢迎<span class="um_span">${sessionScope.user.username}</span>光临尚硅谷书城</span>
40-
<a href="pages/order/order.jsp">我的订单</a>
40+
<a href="orderServlet?action=showMyOrders">我的订单</a>
4141
<a href="userServlet?action=logout">注销</a>&nbsp;&nbsp;
4242
</c:if>
4343
<a href="pages/cart/cart.jsp">购物车</a>

book/src/main/webapp/pages/order/order.jsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
<td>${order.createTime}</td>
4040
<td>${order.price}</td>
4141
<td>${order.status}</td>
42-
<td><a href="#">查看详情</a></td>
42+
<td><a href="orderServlet?action=showOrderDetail&orderId=${order.orderId}">查看详情</a></td>
4343
</tr>
4444
</c:forEach>
4545

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
2+
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
3+
<!DOCTYPE html>
4+
<html>
5+
<head>
6+
<meta charset="UTF-8">
7+
<title>订单详情</title>
8+
<%-- 静态包含 base标签/css样式/jQuery文件 --%>
9+
<%@include file="/pages/common/head.jsp"%>
10+
11+
<script type="text/javascript">
12+
$(function (){
13+
14+
15+
});
16+
</script>
17+
18+
</head>
19+
<body>
20+
21+
<div id="header">
22+
<img class="logo_img" alt="" src="static/img/logo.gif" >
23+
<span class="wel_word">订单详情</span>
24+
25+
<%--静态包含 登录成功的菜单 --%>
26+
<%@include file="/pages/common/login_success_menu.jsp"%>
27+
</div>
28+
29+
<div id="main">
30+
31+
<table>
32+
<tr>
33+
<td>商品名称</td>
34+
<td>数量</td>
35+
<td>单价</td>
36+
<td>金额</td>
37+
</tr>
38+
39+
40+
41+
<%-- session域里 有 cart购物车信息, 里面有个Map<Integer,CartItem> items ,用entry作为循环遍历,来遍历这个map --%>
42+
<c:forEach items="${requestScope.orderItems}" var="item">
43+
<tr>
44+
<td>${item.name}</td>
45+
<td>${item.count}</td>
46+
<td>${item.price}</td>
47+
<td>${item.totalPrice}</td>
48+
</tr>
49+
</c:forEach>
50+
51+
52+
</table>
53+
54+
55+
</div>
56+
57+
<%-- 静态包含 页脚内容 --%>
58+
<%@include file="/pages/common/footer.jsp"%>
59+
</body>
60+
</html>

book/target/book-1.0-SNAPSHOT/WEB-INF/web.xml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,24 @@
5252
<servlet-name>CartServlet</servlet-name>
5353
<url-pattern>/cartServlet</url-pattern>
5454
</servlet-mapping>
55-
55+
56+
<servlet>
57+
<servlet-name>OrderServlet</servlet-name>
58+
<servlet-class>com.atguigu.web.OrderServlet</servlet-class>
59+
</servlet>
60+
<servlet-mapping>
61+
<servlet-name>OrderServlet</servlet-name>
62+
<url-pattern>/orderServlet</url-pattern>
63+
</servlet-mapping>
64+
65+
<filter>
66+
<filter-name>ManagerFilter</filter-name>
67+
<filter-class>com.atguigu.filter.ManagerFilter</filter-class>
68+
</filter>
69+
<filter-mapping>
70+
<filter-name>ManagerFilter</filter-name>
71+
<url-pattern>/pages/manager/*</url-pattern>
72+
<!--不但要拦截 页面资源 ,还要拦截 Servlet访问路径-->
73+
<url-pattern>/manager/bookServlet</url-pattern>
74+
</filter-mapping>
5675
</web-app>

book/target/book-1.0-SNAPSHOT/pages/cart/cart.jsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
<span class="cart_span">购物车中共有<span class="b_count">${sessionScope.cart.totalCount}</span>件商品</span>
9898
<span class="cart_span">总金额<span class="b_price">${sessionScope.cart.totalPrice}</span>元</span>
9999
<span class="cart_span"><a id="clearCart" href="cartServlet?action=clear">清空购物车</a></span>
100-
<span class="cart_span"><a href="pages/cart/checkout.jsp">去结账</a></span>
100+
<span class="cart_span"><a href="orderServlet?action=createOrder">去结账</a></span>
101101
</div>
102102
</c:if>
103103
</div>

book/target/book-1.0-SNAPSHOT/pages/cart/checkout.jsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
<div id="main">
2626

27-
<h1>你的订单已结算,订单号为2937474382928484747</h1>
27+
<h1>你的订单已结算,订单号为${sessionScope.orderId}</h1>
2828

2929

3030
</div>

book/target/book-1.0-SNAPSHOT/pages/client/index.jsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
<%-- 如果登录了,则不用显示登录注册按钮 --%>
3838
<c:if test="${not empty sessionScope.user}">
3939
<span>欢迎<span class="um_span">${sessionScope.user.username}</span>光临尚硅谷书城</span>
40-
<a href="pages/order/order.jsp">我的订单</a>
40+
<a href="orderServlet?action=showMyOrders">我的订单</a>
4141
<a href="userServlet?action=logout">注销</a>&nbsp;&nbsp;
4242
</c:if>
4343
<a href="pages/cart/cart.jsp">购物车</a>

0 commit comments

Comments
 (0)