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
- <span style="font-size:14px;">public class test {
- public static void main(String[] args) {
- System.out.println("Hello java!");
- }
- }</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
- <span style="font-size:14px;"><html>
- <head>
- <title> hello world </title>
- </head>
- <body>
- <%
- out.println("hello world");
- %>
- </body>
- </html></span>
點選hello.jsp
2.連線資料庫mysql測試
不需要重啟服務
將mysql的jdbc驅動程式放到tomcat的lib中:mysql_connect_jdbcdriver.jar
test1.jsp中內容如下:
[html] view plain copy
- <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
- <%@ page import="java.sql.*" %>
- <html>
- <head>
- <title>My JSP starting page</title>
- </head>
- <body>
- <h1>
- <%
- try {
- //載入驅動
- Class.forName("com.mysql.jdbc.Driver");
- //建立連線
- Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb","root","mysql");
- //建立狀態
- Statement state=con.createStatement();
- //插入
- //String sql="insert into student values('Gosling','java'),('002','zxy')";
- //state.executeUpdate(sql);
- //更新
- //String sql1="update student set stuID='001' where stuName='java'";
- // state.executeUpdate(sql1);
- //修改
- //String sql3="update student set stuName='html' where stuID='002'";
- //state.executeUpdate(sql3);
- //查詢
- //String sql2="select stuID,stuName from student where stuID='001'";
- String sql2="select * from student";
- ResultSet rs=state.executeQuery(sql2);
- while(rs.next()){
- String uID=rs.getString("StuID");
- String uName=rs.getString("stuName");
- out.println("stuID:"+uID+" "+"stuName:"+uName+"<br>");
- }
- out.println("Operator success..."+"<br>");
- state.close();
- con.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- %>
- </h1>
- </body>
- </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)