完成购物车模块和订单模块
购物车模块
编写OrderItem.java,修改ProductDAO.java,编写OrderItemAddServlet.java,OrderItemListServlet,listOrderItem.jsp显示购物车内容,修改OrderItemAddServlet.java,处理购买相同商品的情况。
登录后到产品显示页面,修改购买数量,点击购买后的效果图:
删除订单项: 编写OrderItemDeleteServlet.java,并修改listOrderItem.jsp。
订单模块
创建order表,创建orderitem表。编写Order.java,修改OrderItem,编写OrderDAO.java,OrderItemDAO.java,OrderCreateServlet.java,并修改listOrderItem.jsp。
数据库中存入相应数据:
针对上次练习中出现的问题:
转发或重定向时路径上带”/”和不带”/”的区别
1)对于重定向
如果资源的路径前面有”/”,此时”/”参照web服务器的根路径,会丢失web应用的根路径。
如果路径前没有”/”,那么路径相对于当前的servlet或jsp的路径的,是一个相对路径
2)对于请求转发
如果资源的路径前没有”/”,那么路径相对于当前的servlet或jsp的路径;如果路径前带了”/”,此时”/”参照web应用的根路径
总结:如果请求是客户端的请求(发生在客户端的跳转),那么路径前不要带”/”, 因为带了”/”会丢失web应用的根路径。客户端的请求:重定向,通过表单发的get/post请求,超链接发的get请求,
如果请求是在服务器端发生的,例如请求转发,那么请求路径前可以带或不带”/”.
————————————————
版权声明:本文为CSDN博主「张子又」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44013790/article/details/87387889
请求转发是一个请求一次响应,而重定向是两次请求两次响应。
请求转发地址不变化,而重定向会显示后一个请求的地址。
请求转发只能转发到本项目其它Servlet,而重定向不只能重定向到本项目的其它Servlet,还能定向到其它项目。