讲解一下这段代码:5.ListCartServlet: package Session01; 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 javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; @WebServlet("/listCartServlet") public class ListCartServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); PrintWriter out=resp.getWriter(); HttpSession session=req.getSession(); ArrayList<Phone> cart =(ArrayList<Phone>) session.getAttribute("cart"); if (cart==null){ out.println("<h2>暂时还没有购物车数据。</h2>"); } else {out.println("<h2>您选购的物品如下:</h2><br>"); for (Phone ck:cart){ out.println("<h2>"+ck.getName()+""+ck.getPrice()+"</h2>"); } } } }
时间: 2023-07-14 21:13:02 浏览: 57
这段代码是一个 Java Servlet,用于展示用户的购物车信息。下面是代码的具体解释:
1. `package Session01;`
定义了这个类所在的包名。
2. `import` 语句
引入需要使用的 Java 类。
3. `@WebServlet("/listCartServlet")`
使用注解 `@WebServlet` 定义了这个类对应的 URL 地址。
4. `public class ListCartServlet extends HttpServlet {`
定义了一个名为 `ListCartServlet` 的公共类,继承自 `HttpServlet` 类。
5. `protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {`
重写了 `HttpServlet` 类中 `doGet` 方法,该方法会在 GET 请求时被调用。
6. `resp.setContentType("text/html;charset=utf-8");`
设置响应内容的类型和编码方式。
7. `PrintWriter out=resp.getWriter();`
获取一个可以向客户端发送文本的 `PrintWriter` 对象。
8. `HttpSession session=req.getSession();`
获取当前请求对应的 `HttpSession` 对象。
9. `ArrayList<Phone> cart =(ArrayList<Phone>) session.getAttribute("cart");`
从 HttpSession 中获取名为 "cart" 的属性,转换为 `ArrayList<Phone>` 类型。
10. `if (cart==null){ out.println("<h2>暂时还没有购物车数据。</h2>"); }`
如果 `cart` 为 `null`,说明用户还没有添加过任何商品,向客户端输出提示信息。
11. `else {out.println("<h2>您选购的物品如下:</h2><br>"); for (Phone ck:cart){ out.println("<h2>"+ck.getName()+""+ck.getPrice()+"</h2>"); }`
如果 `cart` 不为 `null`,则遍历 `cart` 中的每个 `Phone` 对象,向客户端输出其名称和价格。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
谅解一下这段代码:6.BuyPhoneServlet: package Session01; 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 java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; @WebServlet("/buyPhoneServlet") public class BuyPhoneServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); PrintWriter out=resp.getWriter(); String idstr=req.getParameter("id"); int id=Integer.parseInt(idstr); ArrayList ckDB= PhoneDb.getAll(); Phone ck=ckDB.get(id-1); out.println("您购买的"+ck.getName()+"手机下单成功。"); out.println("继续选购"); } }
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
大致讲解一下代码:6.BuyPhoneServlet: package Session01; 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 java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; @WebServlet("/buyPhoneServlet") public class BuyPhoneServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); PrintWriter out=resp.getWriter(); String idstr=req.getParameter("id"); int id=Integer.parseInt(idstr); ArrayList ckDB= PhoneDb.getAll(); Phone ck=ckDB.get(id-1); out.println("您购买的"+ck.getName()+"手机下单成功。"); out.println("继续选购"); } }
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
大致讲解一下这段代码:AddCartServlet: package Session01; 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 javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; @WebServlet("/cartPhoneServlet") public class AddCartServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); PrintWriter out=resp.getWriter(); String idstr=req.getParameter("id"); int id=Integer.parseInt(idstr); ArrayList ckDB= PhoneDb.getAll(); Phone ck=ckDB.get(id-1); HttpSession session=req.getSession(); ArrayList cart=(ArrayList)session.getAttribute("cart"); if (cart==null){ cart=new ArrayList(); } cart.add(ck); session.setAttribute("cart",cart); out.println("添加购物车成功。"); out.println("继续选购
"); out.println("查看购物车"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } }
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
大致讲解一下这段代码:ListPhoneServlet: package Session01; 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 java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; @WebServlet("/listPhones") public class ListPhoneServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); out.println("目前可供选择的手机如下:"); ArrayList allPhones = PhoneDb.getAll(); if (allPhones != null && allPhones.size() > 0) { for (int i = 0; i < allPhones.size(); i++) { Phone ck = allPhones.get(i); out.println("手机名:"+ck.getName()+" 价格:"+ck.getPrice()+" 立即购买 "); out.println("加入购物车
"); } } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } }
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
讲解一下这段代码:ListPhoneServlet: package Session01; 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 java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; @WebServlet("/listPhones") public class ListPhoneServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); out.println("目前可供选择的手机如下:"); ArrayList allPhones = PhoneDb.getAll(); if (allPhones != null && allPhones.size() > 0) { for (int i = 0; i < allPhones.size(); i++) { Phone ck = allPhones.get(i); out.println("手机名:"+ck.getName()+" 价格:"+ck.getPrice()+" 立即购买 "); out.println("加入购物车
"); } } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } }
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)