1. 程式人生 > >eclipse如何搭載Tomcat伺服器和mysql資料庫

eclipse如何搭載Tomcat伺服器和mysql資料庫

1.軟體安裝

(1) JAVA環境

JDK:jdk-7u25-windows-i586.exe

      設定環境變數:

     變數名:JAVA_HOME   變數值:D:\software5\JDK7u25  在path中新增:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

     使其生效:(1) 重啟電腦 或者(2) 在dos中執行set PATH=c然後關閉dos,重新開啟dos,輸入echo %PATH%看是否包含JAVA_HOME路徑;輸入java,javac

看是否輸出如下內容:

C:\Documents and Settings\Administrator>java
用法: java [-options] class [args...]
           (執行類)
   或  java [-options] -jar jarfile [args...]
           (執行 jar 檔案)
其中選項包括:
    -d32          使用 32 位資料模型 (如果可用)
    -d64          使用 64 位資料模型 (如果可用)
    -client       選擇 "client" VM
    -server       選擇 "server" VM
    -hotspot      是 "client" VM 的同義詞 [已過時]
                  預設 VM 是 client.


    -cp <目錄和 zip/jar 檔案的類搜尋路徑>
    -classpath <目錄和 zip/jar 檔案的類搜尋路徑>
                  用 ; 分隔的目錄, JAR 檔案
                  和 ZIP 檔案列表, 用於搜尋類檔案。
    -D<name>=<value>

........(省略)

C:\Documents and Settings\Administrator>javac
用法: javac <options> <source files>
其中, 可能的選項包括:
  -g                         生成所有除錯資訊
  -g:none                    不生成任何除錯資訊
  -g:{lines,vars,source}     只生成某些除錯資訊
  -nowarn                    不生成任何警告
  -verbose                   輸出有關編譯器正在執行的操作的訊息
  -deprecation               輸出使用已過時的 API 的源位置
  -classpath <路徑>            指定查詢使用者類檔案和註釋處理程式的位置
  -cp <路徑>                   指定查詢使用者類檔案和註釋處理程式的位置
  -sourcepath <路徑>           指定查詢輸入原始檔的位置
  -bootclasspath <路徑>        覆蓋引導類檔案的位置
  -extdirs <目錄>              覆蓋所安裝擴充套件的位置

  -endorseddirs <目錄>         覆蓋簽名的標準路徑的位置

......(省略)

C:\Documents and Settings\Administrator>java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
Java HotSpot(TM) Client VM (build 23.25-b01, mixed mode, sharing)

檢驗java能否正常執行java程式

dos中輸入edit test.java,在開啟的介面輸入:

[java]  view plain  copy   在CODE上檢視程式碼片 派生到我的程式碼片
  1. <span style="font-size:14px;">public class test {  
  2.    
  3.     public static void main(String[] args) {  
  4.     System.out.println("Hello java!");  
  5.     }  
  6. }</span>  

按ALT+F鍵開啟編輯選單,選擇save,然後再選擇exit退出。

dos下輸入javac test.java ,dir看下是否有test.class生成,輸入java test 輸出如下內容:

C:\DOCUME~1\ADMINI~1>javac test.java
C:\DOCUME~1\ADMINI~1>java test
Hello java!
C:\DOCUME~1\ADMINI~1>

(2)mysql環境

mysql-5.6.17-win32.zip

配置環境變數:

path中新增:G:\mysql-5.6.17-win32\bin;

在dos中執行set PATH=c然後關閉dos,重新開啟dos,輸入mysql應該可以連線資料庫(以匿名方式連線),如果用指定使用者連線則為mysql -u root -P 3306(資料庫埠號(預設),安裝時有提示)

C:\DOCUME~1\ADMINI~1>mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 38
Server version: 5.6.17 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql>

C:\DOCUME~1\ADMINI~1>mysql -u root -p
Enter password: *****
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 39
Server version: 5.6.17 MySQL Community Server (GPL)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

如果剛安裝好mysql,超級使用者root是沒有密碼的,故直接回車即可進入到mysql中了,mysql的提示符是: mysql>


方法1: 用set password命令
  mysql -u root
  mysql> set password for 'root'@'localhost' = password('newpass');

方法2:用mysqladmin
  mysqladmin -u root password "newpass"
  如果root已經設定過密碼,採用如下方法
  mysqladmin -u root password oldpass "newpass"
方法3: 用update直接編輯user表
  mysql -u root
  mysql> use mysql;
  mysql> update user set password = password('newpass') where user = 'root';
  mysql> flush privileges;
在丟失root密碼的時候,可以這樣
  mysqld_safe --skip-grant-tables&
  mysql -u root mysql
  mysql> update user set password=password("new password") where user='root';
  mysql> flush privileges;

(3) tomcat

apache-tomcat-6.0.39.zip

配置環境變數:

變數名:CATALINA_HOME  變數值:D:\software7\tomcat\apache-tomcat-6.0.39

lib中新增: D:\software7\tomcat\apache-tomcat-6.0.39\lib;

path中新增:D:\software7\tomcat\apache-tomcat-6.0.39\bin;

執行set PATH=c使其生效,到D:\software7\tomcat\apache-tomcat-6.0.39\bin下執行:

setclasspath.bat

startup.bat

如果出現:

.....

INFO: Server startup in xxx ms 表示安裝成功

tomcat簡介:

    Tomcat是Apache 軟體基金會的Jakarta(雅加達) 專案中的一個核心專案,由Apache、Sun 和其他一些公司及個人共同開發。由於有了Sun 的參不和支援,

