Android客户端连接阿里云服务器MySQL数据库实现登录功能(代码配置流程详解)... (2)

改完以后代码如下:

android { compileSdkVersion 28 useLibrary\'org.apache.http.legacy\' defaultConfig { applicationId "com.example.yang.test" minSdkVersion 14 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(\'proguard-android.txt\'), \'proguard-rules.pro\' } } } dependencies { implementation fileTree(dir: \'libs\', include: [\'*.jar\']) implementation \'com.android.support:appcompat-v7:26.0+\' implementation \'com.android.support.constraint:constraint-layout:1.1.3\' testImplementation \'junit:junit:4.12\' androidTestImplementation \'com.android.support.test:runner:1.0.2\' androidTestImplementation \'com.android.support.test.espresso:espresso-core:3.0.2\' }

第三步:记得在配置文件里面加网络权限

配置文件代码:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.yang.test"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".LoginDemoActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-permission android:name="android.permission.INTERNET"/> </manifest>

客户端的代码都在这里,没错了!

服务器代码

至于服务器的初始化搭建可以参考我的另外两篇博客

Windows server 2012 R2的测试(访问一张图片为例)
阿里云windows server 2012R2服务器的搭建+Tomcat(访问一张照片为例)

如果你的服务器还不能被外界访问,那就不要说访问服务器的数据库了,服务器能被外网访问了,我们再来看看怎么布置服务器!

一。搭建数据库
我们选择MySQL-Front,优点就是小巧好用
下载后安装我就不说了,来构建一个数据库!

右键localhost—>新建—>数据库

写好数据库名,字符集选择utf8,字符集校对不改动

右键新建的数据库—>新建—>表格

填好表名,其他不改动,确定就行

右键表—>新建字段—>UserName(在Id之后,varchar,长度64就行,确定)和Password(同上)

最后还要打开访问这张表的权限,双击用户—>右键@localhost—>属性—>权限—>新建—选择数据库—增删改查四个权限都勾选,确定就行

补充一句,如果不小心把mysql数据库删除了,没有什么好办法恢复,初始服务器磁盘是最快的方法

表建好了,下一步写Java web的代码!!

二.Servelet代码
我用的是netBeans,用Java EE也行,直接贴代码先!

DBManager.java

import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import java.sql.ResultSet; import java.util.logging.Level; import java.util.logging.Logger; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; public class DBManager extends HttpServlet { ServletConfig config; //定义一个ServletConfig对象 private static String UserName; //定义的数据库用户名 private static String Password; //定义的数据库连接密码 private static String url="jdbc:mysql://localhost:3306/....; //填你的数据库名 private static Connection connection; //定义连接 @Override public void init(ServletConfig config) throws ServletException { super.init(config); //继承父类的init()方法 this.config = config; //获取配置信息 UserName = config.getInitParameter("DBUsername"); //获取数据库用户名 Password = config.getInitParameter("DBPassword"); //获取数据库连接密码 url = config.getInitParameter("ConnectionURL"); //获取数据库连接URL } /** * 获得数据库连接对象 * * @return 数据库连接对象 */ public static Connection getConnection() { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); connection = DriverManager.getConnection(url, UserName, Password); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | SQLException ex) { Logger.getLogger(DBManager.class.getName()).log(Level.SEVERE, null, ex); } return connection; } /** * 关闭所有的数据库连接资源 * * @param connection Connection 链接 * @param statement Statement 资源 * @param resultSet ResultSet 结果集合 */ public static void closeAll(Connection connection, Statement statement, ResultSet resultSet) { try { if (resultSet != null) { resultSet.close(); } if (statement != null) { statement.close(); } if (connection != null) { connection.close(); } } catch (SQLException ex) { Logger.getLogger(DBManager.class.getName()).log(Level.SEVERE, null, ex); } } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwdsyf.html