Android+Spring+Json简单远程访问服务器数据库实现登陆注册

Android+Spring+Json远程访问服务器数据库实现登陆注册效果图原理网络层数据库Spring搭建服务器环境部署代码编写测试Android客户端访问环境部署代码编写生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入效果图测试了三次,分别为用户名密码都为空、用户名密码错误和正确远程访问服务器数据库进行验证登陆的具体效
摘要由CSDN通过智能技术生成

前言

本人现是名学生,闲暇时间自己自学去做音乐app开发,过程艰辛但学到很多,这其中也无疑得到CSDN莫大的帮助,所以我想把自己的所学所悟都去回馈给这个大集体中,大家一起学习,一起探讨,一起进步。

效果图

远程访问服务器数据库进行注册数据插入和登陆数据验证和的具体效果(画质堪忧):

在这里插入图片描述 在这里插入图片描述
数据库也进来了:在这里插入图片描述

原理

  • 同网段
    在这里插入图片描述
    如果我们用手机模拟器来运行android项目的,那么手机使用的ip地址就是自己电脑的ip地址,服务器对象会有以下两种情况:
  1. 如果我们把自己电脑作为服务器,那么服务器ip地址也是这台电脑的ip地址,当然这种情况是因为我们没有多余的(有另一个ip)电脑进行项目的测试,通俗的讲就是用自己的ip访问自己,是一定ping得通的,也就一定能进行访问。
  2. 如果我们把另一台电脑作为服务器,服务器ip地址当然是另一台电脑的ip地址,两者想建立连接得确定自己电脑的ip和另一台电脑的ip是否在同个局域网内,就像一个校园网就是在同个局域网内,他们是可以ping得通的,前提是双方都没有开启防火墙。
  • 不同网段
    在这里插入图片描述
    为什么我们可以访问百度,却不能访问其他的私人ip?抛出两种情况,如果我们还是用手机模拟器来运行android项目的,而服务器主机ip既不是自己也不是在同个局域网内,亦或是我们用是由电信运营商提供ip地址的手机运行android项目,而服务器主机是自己的电脑,都会ping不通,由于这是跨网段的访问,手机和服务器主机的访问就需要通过路由的下一跳转发,如果两者没有建立路由连接,是ping不通的,我们和百度已建立了路由连接,所以我们能访问百度,当然建立了路由连接后,如果访问时延过长或被某节点进行了防火墙等拦截的话,也会导致无法ping得通。

手机客户端和服务器都能相互ping得通后,即能进行相互访问后,服务器端打开8080端口(可变)等待客户端ip访问,当android客户端访问服务器ip下的8080端口,向服务器发送json数据后,服务器会在8080端口接收到json数据,随后自己去访问自己主机下的3306端口(可变)进行相应的数据库操作,操作结束后,返回给客户端一些json数据,这些json数据是服务端从数据库里得到的一些数据,最后客户端接收到服务器传过来的json数据进行解析和操作。

数据库

我的数据库结构:
在这里插入图片描述
我的数据库数据:
在这里插入图片描述

Spring搭建服务器

环境部署

  • 项目结构
    先看下项目结构,我们这次只用到红圈几个类:
    在这里插入图片描述
  • 相关依赖
    除了mysql依赖还有其它一些依赖:
       <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.16</version>
        </dependency>
         <!--Mybatis Plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.3.1.tmp</version>
        </dependency>
        <!--json-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.11.3</version>
        </dependency>
  • 配置文件
    除数据库连接配置以外,还有mybatis配置:
mybatis-plus:
  #配置日志
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  #配置逻辑删除
  global-config:
    db-config:
      logic-delete-value: 1
      logic-not-delete-value: 0

代码编写

  • 工具类(注意:数据库表是什么名这个类就是什么名,支持驼峰命名)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class muyUsers {
   
    @TableId(type = IdType.AUTO)
    private int id;

    @NonNull
    @JsonProperty(value = "username")
    private String username;

    @NonNull
    @JsonProperty(value = "password")
    private String password;

    @NonNull
    @JsonProperty(value = "email")
    private String email;

    @NonNull
    @JsonProperty(value = "phone")
    private String phone;

    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    @TableLogic//逻辑删除
    @TableField(fill = FieldFill.INSERT)
    private int deleted;
}
  • 接口(注意:必须在主启动类加@MapperScan扫描接口所在的包)
@Component
public interface UserMapper extends BaseMapper<muyUsers> {
   
}
  • 控制类(@ResponseBody发送json数据,@RequestBody接收json数据)
@Controller
public class MuyController {
   

    @Autowired
    UserMapper userMapper;

    //验证用户登陆(错误记录:如果不加JsonProperty注解,请求就拿不到json数据)
    @RequestMapping(value = "/jsonUser", method = RequestMethod.POST, produces = "application/json;charset=utf-8")</
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值