一、GET请求(2步)

1.修改实现客户端与服务器通信的LoginToSever.java文件

注释"public String doPost(String name,String psd)  "方法(POST请求方法实体),实现一个"public String doGet(String name,String psd)"(GET方法实体)。

...........

/*doGet方法

* 作用:实现客户端向服务器发送GET请求*/

public String doGet(String name,String psd)

{

HttpClient httpClient = new DefaultHttpClient();                       //客户端实例

String urlStr=url+"?username="+name+"&psd="+psd;            //给UIL装载请求数据

HttpGet getRequest=new HttpGet(urlStr);                                 //实例化HttpGet,代表Get请求

try {

HttpResponse response = httpClient.execute(getRequest);//发送Get请求,并获取响应

if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK)

{

HttpEntity entity=response.getEntity();                             //获取响应信息实体

InputStream is= entity.getContent();                            //h.执行HttpEntity的getContent方法,获取对应的输入流

BufferedReader br = new BufferedReader(new InputStreamReader(is));

//i.读取输入流中的内容,并以字符串的形式返回

String readLine = null;

while((readLine = br.readLine()) != null )

{

result=result+readLine;

}

is.close();

}

else

{

result="error";

}

}

catch (IOException e)

{

System.out.println(e.getMessage());

}

return result;

}

.......................

2.LoginActivity.java:客户端界面UI,在子线程中调用LoginToServer的doGet方法

创建一个子线程

new Thread(new Runnable(){

public void run() {

LoginToServer login = new LoginToServer();

String result=login.doGet(userName.getText().toString(), password.getText().toString());

//     String result=login.doPost(userName.getText().toString(), password.getText().toString());

System.out.println(result); //调试:打印服务器返回的结果,测试是否通信成功

Message msg=new Message();

msg.obj=result; //将响应信息保存到obj中

myHandler.sendMessage(msg);

}

}).start();

3.客户端与服务器通信测试

(1)启动Tomcat,打开MyEclipse中的Servlet应用;

(2)在Eclipse中启动客户端app,输入请求数据,测试客户端与服务器是否能通信;

另外,如果客户端与服务器通信成功,Tomcat窗口也会显示客户端传送过来的数据。

二、MySQL数据库使用

1.安装MySQL数据库

MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

2.创建服务器MySQL数据库

(1)CMD命令行启动:jiangdongguo>mysql -uroot -p

(2)创建服务器数据库

◆库名ServerDatabase:

mysql> create database ServerDatabase;

mysql> use ServerDatabase;

◆表名users:

mysql> drop table if exists users;

mysql> create table users(

-> user_id int primary key auto_increment,

-> user_name varchar(20) not null default ‘‘,

-> user_psd varchar(20) not null default 0 )charset utf8;

◆向users表中插入数据

mysql> insert into users(user_name,user_psd) values (‘jiang‘,‘111‘);

mysql> insert into users(user_name,user_psd) values (‘dong‘,‘222‘);

mysql> insert into users(user_name,user_psd) values (‘guo‘,‘333‘);

3.关联MySQL数据库到Java Web应用(Servlet项目)

(1)添加数据库jar包到Servlet项目

添加数据库相应的jar包,即连接数据库的驱动(mysql-connecttor-java-3.1.11-bin.java)到Java

Web应用(Servlet项目)下放在WebRoot\WEB-INF\lib文件夹下;

(2)添加一个数据库工具类DBUtil.java到Servlet项目中

◆加载驱动:Class.forName(“com.mysql.jdbc.Driver”);//加载驱动

◆获取数据库连接

String url = “jdbc:mysql://localhost:3306/数据库名";

conn = DriverManager.getConnection(url, “Mysql用户名”,”Mysql密码”);

◆捕获异常处理;

◆添加解析SQL语句,与数据库交互模块 (PrepareStatement、ResultSet)

MyEclipse......src\....\DBUtil.java

package com.jiangdongguo.login;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import com.mysql.jdbc.PreparedStatement;

import com.mysql.jdbc.ResultSet;

/*访问数据库工具类:获取数据库链接*/

public class DBUtil {

private String dbName = "ServerDatabase";   //数据库名

private String url="jdbc:mysql://localhost:3306/"+dbName;//url

private String user="root";                 //MySQL数据库账户名

private String psd="111111";                //账户密码

private PreparedStatement ps;   //jdbc编程

private ResultSet result;

//获取数据库链接的方法getConn()

private Connection conn;

public Connection getConn()

{

try {

Class.forName("com.mysql.jdbc.Driver");         //加载数据库驱动

conn=DriverManager.getConnection(url,user,psd); //获取数据库链接,传入参数:数据库名称、账户名、密码

} catch (Exception e) {

e.printStackTrace();

}

return conn;

}

//查询数据库业务逻辑

public boolean checkUser(String sql,String[] args)

{

boolean flag=false;

conn=getConn();     //获得数据库链接

try {

ps=(PreparedStatement) conn.prepareStatement(sql);

if(args!=null)  //对sql语句每个占位符赋值

{

for(int i=0;i

ps.setString(i+1, args[i]);

result=(ResultSet) ps.executeQuery();

if(result.next())

{

flag=true;

}

}

} catch (SQLException e) {

e.printStackTrace();

}

return flag;

}

}

(3)编写相应的增删查改的SQL语句,执行操作获取结果;

MyEclipse......src\....\LoginServlet.java

package com.jiangdongguo.login;

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;

public class LoginServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html");           //设置返回类型为网页形式

PrintWriter out = response.getWriter();         //输出

String name = request.getParameter("username"); //获取请求传入的参数-用户名信息

String psd = request.getParameter("psd");       //              -密码

System.out.println("username="+name+"psd="+psd);

//使用MySql数据库

DBUtil dbUtil = new DBUtil();

boolean result=dbUtil.checkUser("select * from users where user_name=? and user_psd=?", new String[]{name,psd});

out.print(result);

//      if("j".equals(name)&&"1".equals(psd))   //与服务器数据做对比,并返回响应信息

//      {

//          out.print(true);

//      }

//      else

//      {

//          out.print(false);

//      }

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doGet(request, response);

}

}

