2013年9月12日 星期四

Eclipse /Tomcat7.0 / MySQL 環境建置

Eclipse /Tomcat7.0 / MySQL 環境建置 及 範例


Servlet 是指用java編寫在伺服器中的程序, 而Tomcat則是servlet的容器, 它包含web伺服器的部分特有功能, 也提供編譯器將java編譯成對應的servlet, 因此我們要執行servlet時, 需要透過Tomcat的介面操作, 但是這僅限於操作到servlet, 如果servlet要利用資料庫的資料, 就需要有針對不同資料庫溝通介面, 這樣的介面稱之為資料庫的驅動程式, Java所使用的驅動程式稱為JDBC, 而MySQL的JDBC又稱為MySQL-connector.
因此我們很明確的瞭解, 如果想在IDE上做Tomcat + MySQL的應用, 除了IDE和Java的配置外, 我們至少還需要安裝Tomcat, MySQL以及MySQL-connector, 以下我們就開始環境的建置:

* 下載 : 此處假設已安裝JDK 以及 EclipseEE
0. 安裝 JDK1.6
0. 下載 EclipseEE
1. 下載TomCat
        a. 下載地址 : http://tomcat.apache.org/download-70.cgi
        b. 註記 : 須注意與JDK的相容性 可參考 : http://tomcat.apache.org/whichversion.html
2. 下載MySQL
        a. 下載地址 : http://www.mysql.com/downloads/mysql/
        b. 註記 : 下載MSI Installer即可 若為32bit 就下載mysql-5.5.23-win32.msi
3. 下載MySQL-connector
        a. 下载地址:http://dev.mysql.com/downloads/connector/j/5.0.html
 
* 安裝
1. 安装Tomcat
        a. 執行安裝檔 使用預設值即可
        *b. 安裝 eclipse 外掛 (方便 start / stop tomcat)
                    b-1 下載 tomcat plugin
                        b-1-1 http://www.eclipsetotale.com/tomcatPlugin.html
                        b-2-2 注意官網說明 plugin 支援的 tomcat version

            b-2 解壓縮, 將com.sysdeo.eclipse.tomcat_3.3放到Eclipse/plugins(dropins)文件夹下(Eclipse版本不同 位置不同), 以Eclipse3.7為例, 及放置於dropins下
           
             b-3 若沒有三隻小貓的圖案, 將 Window > Customize Perspective > Command Groups Availability > tomcat 打勾
           
             b-4 windows > preferences > Tomcat,  選擇Tomcat version 及指定Tomcat home至安裝目錄
            b-5 windows > preferences > Tomcat > Advance 指定Tomcat home至安裝目錄
            b-6 windows > preferences > Tomcat > JVM Setting 設定Jre       
 
2. 安裝MySQL
        a. 執行安裝檔
        b. 參考圖文並茂教學 : http://wenku.baidu.com/view/49b110c7bb4cf7ec4afed083.html
 
3. 安裝MySQL-connector
        a. 解壓縮
        b. 複製 mysql-connector-java- _version / mysql-connector-java- _version -bin.jar
        c. 貼於 Apache Software Foundation / tomcat _version / lib文件夹下 以筆者為例
     範例:
** MySQL
1.    開啟MySQL command line
2. 列出所有database :
mysql> show databases;
3. 選擇使用其中一個database :
mysql> use _DatabaseName; (ex. mysql> use test )
4. 創建一個Table :
mysql> CREATE TABLE `servlet` (`id` int(11) NOT NULL auto_increment,`name` archar(256) default NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;
5. 插入data table :
mysql> insert into `servlet`(`id`,`name`) values (1,’sandeep’),(2,’amit’),(3,’anusmita’),(4,’vineet’);
 
** Create New Web project
1. 重點 : 建立新的 Server + 增加 Server
 
** Servlet
1. 建立專案 : File > New > Project > web > servelet
       
2. Java Package : com.example.servlets
  Class name : HelloServlet
3. sample code :
package com.example.servlets;
import java.io.*;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * Servlet implementation class HelloServlet
 */
@WebServlet(“/HelloServlet")
publicclass HelloServlet extends HttpServlet {
    privatestaticfinallongserialVersionUID = 1L;
      
    /**
     * @see HttpServlet#HttpServlet()
     */
    public HelloServlet() {
        super();
        // TODO Auto-generated constructor stub
    }
    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
   protectedvoid doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            String username=“root";
            String pwd=“Supermfb0402″;
            Connection con = null
            Statement stmt = null;
            ResultSet rs = null;
            response.setContentType(null);
            PrintWriter out = response.getWriter();
            try {
                    Class.forName(“com.mysql.jdbc.Driver");
   con= DriverManager.getConnection(“jdbc:mysql://localhost/test",username,pwd);
                    stmt = con.createStatement();
                    rs = stmt.executeQuery(“SELECT * FROM servlet");
                    while(rs.next()){
                            out.print(rs.getObject(1).toString());
                            out.print(“\t\t\t");
                            out.print(rs.getObject(2).toString());
                            out.print(“<br>");
                    }
                rs.close();
                con.close();
            } catch(Exception e) {out.print(e);}
            out.close();
    }
    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protectedvoid doPost(HttpServletRequest request, HttpServletResponse         response) throws ServletException, IOException {
            // TODO Auto-generated method stub
    }
}
 
5. Save file
6. Run as -> Run on Server
 
 

沒有留言:

張貼留言