zoukankan      html  css  js  c++  java
  • Android连接服务器流程详解

    有同学在学习Android初级的时候需要连接服务器的数据库,但是可能不知道整个连接的流程,我认为需要掌握以下知识,才能在连接服务器的数据库时游刃有余。

    1.服务器数据库和本地数据库的区别
    2.什么是tomcat,它的作用是什么?
    3.什么是服务?
    4.客户端请求服务器数据库的时候发生了什么?怎么请求到数据的?

    下面简单的说说上面四个问题

    • 1.服务器数据库和本地数据库没有区别,只不过请求的时候需要填入的ip地址不同,本地的ip地址一般使用localhost即可,服务器ip是公网ip。开发时,我们一般先在本地开发,也就是在本地数据库做测试,等开发完成以后,再把本地数据库移动到服务器数据库。访问时只需要把ip地址更换一下就可以了。

    • 2.tomcat的作用就是监听8080端口,你安装在本地上,他就监听你本地电脑的8080端口,我们在浏览器里面输入网址如:www.baidu.com,一般默认访问的是80端口,由于是默认所以可以省略80不写。但是我们访问8080端口时,tomcat就监听到了,它会根据你请求的服务,将你的请求转发给你请求的服务进行处理。 我们需要知道,客户端程序和服务器端程序代码是分开的。服务器端程序负责处理如何根据用户请求的参数,把相应的数据返回给客户端。 所以我们应该写两个项目,一个是客户端,一个是服务器端,其中服务器端是一个Web项目。可以使用myeclipse进行编写。

    • 3.什么是服务? 服务可以理解为我们写的处理某个请求的接口,比如我们现在想要登录,Web端的项目名叫做WebService,在这个项目里面我们写一个Login接口,专门负责处理用户的登录请求。那么客户端端如何访问该请求服务呢?

    • 4.首先,客户端应该知道数据库所在服务器的ip地址,如果是本地就用localhost 知道了ip地址我们只是能够连接到服务器,并不能连接到数据库,当我们Web端项目写好了以后,运行在tomcat这个容器中,上面已经说过,tomcat监听8080端口,所以我们访问服务器时,指定端口号,比如
      localhost:8080,那么他就会访问到tomcat中,仅仅访问到tomcat还不够,更进一步,再指定我们访问的Web端项目的名称(web端项目是运行在tomcat中的),也就localhost:8080/WebService,这样就能访问到服务器端处理数据库的项目,此时我们想要登录,那就更进一步,指定localhost:8080/WebService/Login,这样就能访问到登录接口。我们知道登录的时候需要用户名和密码,用户名和密码又是如何传递到服务器端的呢?

      有两种常用的传递方式 get/post get方式,直接拼接在url里面即可,如下:

    localhost:8080/WebService/Login?UserName="test"&Password="123456" ```
    

    这样就指定了登录名是test和密码123456。

    Login接口收到这个请求以后,首先要把账号和密码取出来,然后用jdbc连接数据库的方法,指定数据库的名称,并指定用户数据所在的表,然后执行select方法,查询有无该用户,如果有就返回一个值,没有返回另外一个值,客户端根据返回的值,来决定登录成功还是失败。

    下面说说服务器客户端都需要用到什么技术。

    • 1.客户端如何发起请求? Android端发起请求,我们直接用第三方库Okhttp,Volley等就可以,如何使用看我其他的博客。
    • 2.客户端发出请求以后,服务器端怎么进行处理? 要想处理客户端发来的请求,我们需要创建一个web项目,建议使用新手建议使用Struts框架或者Servlet,这个也必须要学习,否则我们无法处理客户端发出的请求。只要登录注册成功以后,请求其他数据也是同样的道理,返回一条数据如何做?返回多条数据怎么做,都是要解决的问题。

    现在我们已经知道,客户端向服务器8080端口发出请求,服务器端tomcat捕获到我们的请求,根据我们想要访问的项目名称,把该请求交给该项目处理,进一步检测,该请求想要访问该项目中的哪一个服务,检测到是Login服务,该项目把请求交给Login服务进行处理,拿到账号和密码去数据库中进行查找,所以Login方法里面需要连接数据库,用jdbc连接数据库的步骤,大家应该都知道了。根据查询结果返回相应的值。





    下面附上要用到的软件的来百度云链接

    • myeclipse 开发软件(主要用来开发web项目)
      链接:https://pan.baidu.com/s/1lCx37vI-FE2Y8LzSqr7Z5Q 提取码:ts3b
    • 客户端就是用Android studio没什么可说的。
    • 必会用到数据库连接的jdbc,这里上传mysql的jdbc
      链接:https://pan.baidu.com/s/1CuN2UD0aS6WnGs3xWQMw4A 提取码:h6ft
    • tomcat可以去网上下载就可以。

    如果大家看了博客还不是很理解,可以联系我帮你解决。(100块一次包售后)。





    在这里插入图片描述

  • 相关阅读:
    JS 格林威治时间格式(GMT)格式化
    SQL Server各个版本功能比较
    SQL Server各个版本功能比较
    SQL Server各个版本功能比较
    SQLl中的left join、right join、inner join详解
    SQLl中的left join、right join、inner join详解
    SQLl中的left join、right join、inner join详解
    【必备】jQuery性能优化的38个建议
    Metasploit笔记
    SpringBoot开发二十-Redis入门以及Spring整合Redis
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13309423.html
Copyright © 2011-2022 走看看