樓主這幾天在研究微信開發,首先要找一個雲平台,恰好上次在博客園見到了一個講在京東雲擎上部署自己網站的文章。作者沒有詳細寫。本文教大家如何在京東雲擎上部署自己的應用,並且演示了簡單的網站登錄操作。京東雲擎目前是免費的哦。可以支持Java、php、Node.js、python、Ruby這五種語言哦!
轉載請附明地址http://www.cnblogs.com/zrtqsk/p/3769972.html,謝謝。
京東雲擎網址:http://jae.jd.com/
另外,大家可以參考這些教程:
http://amaoy.com/archives/1085
http://appengine.jd.com/help/create_app.html
好了,廢話不多說,我們開始吧!
一、新建工程
首先,京東雲擎上注冊后,點擊“新建應用”,可以看到如下所示的頁面:
輸入名稱一般與二級域名相同,當然了,不一樣也沒問題。點擊創建,網頁下方命令行顯示創建過程,創建完成后,顯示如圖:
這里創建的是一個非常簡單的例子應用。這個例子應用的訪問網址是:http://jcloudTest.jd-app.com
Git地址,表示這個應用本身存放在京東的Git遠程倉庫。我們通過修改里面的代碼來部署我們自己的應用。Git地址是:https://code.jd.com/qian9255/jae_jcloudtest.git
Git用戶名和密碼就是你京東的用戶名和密碼。這個用戶名指的是頁面右上角這個。之所以指出來,是因為在Git提交的時候,樓主也弄錯過用戶名和密碼是什么。
不知道Git如何使用的,可以參考樓主的上一篇文章傻瓜看完都可以簡單使用Git。
點擊這個,我們可以進入自己的Git遠程倉庫,可以看到如下的內容:
(不要怪樓主貼圖太多哦,當初我自己摸索的時候也希望教程里寫的越詳細越好。。。)
如上圖,這里是我們的工程主目錄,這是一個Maven工程。可能很多人沒有用過Maven,用過的可以跳過這一段。。。
Maven是什么?Maven是基於項目對象模型(POM),可以通過一小段描述信息來管理項目的構建,報告和文檔的軟件項目管理工具。(百度百科。。。)說白了就是項目管理工具。用來管理你的整個項目,可以方便的將項目打包成Jar、War,甚至發布整個項目。
Maven推薦一種統一的格式來管理整個項目。我們知道一般一個項目有些地方放資源文件,有些地方放源代碼,有些地方放測試代碼,有些地方放網頁代碼。用一個pom.xml配置整個工程。Maven的約定如下:
源代碼: /src/main/java
網頁代碼: /src/main/webapp
資源文件: /src/main/resource
測試代碼: /src/test
編譯后的二進制文件: /target/classes
可分發的最終文件(.jar,.war,.ear): /target
pom.xml: /pom.xml
沒用過maven可能會奇怪,工程的依賴Jar包放在哪里呢?哈哈,這就是maven的奇妙之處,依賴Jar包都在Pom.xml中配置,完全不用你手動導入Jar包。
就是說,將工程的代碼按照上面的約定上傳到Git遠程倉庫,你的工程就可以在京東雲擎上運行啦。
下面跟隨樓主來構建一個最簡單的登錄頁面。如果不是Java語言的可以跳過第二部分,直接看第三部分。
二、登錄頁面的實現(Java)
1、首先使用Git將遠程代碼拷貝到本機。
樓主使用的是Git的圖形客戶端TortoiseGit。在工作空間文件夾(任意文件夾都可以)右鍵,Git Clone...
然后在京東雲擎應用列表中你的應用的Git地址“點擊復制”,將復制地址粘貼在URL選項上,如下:
然后,點擊Ok,輸入用戶名和密碼,復制完成后,點擊close,工作空間文件目錄就出現了jae_jcloudtest工程了。打開工程,可見如圖:
此時,工程還未進行任何操作。
2、登錄頁面:
為節約時間,直接修改index.html。到jae_jcloudtest\src\main\webapp下找到index.html,改成下面:
<head>
<style>
body{
margin: 0px;
}
</style>
</head>
<body>
<form action="login" method="post">
<table>
<tr>
<td>Username</td>
<td><input name="username"/></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password"/></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="Login"/></td>
</tr>
</table>
</form>
</body>
</html>
若此時將代碼上傳,部署后訪問,可見一個簡單的登錄頁面。
3、編寫servlet
為了節約時間,不對工程本身的結構作調整,到jae_jcloudtest\src\main\java\com\jd\samples文件夾下,寫一個servlet,為LoginServlet,如下:
package com.jd.samples; public class LoginServlet extends HttpServlet{ private static final long serialVersionUID = 1L; @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=UTF-8"); String username = req.getParameter("username"); String password = req.getParameter("password"); PrintWriter out = resp.getWriter(); if(username==null || password == null) { out.print("用戶名或密碼錯誤啦,請返回重新輸入!"); } else if(username.equals("cat")&&password.equals("123")) { out.print(username+"你好,登錄成功!"); } } }
非常簡單的響應處理!
4、修改web.xml
到jae_jcloudtest\src\main\webapp\WEB-INF目錄下,找到web.xml,修改如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>Hello Java</display-name> <servlet> <servlet-name>login</servlet-name> <servlet-class>com.jd.samples.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>login</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> </web-app>
僅僅增加了一個servelt。
大功告成!
三、部署到服務器(京東雲擎)
1、上傳
按照maven的約定修改了工程之后,就可以將其上傳到Git遠程倉庫了。
若用IDE開發的,建議將工程主目錄下.settings、target、.classpath、.project等文件刪除再上傳。
選擇工程文件夾,右鍵Git Commit -> "Master"...
出現下面的界面:
最上面的Message是提交時的備注,是一定要填的,樓主一般習慣填當前日期和主要操作
在中間選項里,選擇“All”,然后點擊OK,這時跳到這樣的頁面:
這時,點擊Push...,在隨后頁面點擊OK,輸入用戶名和密碼,即將改動保存到Git遠程倉庫。成功后點擊close.
此時打開Git遠程倉庫,可看到對應改動。
2、部署
點擊應用列表中對應應用的“部署管理”選項,這里可以選擇“快速部署”和“上傳包部署”,這里我們選擇快速部署。
(如果使用maven打包,可以將打包的war文件上傳部署)
等待控制台編譯,最后出現如圖:
這時候就可以直接訪問了。
(注意!有時候控制台會出現重啟錯誤,這時部署失敗了,需要點擊應用列表中對應應用右邊的“快速重啟”選項,重啟成功后就部署成功啦!樓主在這個步驟死過好多次。。。)
3、訪問
點擊http://jcloudTest.jd-app.com后,出現如下頁面:
輸入cat/123后,成功跳轉至如下頁面:
至此,大功告成!
如果覺得本文還不錯的話,麻煩點擊推薦哦!謝謝啦!