当前位置:   article > 正文

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

android studio 后端

背景:

使用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(),"");
            }
        });
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

在请求成功后做登录操作

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();
            }
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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

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);
            }
        });
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

接口介绍:

本项目部署在公网,安卓请求数据为数据库中数据,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);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

在这里插入图片描述

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号