日常练习-初入客户端与服务端
in Android with 0 comment
Read: 1,655

日常练习-初入客户端与服务端

in Android with 0 comment

作为一个Android控,一直不是很熟悉客户端是个什么东西,总觉得客户端很神秘,很神秘,给我一个接口,我就可以索取到数据,譬如:

但是在毕业的时候我才发现学校开设课程的目的性,我记得大一开过html,jsp,大二开过hibernateservlet,大三开过spring ,以为只是做java web才会用到,学习ssh,不止可以从事JAVA WEB,其实也是可以从服务端的接口开发,以上看法纯属个人的看法...

如果你学习过servlet,那你可能有发现,当我们在页面去请求这个servlet,会进行页面跳转,简单的例子就是登录,我们成功登录就会跳转到一个新的页面,但是在这个servlet处理的时候,我们也可以进行其他的操作,我们知道,在网络中进行数据通信有一种方式是gson,至于为什么json,网上很多说法,最重要的就是轻量,因为它的轻量,所以很多人会去选择它

对于什么是json,网上很多的教程,在这里我们叙述的是如何进行客户端与服务端的交互

客户端通过url去请求服务端提供的url,那么服务端接收到这个url必然会进行数据处理,以servlet为例,其实struct和servlet差不多

比如:我们客户端去请求这样一个URL:http://192.168.0.131:8080/FirstWeb/JokesServlet

那么说服务端接收到这个url会进行如下操作:

public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        IJokesDao jokesDao = new JokesImpl();
        List<Jokes> jokesList =jokesDao.getAllJokes(10, 1);
        
        Gson gson = new Gson();
        String jokesJson = gson.toJson(jokesList);
        try {
            response.setContentType("application/json");  
                response.setCharacterEncoding("UTF-8");  
                response.setHeader("Cache-Control", "no-cache");  
            PrintWriter pw  = response.getWriter();
            pw.write(jokesJson);
            pw.flush();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    
    }

依次是:查询数据->格式化数据-->页面输出数据

其实这是一个最简单的做法,对于action的话其实操作也是差不多的,我们在请求action的时候,去进行处理,然后在返回数据就可以啦

我会在结尾处把demo给展示出来,如果你需要可以下载

由于服务端和分发平台带宽限制,所以demo托管在百度云

下载地址:点我下载
服务端demo:使用servlet + hibernate + Mysql + Gson进行开发 , 开发环境:MyEclipse
客户端demo:使用Okhttp进行网络请求, 开发环境:Android Studio
如果你需要学习ssh,也可查看以前写的简单的demo:MicoWeb

demo是很久前写的,难免会有很多的不足,如果错误,还请指出,O(∩_∩)O

Responses
  1. 厉害了,我的荣

    Reply
    1. Reply
    2. @dannybear

      我的荣妹么

      Reply
    3. Reply