电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Android Studio+Servlet+MySql實現登錄注冊

瀏覽:2日期:2022-09-18 16:45:00
一、Android 項目當中設置明文傳輸

1、設置明文傳輸的xml

Android Studio+Servlet+MySql實現登錄注冊

Android Studio+Servlet+MySql實現登錄注冊

Android Studio+Servlet+MySql實現登錄注冊

Android Studio+Servlet+MySql實現登錄注冊

<?xml version='1.0' encoding='UTF-8'?><network-security-config> <base-config cleartextTrafficPermitted='true'/></network-security-config>2、引入上述創建的xml

Android Studio+Servlet+MySql實現登錄注冊

android:networkSecurityConfig='@xml/network_security_config'二、在MyEclipse當中創建Web項目

1、創建項目

Android Studio+Servlet+MySql實現登錄注冊

引入MySQL的驅動包

Android Studio+Servlet+MySql實現登錄注冊

2、創建實體類User

Android Studio+Servlet+MySql實現登錄注冊

package entity;public class User { private int id; private String name; private String username; private String password; private int age; private String phone; public User() { } public User(int id, String name, String username, String password, int age, String phone) {this.id = id;this.name = name;this.username = username;this.password = password;this.age = age;this.phone = phone; } public int getId() {return id; } public void setId(int id) {this.id = id; } public String getName() {return name; } public void setName(String name) {this.name = name; } public String getUsername() {return username; } public void setUsername(String username) {this.username = username; } public String getPassword() {return password; } public void setPassword(String password) {this.password = password; } public int getAge() {return age; } public void setAge(int age) {this.age = age; } public String getPhone() {return phone; } public void setPhone(String phone) {this.phone = phone; }}

3、創建JDBCUtils工具類

Android Studio+Servlet+MySql實現登錄注冊

package dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class JDBCUtils { static {try { Class.forName('com.mysql.jdbc.Driver');} catch (ClassNotFoundException e) { e.printStackTrace();} } public static Connection getConn() {Connection conn = null;try { conn=DriverManager.getConnection('jdbc:mysql://127.0.0.1:3306/test','root','root');}catch (Exception exception){ exception.printStackTrace();}return conn; } public static void close(Connection conn){try { conn.close();} catch (SQLException throwables) { throwables.printStackTrace();} }}

4、創建UserDao類

Android Studio+Servlet+MySql實現登錄注冊

package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import entity.User;public class UserDao { public boolean login(String name,String password){String sql = 'select * from users where name = ? and password = ?';Connection con = JDBCUtils.getConn();try { PreparedStatement pst=con.prepareStatement(sql); pst.setString(1,name); pst.setString(2,password); if(pst.executeQuery().next()){return true; }} catch (SQLException throwables) { throwables.printStackTrace();}finally { JDBCUtils.close(con);}return false; } public boolean register(User user){String sql = 'insert into users(name,username,password,age,phone) values (?,?,?,?,?)';Connection con = JDBCUtils.getConn();try { PreparedStatement pst=con.prepareStatement(sql); pst.setString(1,user.getName()); pst.setString(2,user.getUsername()); pst.setString(3,user.getPassword()); pst.setInt(4,user.getAge()); pst.setString(5,user.getPhone()); int value = pst.executeUpdate(); if(value>0){return true; }} catch (SQLException throwables) { throwables.printStackTrace();}finally { JDBCUtils.close(con);}return false; } public User findUser(String name){String sql = 'select * from users where name = ?';Connection con = JDBCUtils.getConn();User user = null;try { PreparedStatement pst=con.prepareStatement(sql); pst.setString(1,name); ResultSet rs = pst.executeQuery(); while (rs.next()){ int id = rs.getInt(1); String namedb = rs.getString(2); String username = rs.getString(3); String passworddb = rs.getString(4); int age = rs.getInt(5);String phone = rs.getString(6); user = new User(id,namedb,username,passworddb,age,phone); }} catch (SQLException throwables) { throwables.printStackTrace();}finally { JDBCUtils.close(con);}return user; }}

5、創建對應的LoginServlet

Android Studio+Servlet+MySql實現登錄注冊

Android Studio+Servlet+MySql實現登錄注冊

Android Studio+Servlet+MySql實現登錄注冊

Android Studio+Servlet+MySql實現登錄注冊

package servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import dao.UserDao;public class LoginServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String name = request.getParameter('name');String password = request.getParameter('password');response.setCharacterEncoding('UTF-8');UserDao dao = new UserDao();boolean login = dao.login(name, password);String msg = '';if(login){msg = '成功';}else{msg = '失敗';}PrintWriter out = response.getWriter();out.println(msg);out.flush();out.close();}}三、在Android Studio當中調用Servlet(一)實現登錄功能

1、創建連接Servlet的工具類(PostUtil)

Android Studio+Servlet+MySql實現登錄注冊

Android Studio+Servlet+MySql實現登錄注冊

