Servlet技术实现服务端,Android平台作为客户端,实现一个个人店铺
背景:
使用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平台作为客户端,实现一个个人店铺相关推荐
- android socket 服务端,Android socket 服务端
Android socket 服务端 Android 想在Android 上跑一个 socket 服务端.把在java工程里运行起来的代码直接放到android项目里来,开启线程,创建ServerSo ...
- mfc作为服务端,android作为客服端进行socket通讯,android在wifi下手机与电脑的socket通信...
在 wifi 局域网下,手机可以和电脑通过 socket 通信.手机做服务端,电脑做客户端:也可 以反过来,电脑做服务端,手机做客户端. 下面介绍的是手机作为服务端,电脑使用 MFC 编程作为客户端, ...
- Qt 多线程TCP服务端一键关闭所有客户端
Qt 多线程TCP服务端一键关闭所有客户端 任务描述: 实现多线程TCP服务端一键关闭所有客户端的连接. 解决过程: 1.Qt的服务端提供了close的功能,但是只用来不响应新接入的客户端. 手册中是 ...
- 启动go服务_内网穿透工具 FRP公网服务端、内网客户端快速配置文件说明
内网穿透工具 FRP 公网服务端.内网客户端 frps.ini .frpc.ini 配置文件常用设置展示及说明 公网服务端 frps.ini 配置文件常用设置 公网服务端配置文件:frps.ini [ ...
- git的CentOS服务端安装和windows客户端的使用
git的CentOS服务端安装和windows客户端的使用 此教程以 ***vps CentOS 6 x64 的系统为环境,搭建 git 服务端.windows 7 系统为客户端. git客户端 在W ...
- socket服务端处理多个客户端的请求学习理解
socket服务端处理多个客户端的请求: while(true){ Socket s=ss.accept(); new WorkThread(s).start(); } class WorkThrea ...
- 【Socket编程】Python实现一个服务端,多个客户端接入
Python实现一个服务端,多个客户端接入 1. 服务器端 服务器端每一次接收客户端连接,都要fork一个进程来完成,如果单纯使用socket模块来实现,是不容易完成多线程接入的.为了方便,可以直接使 ...
- java做服务端,FLASH做客户端交互总结
经过大概2周的时间,做完了1个JAVA做服务器FLASH做客户端的交互例子.期间碰到些麻烦事,总结下做个记录. 1.安全域问题,当服务器在本地启动的时候,如果没有进行对应配置直接让FLASH访问服务器 ...
- 征服账号服务器,最新中文征服服务端(带架设教程+客户端补丁+需要的工具)10.13日更新...
最新中文征服服务端(带架设教程+客户端补丁+需要的工具)10.13日更新 10月9号版本更新信息: 增加了 头像. 头像已经很完美了 天石 , 挖矿, 宝石效果 高级宝石 可以放出 动画 数据库已经改 ...
- SSR 服务端渲染与 CSR 客户端渲染
SSR 服务端渲染与 CSR 客户端渲染 SSR 服务端渲染 CSR 客户端渲染 本文要点: 介绍 SSR 服务端渲染概念.优点.缺点.案例及常用框架. 介绍 CSR 服务端渲染概念.优点.缺点. S ...
最新文章
- 初次使用CxImage类库、VC6配置UNICODE的方法
- 合并odex和少dex的apk为完整的apk文件
- 提高你开发效率的十五个 Visual Studio 使用技巧
- 大数据WEB阶段Spring框架 AOP面向切面编程(二)
- 《Python Cookbook 3rd》笔记(5.12):测试文件是否存在
- iOS 覆盖率检测原理与增量代码测试覆盖率工具实现
- 阶梯式的岗位技术培训认证体系
- IDEA和MySQL数据库建立连接
- redis中数据类型的使用,并发问题,list重复插入问题,redis使用实例-简单消息队列和排名统计
- 图片url地址的生成获取方法
- 获取每日 联想电脑 开机锁屏壁纸
- 行测题数字推理技巧总结(简单精辟)
- js基础——图片切换实例(函数传参)
- 1155低功耗cpu排行_低功耗是亮点 Intel第三代酷睿CPU评测
- 抖音无水印视频批量下载
- 规则引擎drools系列(一)
- WORD、WPS中实现交叉引用,位置跳转
- win10右键菜单发送到的选项为空怎么解决
- 汽车行业部件IPX9K高温高压喷水试验测试
- 华为:决定起诉美国政府