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, 以下我們就開始環境的建置:
因此我們很明確的瞭解, 如果想在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-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. 執行安裝檔
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