package com.example.application01.utils;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;//訪問servletpublic class PostUtil { //訪問的serlver不一樣 //傳遞的參數不一樣 public static String Post(String url,String data) {String msg = '';try{ //http://ms-yffprtappszi:8080/AndroidWeb/LoginServlet HttpURLConnection conn = (HttpURLConnection) new URL('http://10.0.2.2:8080/AndroidWeb/'+url).openConnection(); //設置請求方式,請求超時信息 conn.setRequestMethod('POST'); conn.setReadTimeout(5000); conn.setConnectTimeout(5000); //設置運行輸入,輸出: conn.setDoOutput(true); conn.setDoInput(true); //Post方式不能緩存,需手動設置為false conn.setUseCaches(false); //我們請求的數據: //獲取輸出流 OutputStream out = conn.getOutputStream(); out.write(data.getBytes()); out.flush(); if (conn.getResponseCode() == 200) {// 獲取響應的輸入流對象InputStream is = conn.getInputStream();BufferedReader reader = new BufferedReader(new InputStreamReader(is));StringBuffer response = new StringBuffer();String line=null;while ((line = reader.readLine()) != null) { response.append(line);}msg=response.toString(); }}catch(Exception e){ e.printStackTrace();}return msg; }}

2、在MainActivity調用這個類

Android Studio+Servlet+MySql實現登錄注冊

package com.example.application01;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.widget.EditText;import android.widget.Toast;import com.example.application01.dao.UserDao;import com.example.application01.utils.PostUtil;import java.io.UnsupportedEncodingException;import java.net.URLEncoder;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main); } public void reg(View view){startActivity(new Intent(getApplicationContext(),RegisterActivity.class)); } public void login(View view){EditText EditTextname = (EditText)findViewById(R.id.name);EditText EditTextpassword = (EditText)findViewById(R.id.password);new Thread(){ @Override public void run() {String data='';try { data = 'name='+ URLEncoder.encode(EditTextname.getText().toString(), 'UTF-8')+ '&password='+ URLEncoder.encode(EditTextpassword.getText().toString(), 'UTF-8');} catch (UnsupportedEncodingException e) { e.printStackTrace();}String request = PostUtil.Post('LoginServlet',data);int msg = 0;if(request.equals('成功')){ msg = 1;}hand1.sendEmptyMessage(msg); }}.start(); } final Handler hand1 = new Handler() {@Overridepublic void handleMessage(Message msg) { if(msg.what == 1) {Toast.makeText(getApplicationContext(),'登錄成功',Toast.LENGTH_LONG).show(); } else {Toast.makeText(getApplicationContext(),'登錄失敗',Toast.LENGTH_LONG).show(); }} };}

在開啟web項目的情況下運行Android項目

Android Studio+Servlet+MySql實現登錄注冊

(二)實現注冊功能

1、在web工程當中創建RegisterServlet

Android Studio+Servlet+MySql實現登錄注冊Android Studio+Servlet+MySql實現登錄注冊Android Studio+Servlet+MySql實現登錄注冊Android Studio+Servlet+MySql實現登錄注冊

package servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import dao.UserDao;import entity.User;public class RegisterServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {System.out.println('-----------------');response.setCharacterEncoding('UTF-8');String name = request.getParameter('name');String username = request.getParameter('username');String password = request.getParameter('password');String phone = request.getParameter('phone');int age = Integer.parseInt(request.getParameter('age'));User user = new User();user.setName(name);user.setUsername(username);user.setPassword(password);user.setAge(age);user.setPhone(phone);String msg = '';UserDao userDao = null;User uu = null;userDao = new UserDao(); uu = userDao.findUser(user.getName());boolean flag = false;if(uu == null){flag = userDao.register(user); }if(flag){ msg = '成功';}else{msg = '失敗';} if(uu != null) {msg = '已存在'; }PrintWriter out = response.getWriter();out.println(msg);out.flush();out.close();}}

2、在Android當中的RegisterActivity訪問Servlet

Android Studio+Servlet+MySql實現登錄注冊

