百度雲BAE上Java ssh項目的部署教程

首先一定要詳細看百度開發者的java開發文檔

開發者文檔:http://developer.baidu.com/wiki/index.php?title=docs/cplat/rt/java&oldid=10053

 

.去百度開發者下載一個一鍵安裝的eclipse(推薦)

   地址:http://developer.baidu.com/wiki/index.php?title=docs/cplat/ide/install

   或者自己安裝插件(比較麻煩) 

2.打開之前下載好的eclipse,切換到SVN資源庫,新建資源庫. 

  url填上下面的SVN地址

                                        

 

3.然後右擊-檢出爲 

                                                      

4.項目上右鍵->baidu->Convert to BAE(java) Project方法解決          

                                        

5.等大概幾分鐘讓它把導包加進去..這樣就支持正常項目開發了,接下來就需要配置數據庫連接,ssh框架的支持...

6.連接數據庫

      數據庫連接看這個jsp你就秒懂了,jdbc的幾個參數配對就好了

<%@ page language="java" import="java.util.*,java.net.URL,java.sql.*,com.baidu.bae.api.util.BaeEnv" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Hello World</title>
  </head>
  <body>
    <%
        //(1)指定服務地址,其中dbname需要自己修改
        //String dbUrl = "jdbc:mysql://sqld.duapp.com:4050/dbname";
        //(2)直接從請求header中獲取ip、端口、用戶名和密碼信息
	//String host = request.getHeader("BAE_ENV_ADDR_SQL_IP");
	//String port = request.getHeader("BAE_ENV_ADDR_SQL_PORT");
	//String username = request.getHeader("BAE_ENV_AK");
	//String password = request.getHeader("BAE_ENV_SK");
       //(3)從線程變量BaeEnv接口獲取ip、端口、用戶名和密碼信息
	String host = BaeEnv.getBaeHeader(BaeEnv.BAE_ENV_ADDR_SQL_IP);
	String port = BaeEnv.getBaeHeader(BaeEnv.BAE_ENV_ADDR_SQL_PORT);
	String username = BaeEnv.getBaeHeader(BaeEnv.BAE_ENV_AK);
	String password = BaeEnv.getBaeHeader(BaeEnv.BAE_ENV_SK);
	String driverName = "com.mysql.jdbc.Driver";
	String dbUrl = "jdbc:mysql://";
	String serverName = host + ":" + port + "/";
 
        //從平臺查詢應用要使用的數據庫名
	String databaseName = "DXvrkcWFOUvXbxGzzCMG";
	String connName = dbUrl + serverName + databaseName;
	String sql = "select * from guestbook";
 
	Connection connection = null;
	Statement stmt = null;
	ResultSet rs = null;
	try {
		Class.forName(driverName);
                //具體的數據庫操作邏輯
		connection = DriverManager.getConnection(connName, username,
				password);
		stmt = connection.createStatement();
		rs = stmt.executeQuery(sql);
		String id = "", name = "";
      out.println("id    name<br/>");
		while (rs.next()) {
			id = rs.getString("gstId");
			name = rs.getString("email");
          out.println(id + "     " + name + "<br/>");
		}
	} catch (ClassNotFoundException ex) {
		// 異常處理邏輯
      throw ex;
	} catch (SQLException e) {
		// 異常處理邏輯
 		throw e;
	} finally {
		try {
			if (connection != null) {
				connection.close();
			}
			} catch (SQLException e) {
 				throw e;
		}
	}
 %>
    
    
    haha<%=connName%><br>
    <%=username%><br>
    <%=password%>
  </body>
</html>


7.添加strut2:

  7.1 確保導包都加進去,並且沒有和bae的包有衝突

  7.2 在xml裏面配置strut2(和本機添加strut2一樣)

  7.2 添加ognl(struts2依賴ognl,添加一個listener)

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

import ognl.OgnlRuntime;

public class InitListener implements ServletContextListener,
        HttpSessionListener, HttpSessionAttributeListener {

    public InitListener() {
    }

    public void contextInitialized(ServletContextEvent sce) {
        OgnlRuntime.setSecurityManager(null);
    }

    public void contextDestroyed(ServletContextEvent arg0) {
        // TODO Auto-generated method stub
    }

    public void sessionCreated(HttpSessionEvent arg0) {
        // TODO Auto-generated method stub
    }

    public void sessionDestroyed(HttpSessionEvent arg0) {
        // TODO Auto-generated method stub
    }

    public void attributeAdded(HttpSessionBindingEvent arg0) {
        // TODO Auto-generated method stub
    }

    public void attributeRemoved(HttpSessionBindingEvent arg0) {
        // TODO Auto-generated method stub
    }

    public void attributeReplaced(HttpSessionBindingEvent arg0) {
        // TODO Auto-generated method stub
    }

}

    然後在web.xml裏面加入listener

<listener>
    <listener-class>InitListener</listener-class>
</listener>


  

8.添加hibernate

      jdbc.driverClassName=com.mysql.jdbc.Driver
      jdbc.url=jdbc:mysql://sqld.duapp.com:4050/
dbname
      jdbc.username=
ak
      jdbc.password=sk
 

  dbname是在應用管理的“雲環境管理 > 服務管理 -> MySQL(數據庫)”中創建的數據庫名稱,

  ak用戶名爲應用的API Key,

  sk密碼爲Secret Key。

 

9.添加spring


http://blog.csdn.net/df1012890048/article/details/14424401

 

配置成功。雖然有點慢,但是以後所有ssh2的項目都可以放在BAE上了,好開心~~~

發佈了38 篇原創文章 · 獲贊 7 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章