Eclipse + Tomcat7.0 + Servlet + 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

2. 參考創建一個新的Web項目 : http://www.ibm.com/developerworks/cn/opensource/os-eclipse-tomcat/

 

** 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

發表留言