package com.example.application01;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.widget.EditText;import android.widget.Toast;import com.example.application01.dao.UserDao;import com.example.application01.entity.User;import com.example.application01.utils.PostUtil;import java.io.UnsupportedEncodingException;import java.net.URLEncoder;public class RegisterActivity extends AppCompatActivity { EditText name = null; EditText username = null; EditText password = null; EditText phone = null; EditText age = null; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_register); name = findViewById(R.id.name); username = findViewById(R.id.username); password = findViewById(R.id.password); phone = findViewById(R.id.phone); age = findViewById(R.id.age); } public void register(View view){String cname = name.getText().toString();String cusername = username.getText().toString();String cpassword = password.getText().toString();System.out.println(phone.getText().toString());String cphone = phone.getText().toString();int cgae = Integer.parseInt(age.getText().toString());if(cname.length() < 2 || cusername.length() < 2 || cpassword.length() < 2 ){ Toast.makeText(getApplicationContext(),'輸入信息不符合要求請重新輸入',Toast.LENGTH_LONG).show(); return;}User user = new User();user.setName(cname);user.setUsername(cusername);user.setPassword(cpassword);user.setAge(cgae);user.setPhone(cphone);new Thread(){ @Override public void run() {String data='';try { data = '&name='+ URLEncoder.encode(user.getName(), 'UTF-8')+ '&username='+ URLEncoder.encode(user.getUsername(), 'UTF-8')+ '&password='+ URLEncoder.encode(user.getPassword(), 'UTF-8')+ '&age='+ URLEncoder.encode(user.getAge()+'', 'UTF-8')+ '&phone='+ URLEncoder.encode(user.getPhone(), 'UTF-8');} catch (UnsupportedEncodingException e) { e.printStackTrace();}String request = PostUtil.Post('RegisterServlet',data);int msg = 0;if(request.equals('成功')){ msg = 2;}//已存在if(request.equals('已存在')){ msg = 1;}hand.sendEmptyMessage(msg); }}.start(); } final Handler hand = new Handler() {@Overridepublic void handleMessage(Message msg) { if(msg.what == 0) {Toast.makeText(getApplicationContext(),'注冊失敗',Toast.LENGTH_LONG).show(); } if(msg.what == 1) {Toast.makeText(getApplicationContext(),'該賬號已經存在,請換一個賬號',Toast.LENGTH_LONG).show(); } if(msg.what == 2) {//startActivity(new Intent(getApplication(),MainActivity.class));Intent intent = new Intent();//將想要傳遞的數據用putExtra封裝在intent中intent.putExtra('a','???);setResult(RESULT_CANCELED,intent);finish(); }} };}

Android Studio+Servlet+MySql實現登錄注冊

到此這篇關于Android Studio+Servlet+MySql實現登錄注冊 的文章就介紹到這了,更多相關Android Studio 登錄注冊 內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
主站蜘蛛池模板: 企业VI设计_LOGO设计公司_品牌商标设计_【北京美研】 | 山东氧化铁红,山东铁红-淄博科瑞化工有限公司 | 气动|电动调节阀|球阀|蝶阀-自力式调节阀-上海渠工阀门管道工程有限公司 | 温湿度记录纸_圆盘_横河记录纸|霍尼韦尔记录仪-广州汤米斯机电设备有限公司 | 洁净实验室工程-成都手术室净化-无尘车间装修-四川华锐净化公司-洁净室专业厂家 | 首页-恒温恒湿试验箱_恒温恒湿箱_高低温试验箱_高低温交变湿热试验箱_苏州正合 | 广东风淋室_广东风淋室厂家_广东风淋室价格_广州开源_传递窗_FFU-广州开源净化科技有限公司 | 消泡剂-水处理消泡剂-涂料消泡剂-切削液消泡剂价格-东莞德丰消泡剂厂家 | 喷漆房_废气处理设备-湖北天地鑫环保设备有限公司 | GAST/BRIWATEC/CINCINNATI/KARL-KLEIN/ZIEHL-ABEGG风机|亚喜科技 | 江苏齐宝进出口贸易有限公司| 九州网址_专注于提供网址大全分享推广中文网站导航服务 | 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 | 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | 维泰克Veertek-锂电池微短路检测_锂电池腐蚀检测_锂电池漏液检测 | 铸钢件厂家-铸钢齿轮-减速机厂家-淄博凯振机械有限公司 | 亚洲工业智能制造领域专业门户网站 - 亚洲自动化与机器人网 | 丝印油墨_水性油墨_环保油墨油漆厂家_37国际化工 | 超声波清洗机_超声波清洗机设备_超声波清洗机厂家_鼎泰恒胜 | 压缩空气冷冻式干燥机_吸附式干燥机_吸干机_沪盛冷干机 | 一点车讯-汽车网站,每天一点最新车讯! | 电梯装饰-北京万达中意电梯装饰有限公司 | 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | 成都LED显示屏丨室内户外全彩led屏厂家方案报价_四川诺显科技 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 撕碎机_轮胎破碎机_粉碎机_回收生产线厂家_东莞华达机械有限公司 | PAS糖原染色-CBA流式多因子-明胶酶谱MMP-上海研谨生物科技有限公司 | 工装定制/做厂家/公司_工装订做/制价格/费用-北京圣达信工装 | 温州富欧金属封头-不锈钢封头厂家 | 英超直播_英超免费在线高清直播_英超视频在线观看无插件-24直播网 | 上海logo设计| 实验室pH计|电导率仪|溶解氧测定仪|离子浓度计|多参数水质分析仪|pH电极-上海般特仪器有限公司 | DNA亲子鉴定_DNA基因检测中心官方预约平台-严选好基因网 | 电缆接头-防爆电缆接头-格兰头-金属电缆接头-防爆填料函 | 影合社-影视人的内容合作平台 | 硅PU球场、篮球场地面施工「水性、环保、弹性」硅PU材料生产厂家-广东中星体育公司 | 管家婆-管家婆软件-管家婆辉煌-管家婆进销存-管家婆工贸ERP | 北京模型公司-军事模型-工业模型制作-北京百艺模型沙盘公司 | 钢格板_钢格栅_格栅板_钢格栅板 - 安平县鑫拓钢格栅板厂家 | 市政路灯_厂家-淄博信达电力科技有限公司 |