实现购物车的代码

package com.hbsi.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.hbsi.dao.BookDao;
import com.hbsi.domain.Book;
import com.hbsi.domain.User;

public class IndexServletShopping extends HttpServlet {

 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  
  response.setContentType("text/html;charset=UTF-8");
  PrintWriter out = response.getWriter();
  HttpSession session= request.getSession();
  
  User user = (User) session.getAttribute("user");
  
  if(user!=null){
   
   out.print("欢迎您:"+user.getUsername()+" ");
  }
  
  out.print("<a href='/BookHistory/Login.html'>登陆</a> ");
  out.print("<a href='/BookHistory/servlet/LogoutServlet'>注销</a><br><br> ");
  
  
  
  out.print("本网站有如下商品:<br>");
  
   BookDao db = new BookDao();
   List<Book> list = db.getAll();
   for(Book book:list){
    String url = response.encodeURL("/BookHistory/servlet/BuyServlet?id="+book.getId());
    out.print(book.getName()+"<a href='"+url+"'>购买</a><br>");
   }
  
  

 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  doGet(request, response);
 }

}
package com.hbsi.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.hbsi.domain.Book;

public class CartDisplayServlet extends HttpServlet {

 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  response.setContentType("text/html;charset=UTF-8");
  PrintWriter out = response.getWriter();
  
  List<Book> list = (List<Book>) request.getSession().getAttribute("cart");
  for(Book book:list){
   out.print(book.getName()+"<br>");
  }

 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  doGet(request, response);
 }

}

package com.hbsi.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.hbsi.dao.BookDao;
import com.hbsi.domain.Book;

public class BuyServlet extends HttpServlet {

 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  response.setContentType("text/html;charset=UTF-8");
  PrintWriter out = response.getWriter();
  
  String bookid = request.getParameter("id");
  BookDao bd = new BookDao();
  Book book = bd.getBook(bookid);
  
  HttpSession session = request.getSession();
  
  Cookie cookie = new Cookie("JSESSIONID",session.getId());
  cookie.setMaxAge(30*60);
  cookie.setPath("/BookHistory");
  response.addCookie(cookie);
  
  List list = (List) session.getAttribute("cart");
  if(list==null){
   list = new ArrayList();
   session.setAttribute("cart",list);
  }
  list.add(book);
  String url = response.encodeRedirectURL("/BookHistory/servlet/CartDisplayServlet");
  response.sendRedirect(url);
  
  

 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  doGet(request, response);
 }

}

package com.hbsi.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.hbsi.dao.UserDao;
import com.hbsi.domain.User;

public class LoginServlet extends HttpServlet {

 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  
  request.setCharacterEncoding("UTF-8");
  
  response.setContentType("text/html;charset=UTF-8");
  PrintWriter out = response.getWriter();
  
  
  
  String username = request.getParameter("username");
  String password = request.getParameter("password");
  
  String checkcode = request.getParameter("checkcode");
  System.out.println(checkcode);
  
  String imgcode = (String) request.getSession().getAttribute("imgcode");
  System.out.println(imgcode);
  if(checkcode!=null && imgcode!=null && checkcode.equals(imgcode)){
   //处理登陆请求
   
   UserDao udao = new UserDao();
   User user = udao.find(username, password);
   
   if(user!=null){
    request.getSession().setAttribute("user",user);
    response.sendRedirect("/BookHistory/servlet/IndexServletShopping");
   }
   out.print("用户名密码错");
  }else{
   out.print("验证码错误!!!");
  }
  
  

 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  doGet(request, response);
 }

}

package com.hbsi.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class LogoutServlet extends HttpServlet {

 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  
  HttpSession session = request.getSession(false);
        if(session==null){
         response.sendRedirect("/BookHistory/servlet/IndexServletShopping");
         return;
        }
        session.removeAttribute("user");
       // session.invalidate();
        response.sendRedirect("/BookHistory/servlet/IndexServletShopping");
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  doGet(request, response);
 }

}

好的,关于 Android Studio 实现购物车代码,我可以给你一些基本的思路和代码示例来进行参考。但请注意,这只是一个简单的购物车示例,实现的功能也比较基础,具体还需要根据实际项目需求进行更加复杂的开发。 首先,需要在你的项目中创建一个购物车页面,这个页面主要用来展示用户已经选择的商品信息,并且允许用户对购物车内容进行修改、删除等操作。 在购物车页面中,可以使用 ListView 或者 RecyclerView 来展示商品列表,每一个商品需要显示图片、名称、价格、数量等基本信息。同时,你需要设置对应的适配器来将数据和 UI 进行绑定。 在界面上还需要添加相应的按钮,例如“增加数量”、“减少数量”、“删除”等操作,这些操作需要通过代码实现。 下面是一个简单的购物车示例代码: ``` public class ShoppingCartActivity extends AppCompatActivity implements View.OnClickListener { private ListView mListView; private Button mBtnClear; private Button mBtnPay; private List<GoodsInfo> mShoppingCartList; private ShoppingCartAdapter mAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_shopping_cart); initView(); initData(); } private void initView() { mListView = (ListView)findViewById(R.id.list_view); mBtnClear = (Button)findViewById(R.id.btn_clear); mBtnPay = (Button)findViewById(R.id.btn_pay); mBtnClear.setOnClickListener(this); mBtnPay.setOnClickListener(this); } private void initData() { mShoppingCartList = new ArrayList<>(); mShoppingCartList.add(new GoodsInfo(R.drawable.goods1, "商品1", 19.99, 1)); mShoppingCartList.add(new GoodsInfo(R.drawable.goods2, "商品2", 29.99, 2)); mShoppingCartList.add(new GoodsInfo(R.drawable.goods3, "商品3", 39.99, 3)); mAdapter = new ShoppingCartAdapter(this, mShoppingCartList); mListView.setAdapter(mAdapter); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_clear: mShoppingCartList.clear(); mAdapter.notifyDataSetChanged(); break; case R.id.btn_pay: double totalPrice = calculateTotalPrice(mShoppingCartList); String message = String.format("总金额为%.2f元", totalPrice); Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); break; default: break; } } /** * 计算购物车中商品的总价 */ private double calculateTotalPrice(List<GoodsInfo> shoppingCartList) { double totalPrice = 0; for (GoodsInfo goodsInfo : shoppingCartList) { totalPrice += goodsInfo.getPrice() * goodsInfo.getCount(); } return totalPrice; } } ``` 在这个示例代码中,我们通过在 initData() 方法中模拟了一些商品数据,并且将这些数据绑定到了 ListView 上。 当用户进行购物车操作时,我们会根据用户的操作进行相应的数据修改,例如在 onClick() 方法中通过判断点击了哪一个按钮,分别执行清空购物车和计算总价的操作。 这只是一个简单的实现示例,你可以自己根据实际需求进行更加复杂的开发,例如添加优惠券功能、结算功能等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值