android 获取后台数据_Android通过Web与后台数据库交互

2020.11.24 更新

1 背景

开发一个App与后台数据库交互,基于MySQL+原生JDBC+Tomcat,没有使用DBUtilsJDBC框架,纯粹底层JDBC实现。

这几天踩了很多坑,说得夸张点真是踩到没有知觉,希望能帮助读者少踩坑...

2 开发环境

  • Windows10
  • 服务器CentOS 7
  • Android Studio 3.5.1
  • IntelliJ IDEA 2019.02
  • MySQL 8.0.17
  • Tomcat 9.0.26

3 准备环境

主要是安装MySQLTomcat,已经安装的可以略过。

3.1 安装MySQL

这个是目前比较新的MySQL版本。

服务器系统是CentOS

其他系统安装看这里:

  • Win10
  • Ubuntu
  • Fedroa
  • ReaHat

CentOS使用yum安装即可。

3.1.1 下载并安装MySQL

sudo yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
sudo yum install mysql-community-server

3.1.2 启动服务并查看初始化密码

sudo service mysqld start
sudo grep 'temporary password' /var/log/mysqld.log

3.1.3 修改密码

首先使用root登录:

mysql -u root -p

输入上一步看到的密码,接着使用alter修改密码:

alter mysql.user 'root'@'localhost' identified by 'password';

注意新版本的MySQL不能使用太弱的密码,比如:

f3cb1e7936efcaaf33cf9e7ea055af85.png

出现这种提示的话则说明密码太弱了,请使用一个更高强度的密码。

3.1.4 允许外部访问

use mysql;
update user set host='%' where user='root';

这个可以根据自己的需要去修改,host='%'表明允许所有的ip登录,也可以设置特定的ip,若使用host='%'的话建议新建一个用户配置相应的权限。

3.1.5 配置防火墙(可选)

一般来说需要在对应的云厂商的防火墙配置中开启响应端口,如图:

fd2879e446c2db3ae453c50a098d0452.png

ec79f385a7e90900906b7deeb85b1d09.png

e400d07bfd68b51ee2646ea99d327ba8.png

ddbab91ef73d7f294a4a5c44a2bc269f.png

其中授权对象可以根据自己的需要更改,0.0.0.0/0表示允许所有的ip

3.2 安装Tomcat

3.2.1 下载并上传到服务器

先去官网下载,下载后上传文件到服务器:

7aa13e56946eafbbe0249f1cb2c9e63e.png

f498acab4c8ed2330005133f0185a870.png

笔者使用的是scp命令,使用不熟练的可以戳这里看看:

scp apache-tomcat-xxxx.tar.gz [email protected]:/

改成自己的用户名和ip

3.2.2 解压

ssh连接到服务器,接着移动到/usr/local并解压:

mkdir /usr/local/tomcat
mv apache-tomcat-xxxx.tar.gz /usr/local/tomcat
tar -xzvf apache-tomcat-xxx.tar.gz

3.2.3 修改默认端口(可选)

修改conf/server.xml文件,一般只需修改

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

中的8080端口,修改这个端口即可。

需要的话自行更改。

3.2.4 启动

运行bin目录下的startup.sh:

cd bin
./startup.sh

3.2.5 测试

浏览器输入:

服务器IP:端口

若出现:

fd9d3d5bf16cdd5512d467272f957773.png

则表示成功。

3.2.6 开机启动(可选)

建议配置开机启动,修改/etc/rc.local文件,添加:

sh /usr/local/tomcat/bin/startup.sh

这个根据自己的Tomcat安装路径修改,指定bin下的startup.sh

4 建库建表

创建用户表,这里简化操作就不创建新用户不授权了。

这是一个在本地用root登录的示例,请根据实际情况创建并授权用户。

4.1 用户表

CREATE DATABASE userinfo;
USE userinfo;
CREATE TABLE user
(
    id          INT     NOT NULL    PRIMARY KEY   AUTO_INCREMENT,
    name        CHAR(30)    NULL,
    password    CHAR(30)    NULL
);

4.2 导入

mysql -u root -p < user.sql

9d701b34c3b0d0fb9724b820471f7101.png

这样准备工作就做好了,下面正式开始进行敲代码阶段。

5 后端部分

5.1 创建项目

选择Web Application:

5a5afb75ea0a286adf970fe4434a6f57.png

6a92705143bd8edaa7dc164210e9d947.png

5.2 添加依赖库

创建一个叫lib的目录:

bd82052bb5f224f252ab893eb441ee51.png

添加两个JAR包(文末提供下载链接):

  • mysql-connector-java-8.0.17.jar
  • javax.servlet-api-4.0.1.jar

bb4c48167821ea6808de8279da3eb84a.png

打开Project Structure

35cd8e2d0ba74f6584ed9f131303e1e5.png

Modules --> + --> JARs or directories

281a3187a524e4ac1e72843e2ac8a16b.png

选择刚才新建的lib下的两个JAR包:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值