Android studio 购物系统 and Servlet技术实现后端服务端

背景:

使用Servlet技术实现服务端,使用Android平台作为客户端,实现一个个人店铺,店铺商品不限。功能要求如下:

1. 提供登录、注册功能 ;

2. 首页面包括“商品列表”子页面、“订单”子页面和“我的”子页面;

3. 在商品列表页点击某个商品列表项可跳转到该商品的详情页面,在商品详情页面可以实现加入购物车和购买操作;商品数据来自于服务端;

4. 订单页显示个人的订单历史记录(每个订单显示订单日期、订单总价格),点击某个订单项,可跳转到订单详情页(显示订单中的商品列表,包括商品名称、单价、数量以及订单总价格);

5. 提供购物车页面,能够对购物车中的商品进行编辑:数量的增减、商品的删除、总价格的计算等;

6. 实现我的页面,能够维护个人信息;

7. 服务器端仅需提供接口,不需实现可视化的界面;

话不多说先看效果图,包含购物车功能 如需详细代码请移步vx :sredxc

在这里插入图片描述
在这里插入图片描述

安卓展示: vx :sredxc

登录部分代码从后端获取

vx :sredxc
regist.setOnClickListener(v -> {
            Intent intent = new Intent(this, RegiestActivity.class);
            startActivity(intent);
        });

        login.setOnClickListener(v -> {
            if (user.getText().toString().isEmpty()){
                Toast.makeText(this, "账号不可以为空!", Toast.LENGTH_SHORT).show();
            }else  if (pwd.getText().toString().isEmpty()){
                Toast.makeText(this, "密码不可以为空!", Toast.LENGTH_SHORT).show();
            }else {

                JSONObject jsonObject=new JSONObject();
                try {
                    jsonObject.put("username", user.getText().toString());
                    jsonObject.put("password", pwd.getText().toString());
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                mPresenter.startpostInfoJsonToken(Constant22.BASE_Login, LoginBean.class, jsonObject.toString(),"");
            }
        });

在请求成功后做登录操作

if(o instanceof LoginBean){
            if(((LoginBean) o).getStatus()==200){
                SPUtils.putString2SP("user",user.getText().toString());
                SPUtils.putString2SP("pwd",pwd.getText().toString());
                SPUtils.putString2SP("user_id",((LoginBean) o).getData().getUser_id()+"");
                Toast.makeText(this, ((LoginBean) o).getMessage(), Toast.LENGTH_SHORT).show();
                Intent intent = new Intent(ZhiWenActivity.this,StartActivity.class);
                startActivity(intent);
                finish();
            }else {
                Toast.makeText(this, ((LoginBean) o).getMessage(), Toast.LENGTH_SHORT).show();
            }
        }

这里是部分适配器代码,用于展示购物车逻辑和展示

holder.name.setText(list.get(position).getPname());
        holder.remark.setText(list.get(position).getDesc());

        holder.sum.setnumbet(list.get(position).getProduct_num());

        holder.sum.setAddCall(new Addnet.AddCall() {
            @Override
            public void onClick(int number) {
                shopCallBack.addin(1,position,number);
            }
        });
        holder.price.setText(list.get(position).getPrice()+"元");

        
        holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                shopCallBack.onClick(position);
                return false;
            }
        });


        holder.small_check.setChecked(list.get(position).isCheck());

        holder.small_check.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                boolean stu = list.get(position).isCheck();
                shopCallBack.smallidnex(1,position,stu);
            }
        });

接口介绍:

本项目部署在公网,安卓请求数据为数据库中数据,servlet后台也已经部署在公网

在这里插入图片描述
在这里插入图片描述

servlet使用ecplise+apache进行开发

servlet后台代码:

登录servlet
public class userLogin extends HttpServlet {

    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    	//0、解决返回中文乱码问题
		resp.setCharacterEncoding("UTF-8");
		JSONObject web_dict = JsonObjectWeb.getJsonInfoDict(req);
		
    	String username = web_dict.getString("username");
        String password = web_dict.getString("password");
        User user = new User();//创建user对象
        user.setUsername(username);
        user.setPassword(password); 
注册servlet
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    	//解决返回中文乱码问题
		resp.setCharacterEncoding("UTF-8");
		JSONObject web_dict = JsonObjectWeb.getJsonInfoDict(req);
		
    	String username = web_dict.getString("username");
        String password = web_dict.getString("password");

        User user = new User();//创建user对象
        user.setUsername(username);
        user.setPassword(password);

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值