背景:

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

1. 提供登录、注册功能;(10分)

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

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

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

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

5. 实现我的页面,能够维护个人信息;(10分)

6. 服务器端仅需提供接口,不需实现可视化的界面;(10分)

提交附件压缩包要求:

1. 包含Android端代码,以及服务端代码(工程clean后提交),mysql导出的.sql数据库脚本文件;

2. 包含实现功能简介及必要的重要运行截图文档,word格式(也可以是录制的运行视频);

安卓展示:

1-登录和注册【这里仅展示注册】

2-商品列表

3-商品详情

4-购物车

5-订单

接口介绍:

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

项目使用ecplise+servlet+apache+mysql进行开发

遇到的技术难点:

笔者表示这还是第一次用servlet成功写出一个前后端交互的项目,还是验证了java所学,比较兴奋。个人认为比较有挑战性的技术难点如下:

1-以json格式与前端交互,用到了JSONObject()

2-公网部署servlet项目以及暴露图片地址给前端访问,原以为很难,实际很简单。

3-c3p0配置以及使用QueryRunner来执行sql。这一步笔者认为比较花时间。比如下面的new BeanListHandler<Cart>(Cart.class),如果使用不同BeanListHandler,都会返回不一样的值,这里debug看的很痛苦。

//显示购物车所有信息public List<Cart> viewCart(int user_id) throws SQLException {QueryRunner query = new QueryRunner(JDBCUtils.getDataSource());//感觉连接建立成功了String sql = "select * from cart where user_id = " + user_id + " and is_delete = 0 and status = 0";
//      System.out.println(sql);return query.query(sql, new BeanListHandler<Cart>(Cart.class));}

4-因为要用到一些公共的包,所以笔者配置了很多jar包,jar包笔者一度也配置的很痛苦,终于知道为啥要用maven了!!!maven是在太方便了!!!!

servlet后台代码:

vx: zew1040994588
登录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);
vx: zew1040994588
注册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);

安卓代码:

vx :zew1040994588
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(),"");}});

Servlet技术实现服务端,Android平台作为客户端,实现一个个人店铺相关推荐

  1. android socket 服务端,Android socket 服务端

    Android socket 服务端 Android 想在Android 上跑一个 socket 服务端.把在java工程里运行起来的代码直接放到android项目里来,开启线程,创建ServerSo ...

  2. mfc作为服务端,android作为客服端进行socket通讯,android在wifi下手机与电脑的socket通信...

    在 wifi 局域网下,手机可以和电脑通过 socket 通信.手机做服务端,电脑做客户端:也可 以反过来,电脑做服务端,手机做客户端. 下面介绍的是手机作为服务端,电脑使用 MFC 编程作为客户端, ...

  3. Qt 多线程TCP服务端一键关闭所有客户端

    Qt 多线程TCP服务端一键关闭所有客户端 任务描述: 实现多线程TCP服务端一键关闭所有客户端的连接. 解决过程: 1.Qt的服务端提供了close的功能,但是只用来不响应新接入的客户端. 手册中是 ...

  4. 启动go服务_内网穿透工具 FRP公网服务端、内网客户端快速配置文件说明

    内网穿透工具 FRP 公网服务端.内网客户端 frps.ini .frpc.ini 配置文件常用设置展示及说明 公网服务端 frps.ini 配置文件常用设置 公网服务端配置文件:frps.ini [ ...

  5. git的CentOS服务端安装和windows客户端的使用

    git的CentOS服务端安装和windows客户端的使用 此教程以 ***vps CentOS 6 x64 的系统为环境,搭建 git 服务端.windows 7 系统为客户端. git客户端 在W ...

  6. socket服务端处理多个客户端的请求学习理解

    socket服务端处理多个客户端的请求: while(true){ Socket s=ss.accept(); new WorkThread(s).start(); } class WorkThrea ...

  7. 【Socket编程】Python实现一个服务端,多个客户端接入

    Python实现一个服务端,多个客户端接入 1. 服务器端 服务器端每一次接收客户端连接,都要fork一个进程来完成,如果单纯使用socket模块来实现,是不容易完成多线程接入的.为了方便,可以直接使 ...

  8. java做服务端,FLASH做客户端交互总结

    经过大概2周的时间,做完了1个JAVA做服务器FLASH做客户端的交互例子.期间碰到些麻烦事,总结下做个记录. 1.安全域问题,当服务器在本地启动的时候,如果没有进行对应配置直接让FLASH访问服务器 ...

  9. 征服账号服务器,最新中文征服服务端(带架设教程+客户端补丁+需要的工具)10.13日更新...

    最新中文征服服务端(带架设教程+客户端补丁+需要的工具)10.13日更新 10月9号版本更新信息: 增加了 头像. 头像已经很完美了 天石 , 挖矿, 宝石效果 高级宝石 可以放出 动画 数据库已经改 ...

  10. SSR 服务端渲染与 CSR 客户端渲染

    SSR 服务端渲染与 CSR 客户端渲染 SSR 服务端渲染 CSR 客户端渲染 本文要点: 介绍 SSR 服务端渲染概念.优点.缺点.案例及常用框架. 介绍 CSR 服务端渲染概念.优点.缺点. S ...

最新文章

  1. 初次使用CxImage类库、VC6配置UNICODE的方法
  2. 合并odex和少dex的apk为完整的apk文件
  3. 提高你开发效率的十五个 Visual Studio 使用技巧
  4. 大数据WEB阶段Spring框架 AOP面向切面编程(二)
  5. 《Python Cookbook 3rd》笔记(5.12):测试文件是否存在
  6. iOS 覆盖率检测原理与增量代码测试覆盖率工具实现
  7. 阶梯式的岗位技术培训认证体系
  8. IDEA和MySQL数据库建立连接
  9. redis中数据类型的使用,并发问题,list重复插入问题,redis使用实例-简单消息队列和排名统计
  10. 图片url地址的生成获取方法
  11. 获取每日 联想电脑 开机锁屏壁纸
  12. 行测题数字推理技巧总结(简单精辟)
  13. js基础——图片切换实例(函数传参)
  14. 1155低功耗cpu排行_低功耗是亮点 Intel第三代酷睿CPU评测
  15. 抖音无水印视频批量下载
  16. 规则引擎drools系列(一)
  17. WORD、WPS中实现交叉引用,位置跳转
  18. win10右键菜单发送到的选项为空怎么解决
  19. 汽车行业部件IPX9K高温高压喷水试验测试
  20. 华为:决定起诉美国政府

热门文章

  1. 【发际线大作战】C++练习题之nxn矩阵对角线元素之和
  2. cento7安装mysql详细步骤
  3. c++ 不足位数补足某个字符的方法
  4. 运用for循环设置轮播图标的高亮效果
  5. 如何扩展 Visual Studio 编辑器
  6. 数字平原是怎么制作三维建筑动画的?
  7. 无盘服务器 z10,Z10PA-D8
  8. 食品企业如何做好网络营销?
  9. banner设计技巧分享
  10. 移动联通超级管理员账户密码