2014年6月14日 星期六

在Linux下使用Tomcat、JSP連Mysql資料庫(配合Netbeans IDE)

在Linux下如果要使用及開發JSP動態網頁的話,通常會選擇使用Tomcat來作為JSP的伺服器,以下介紹如何在Linux的環境下安裝Tomcat

1.到Apache Tomcat的官網上下載Tomcat,下載下來後將個資料夾解壓縮後放到要配置的路徑下,這裡選擇/usr/share/java下,路徑可以自選,為了方便起見,以下用 $CATALINA_HOME  稱呼

補充:有人說還要再進行環境變數等設置,不過我沒有設就直接成功了,需要設的人可以參考這篇文這篇文

2.在命令列指令界面中到$CATALINA_HOME/bin下,打上以下指令開啟動Tomcat,
./startup.sh
及使用以下指令關閉Tomcat
./shutdown.sh
這時可能會發現有錯誤發生,通常為對資料夾權限不夠的關係,這時可參考這篇文的作法,回到$CATALINA_HOME路徑上一層的路徑中,打上以下指令開放權限
 
sudo chmod 755 -R 你的Tomcat資料夾名稱/*

3.啟動Tomcat後,打開瀏覽器在網址列打上 http://localhost:8080  就可連上Tomcat的預設管理頁面

接著要介紹如何簡單地配合Netbeans IDE來建立能連上Mysql資料庫的JSP網頁


1.首先使用Netbeans IDE建立能連上Mysql的測試JSP,範例如下(範例參考自這篇文章):
先行條件:
1.已有建立Mysql資料庫
2.各項配置為
   Host : localhost
   User : userName
   Password :  pass
   Database :  DB_Name
   Table      :   TB_Name
   Table只有一個欄位,名為regId

<%@ page contentType="text/html;charset=utf-8"%>
<%@ page import="java.sql.*"%>
<%
    try {
    //讀取mysqlDriver驅動程式
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        try {
       //連接mysql資料庫

       // 資料庫名稱"zend_test",帳號"root",密碼"123456",
       // 使用Unicode編碼"true",字元集"UTF-8"
            String db_user = "userName";
            String db_pwd = "pass";
            String db_database = "DB_Name";
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/" + db_database + "?user=" + db_user + "&password=" + db_pwd + "&useUnicode=true&characterEncoding=UTF-8");
            try {
        //建立statement
                Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
                try {
        //建立SQL查詢
                    String sql = "select * from TB_Name";
                    ResultSet rs = stmt.executeQuery(sql);

%>

<h2>TB_Name</h2>
<table border=1>
    <tr><th>regId</th>
            <%//顯示資料
                while (rs.next()) {
            %>
    <tr>
        <td><%=rs.getString("regId")%></td>
    </tr>
    <%
        }
    %>
</table>
<%
// 關閉連線
                    rs.close();
                    rs = null;
                    stmt.close();
                    stmt = null;
                    conn.close();

                } catch (Exception ex) {
                    out.println("can't read data");
                    out.println(ex.toString());
                }
            } catch (Exception e) {
                out.println("can't create statement");
                out.println(e.toString());
            }
        } catch (Exception e) {
            out.println("can't content mysql database");
            out.println(e.toString());
        }

    } catch (Exception e) {
        out.println("can't load mysql driver");
        out.println(e.toString());
    }
%>

2.並且要記得把所需要的類別包(例如mysql-connector-java-5.0.8-bin.jar) import進專案來,作法為在專案上按右鍵並選擇 Properties --> Libraries ,按下右邊的 Add JAR/FOLDER 按鍵後選擇要引入的類別包(如果不引入的話,實際放到Tomcat佈署環境下會出現找不到包的錯誤,就算環境變數的Classpath有設包的路徑也是一樣,可能是Web跟純Java環境有所不同吧?)

3.接著在專案上點右鍵點選 build 來建立war檔,其會被放在專案下的dist資料夾下

4.最後把建立出來的war檔直接放到Tomcat的webapps下,在瀏覽器上打上
http://localhost:8080/你的專案名/你的JSP名
就可以連上你的JSP了,這時打開$CATALINA_HOME就可以看到一個以你的專案名為名稱的資料夾,裡面已經幫你把各個檔案都配置好了,包括WEB-INF、lib資料夾及檔案等

沒有留言 :

張貼留言