1 概述
本文列举了一些Android+后端Java通信/部署时的问题以及注意事项,覆盖的问题包括但不限于安全组、数据库、路径等,如果各位读者的Android端不能正常访问Java后端,希望这里的解决方案能帮助到您。
2 分类
这里将问题分为三类:
Java端问题
Android端问题
其他杂项问题
先来看一下Java端可能出现的问题。
3 Java端
包括:
数据库
安全组/防火墙
404
3.1 数据库
3.1.1 驱动
注意MySQL5.7与MySQL8注册驱动时是不一样的,MySQL5.7是:
Class.forName("com.mysql.jdbc.Driver");
MySQL8
以上是:
Class.forName("com.mysql.cj.jdbc.Driver");
另外要注意JAR包版本正确。
3.1.2 用户名/密码/权限
首先需要确保配置文件中的访问数据库的用户名以及密码要正确,不然的话可能会出现各种空指针错误,另外需要确保该用户对目标数据库或表具有对应的权限。
3.1.3 Spring Boot中的加密配置
在application.yaml/application.yml/application.properties中配置对应的用户名以及密码,一般明文是没问题的,这里是针对使用了Jasypt加密库(Jasypt可以加密Spring Boot中的配置文件,使用可以参考这里)来说的。
因为使用Jasypt后配置文件为密文,如果此时的加密口令不能正确读取会直接报错,因此可以针对Jasypt的加密方式(简单口令加密、非明文口令、非对称加密等)查看配置文件是否有错漏,或者是否配置了对应的环境变量等。
3.1.4 Maven
Maven的WAR打包插件不能将新修改的文件编译为字节码并打包,因此,如果修改了数据库的密码后,需要重新编译,一般步骤是先clean,再编译最后打包:
3.2 安全组/防火墙
3.2.1 不带防火墙
查看防火墙可以使用:
systemctl status firewalld
# 或
systemctl status iptables
如果是没有开启,那就只需要处理安全组就可以了。
一般服务器厂商都会提供安全组,开放对应的端口以及IP
即可:
3.2.2 带防火墙
带防火墙的话,可以先查看开启了哪些服务以及规则&#x