4.测试

(1)使用Tomcat测试Java web应用

在浏览器输入"http://localhost:8080/login/LoginServlet?username=jiang&psd=111",web网页打印"true/false"信息,也可以查看Tomcat窗口,显示"username=jiang,psd=111",则说明Java

Web连接MySql数据库成功。

(2)客户端测试Java web应用

客户端传输数据分别为"username=jiang psd=111"、"username=dong psd=222"、"username=guo psd=333",若返回true则表示客户端访问服务器的MySql数据库成功,Tomcat窗口也会接收到客户端传输到服务器的数据。

原文:http://blog.csdn.net/u012637501/article/details/45149425

http 访问mysql数据库_04.Http协议之GET请求与访问MySQL数据库相关推荐

  1. mysql+跨服务器+写入_MySQL中使用FREDATED引擎实现跨数据库服务器、跨实例访问

    跨数据库服务器,跨实例访问是比较常见的一种访问方式,在Oracle中可以通过DB LINK的方式来实现.对于MySQL而言,有一个FEDERATED存储引擎与之相对应.同样也是通过创建一个链接方式的形 ...

  2. mysql用大白话解释_大白话 golang 教程-22-关系型数据库访问

    go 原生提供了对数据库的支持,就是 database/sql 包,对关系型的数据库进行了通用的抽象,轻量.面向行的接口,所以使用这个包还需要下载对相应的数据库驱动,比如 mysql 的驱动包 git ...

  3. mysql config type_请检查DNT.config中的DbType节点数据库类型是否正确例如:SqlServer的访问MYSQL...

    请检查DNT.config中的DbType节点数据库类型是否正确,例如:SqlServer的,访问,MYSQL 说明:执行当前的Web请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以 ...

  4. 安卓访问mysql的源码_【原创源码】安卓数据库简单操作demo

    [Java] 纯文本查看 复制代码public Long updateSql(String text) { ContentValues contentValues = new ContentValue ...

  5. mysql windows 管道连接,科技常识:Windows Server 2016 MySQL数据库安装配置详细安装教程...

    今天小编跟大家讲解下有关Windows Server 2016 MySQL数据库安装配置详细安装教程 ,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关Windows Server 2016 ...

  6. MySQL数据库使用(二):配置、连接远端数据库

    Python3.7 pycharm MySQL 8.0.13 阿里云服务器 windows server 2016 Navicat 一.远程数据库的配置 1.在云服务器系统上配置MySQL数据库 安装 ...

  7. mac下php mysql数据库文件怎么打开_Mac环境下php操作mysql数据库的方法分享

    今天在mac上搭建好了php的环境,我们就把php操作mysql数据库的方法分享给大家,有需要的小伙伴参考下. Mac本地环境搭建 在Mac系统,我们可以使用MAMP Pro 软件来搭建本地服务器.安 ...

  8. mysql 数据库链路_MySQL数据库使用(二):配置、连接远端数据库

    Python3.7 pycharm MySQL 8.0.13 阿里云服务器 windows server 2016 Navicat 一.远程数据库的配置 1.在云服务器系统上配置MySQL数据库 安装 ...

  9. mysql认证包_mysql协议分析2---认证包

    主人看到navicat和mysql在那嘻嘻哈哈,眉来眼去的,好不快乐,忽然也想自己写个程序,直接去访问Mysql,虽然现在已经有很多现成的中间件可以直接拿来用了,程序只要负责写sql语句就行了,但是主 ...

最新文章

  1. macOS上实现Qt应用程序做文件关联打开
  2. 转:Python Shell 清屏方法
  3. Nacos处理服务变更通知
  4. 孙叫兽进阶之路之如何进行情绪管理
  5. 未来计算机论文1500,致未来的自己作文1500字
  6. java中gradlew 命令_gradle命令学习
  7. AI安全隐患凸显,行业安全生态迫在眉睫
  8. 静态RAM六个MOS管组成1位结构图
  9. 图解前端之正则表达式
  10. 概率论————思维导图(上岸必备)(随机事件与概率)
  11. js--京东快递单号查询案例
  12. 图像滤镜艺术---乐高像素拼图特效滤镜的代码实现
  13. 产品线 产品宽度 产品的深度 产品的相关度(理解工厂模式)
  14. 卸载wps后office图标无法显示(亲测有效)
  15. ja_charity模板研究_contin_1
  16. 【YOLOv4原文+翻译】YOLOv4:Optimal Speed and Accuracy of Object Detection
  17. 金钱找零问题,招行笔试题
  18. vue之原生上传图片并压缩图片大小(1)
  19. C++基础——向上取整/向下取整
  20. 使用python爬虫抓站的一些技巧总结:进阶篇 (转)

热门文章

  1. python 保留顺序去重_Python数据分析入门教程(二):数据预处理
  2. 初中计算机网络的教案20分钟,初中网络安全教育教案
  3. vs安装 c语言编译环境,Visual Studio Code安装与C/C++开发调试环境搭建
  4. div中的p标签于img设置同一水平_HTML网页制作常用标签及说明——前端开发入门...
  5. 5数之和python_Python基本语法5:数字和列表,基础,五
  6. java中字符 的含义 有什么作用_Java中字符串常见题之String相关讲解
  7. 解决maven项目jdbc报错:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
  8. 程序—java年月日转换
  9. Lua虚拟机中的数据结构与栈
  10. 安卓系统为何这么容易被黑客入侵