最新的Servlet 和JSP 規範總是能在Tomcat 中得到體現。

    Tomcat 是一個小型的輕量級應用伺服器,在中小型系統和併發訪問使用者丌是很多的場合下被普遍使用,是開發和除錯JSP 程式的首選

    當配置正確時,Apache 為HTML頁面服務,而Tomcat 實際上執行JSP 頁面和Servlet。
    Tomcat和IIS、Apache等Web伺服器一樣,也具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的預設模式。不過,Tomcat處理靜態HTML的能力丌如Apache伺服器。

tomcat目錄結構:

   bin:  所有的可執行檔案

   lib:  jar包存放位置

   conf: 配置檔案,伺服器的修改都要從此資料夾開始

   logs: 日誌檔案,如果伺服器出現錯誤,會自動記錄

   webapps: 所有可執行web專案都會放在此目錄


驗證

     點選startup.bat啟動tomcat服務,瀏覽器輸入http://127.0.0.1:8080 看是否能夠開啟tomcat自帶的網頁


更改伺服器的*.xml檔案需要重新啟動服務,因為需要讀取配置檔案

配置虛擬目錄

Tomcat配置虛擬目錄是必須的,因為所有的開發有可能是在其他目錄中完成的
但是要配置需要的目錄,首先要有嚴格要求,配置的虛擬目錄必須有以下的目錄結構要求。
–WEBROOT 虛擬目錄就是對映到此資料夾中
|-WEB-INF
|-web.xml 配置檔案,有格式要求

如果不知道該檔案的格式,可以直接從TOMCAT中找到此配置要求
到 webapps的WEB-INF目錄下,拷貝出web.xml檔案
然後,編輯該檔案,去掉註釋部分即可。

資料夾建完了,web.xml檔案也建好了,但是伺服器並丌知道存在這樣一個工作目錄。所以,還必須在Server.xml檔案中配置此工作目錄(虛擬目錄)
在server.xml檔案中加入如下配置,一定要在</host>之上迚行配置
<Context path=“/demo” docBase=“D:\Demo”/>

<Context path=“/demo” docBase=“D:\Demo”/>
–其中Context表示上下文,表示配置一個新的上下文
path表示瀏覽器中的輸入路徑:必須有”/”
docBase表示此路徑對應著硬碟上的真實目錄。
以後就可以輸入:http://localhost:8888/demo找到硬碟中D:\Demo資料夾中的內容了。不過,伺服器首先還是要重啟。


執行虛擬目錄,localhost:8888/demo
出了右圖所示的問題。404表示客戶端錯誤,檔案沒找到,路徑出現了錯誤。
這是因為在Tomcat中將目錄的列表功能關閉了。


如果要通過瀏覽器觀察一個目錄中的全部內容,則要修改conf資料夾下的web.xml檔案。將listings中對應的改為true
但是,需要注意的是,專案釋出的時候,儘量關閉該功能,確保安全。

測試虛擬目錄

[html]  view plain  copy   在CODE上檢視程式碼片 派生到我的程式碼片
  1. <span style="font-size:14px;"><html>  
  2.         <head>  
  3.              <title> hello world </title>  
  4.         </head>  
  5.         <body>  
  6.         <%  
  7.             out.println("hello world");  
  8.         %>  
  9.           
  10.         </body>  
  11. </html></span>  


點選hello.jsp



2.連線資料庫mysql測試

不需要重啟服務

將mysql的jdbc驅動程式放到tomcat的lib中:mysql_connect_jdbcdriver.jar

test1.jsp中內容如下:

[html]  view plain  copy   在CODE上檢視程式碼片 派生到我的程式碼片
  1. <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>  
  2. <%@ page import="java.sql.*" %>  
  3. <html>  
  4.   <head>  
  5.     <title>My JSP starting page</title>  
  6.   </head>  
  7.     
  8.   <body>  
  9.     <h1>  
  10.      <%  
  11.        try {  
  12.             //載入驅動  
  13.             Class.forName("com.mysql.jdbc.Driver");  
  14.             //建立連線  
  15.             Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb","root","mysql");  
  16.             //建立狀態  
  17.             Statement state=con.createStatement();  
  18.             //插入  
  19.             //String sql="insert into student values('Gosling','java'),('002','zxy')";  
  20.             //state.executeUpdate(sql);  
  21.             //更新  
  22.             //String sql1="update student set stuID='001' where stuName='java'";  
  23.             // state.executeUpdate(sql1);  
  24.             //修改  
  25.             //String sql3="update student set stuName='html' where stuID='002'";  
  26.             //state.executeUpdate(sql3);  
  27.             //查詢  
  28.             //String sql2="select stuID,stuName from student where stuID='001'";  
  29.               
  30.             String sql2="select * from student";  
  31.             ResultSet rs=state.executeQuery(sql2);  
  32.             while(rs.next()){  
  33.                 String uID=rs.getString("StuID");  
  34.                 String uName=rs.getString("stuName");  
  35.                   
  36.                 out.println("stuID:"+uID+"  "+"stuName:"+uName+"<br>");  
  37.             }  
  38.             out.println("Operator success..."+"<br>");  
  39.             state.close();  
  40.             con.close();  
  41.               
  42.         } catch (Exception e) {   
  43.             e.printStackTrace();  
  44.         }  
  45.      %>  
  46.     </h1>  
  47.   </body>  
  48. </html>  

連線mysql資料庫,做如下操作:

mysql> create database mydb;

Query OK, 1 row affected (0.02 sec)

mysql> use mydb;

Database changed

mysql> create table student(stuID char(20),stuNamechar(20));

Query OK, 0 rows affected (0.08 sec)

mysql>insert into student values('abc','jack');  
Query OK, 1 row affected (0.03 sec)