天天看點

Android伺服器端開發

Android伺服器端開發

  1. html/css:制作靜态頁面
  2. servlet:動态頁面

    看界面與伺服器之間有沒有資料的互動

Web開發裡面的模式

C/S:客服端/伺服器端

優點:安全性高,用戶端是可以分擔伺服器端的一些功能子產品

缺點:必須安裝客服端,開發成本大,維護比較困難,不能無縫更新

B/S:浏覽器/伺服器端

優點:隻要開發伺服器端就可以了,可以實作無縫更新

缺點:安全性低,所有的功能都是由伺服器端去完成的(高強度的負載);

O2O 線上和線下(去除了中介)

P2P (點到點)

網際網路:虛拟的網絡環境,将世界上所有的能上網的東西放在一個網絡環境中,互相發送郵件,資源的共享。

網際網路:一種網絡協定 www.baidu.com World Wide Web

應用層:http https

傳輸層:TCP/IP

J2SE(核心基礎JAVA) J2EE(企業級開發)

CGI:公共網關接口 CGI每次都會啟動一個程序來處理用戶端發來的請求,效率比較低。CGI遵循HTTP協定,多語言開發:C,JAVA

Servlet:API在J2EE。由SUN公司營運管理 Servlet每次都會啟動一個輕量級的線程來處理用戶端發來的請求,效率比較高

簡單概念:Servlet就是運作在伺服器端的JAVA代碼。有自己的一套API

專業概念:Servlet他是一個元件(用很少的代碼去完成一個功能子產品)(server applet)

伺服器:就是一台主機,安裝一些軟體

Tomcat:伺服器端的容器

  • bin:可執行的檔案
  • webapps:所有部署到伺服器上的代碼全都在這個檔案夾裡面

三種方式寫伺服器端檔案。

1.實作Servlet接口,從寫裡面的回調方法

2.外部想要通路Servlet,Servlet就必須注冊并且向外界提供通路路徑(Tomcat7.0之前的必須在WebContent目錄下web.xml檔案中配置,之後的可以直接利用注解@WebServlet("/hello"))

  1. 實作implements Servlet這個接口。必須重寫裡面的方法
    // 收到請求的時候回調
     @Override
     public void service(ServletRequest arg0, ServletResponse response)
         throws ServletException, IOException {
     // TODO Auto-generated method stub
     // Servlet線程不安全,如果你要讓N個線程同時去操控一個共有的屬性
     // SerVlet裡面就不去寫成員變量,都攜程局部變量(每個線程有自己的變量名)
     // int i
     // i++;
     // 設定編碼
     response.setCharacterEncoding("GBK");
     PrintWriter writer = arg1.getWriter();
     writer.write("這是我的第一個Serlvet");
     writer.flush();
     writer.close();
     System.out.println("service")
     }                
  2. 在JAVAResource下面建立一個類繼承extends GenericServlet在重寫Service方法
// TODO Auto-generated method stub
    response.setContentType("text/xml");
    response.setCharacterEncoding("GBk");
    PrintWriter writer = arg1.getWriter();
    writer.write("<student><name>張三</name></student>");
    writer.flush();
    writer.close();           
  1. 第三種是官方建議的直接建立Servlet類似于直接建立一個Activity一樣。它是繼承于HttpServlet,我們隻需在doGet或是doPost()方法中有一個調用對方就可以了。
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     // TODO Auto-generated method stub
     response.setCharacterEncoding("GBK");
     response.setContentType("text/html");
     PrintWriter writer = response.getWriter();
     writer.write("<html><img src='aa.png'></html>");
     writer.flush();
     writer.close();
      }                
    這三種方式最基層就是實作Servlet接口,其次是繼承GenericService。最後才是HttpServlet

文/清楓_小天(簡書作者)

原文連結:http://www.jianshu.com/p/67ef863dc2af

著作權歸作者所有,轉載請聯系作者獲得授權,并标注“簡書作者”。

繼續閱讀