數據庫採用MySQL(配置過程如有問題可以重啓tomcat試一下)
一、下載軟件
1.J2SE
http://java.sun.com/j2se/1.4.2/download.html
2.Tomcat服務器
http://tomcat.apache.org/download-41.cgi
3.mysql服務器
http://dev.mysql.com/downloads/mysql/5.0.html
安裝時字符集選latin1(應與數據庫採用字符集相同)
安裝好數據庫後用以下命令看數據庫採用什麼字符集:
help
4.JDBC驅動
http://dev.mysql.com/downloads/connector/j/5.0.html
二、依次安裝以上軟件
假設安裝後的路徑分別如下:
1.J2SE
C:/j2sdk1.4.2
2.Tomcat
C:/Program Files/Apache Software Foundation/Tomcat 4.1
3.mysql
C:/Program Files/MySQL/MySQL Server 5.0
三、配置
1.設置環境變量
在'我的電腦'上點右鍵,屬性->高級->環境變量,添加如下變量:
PATH=%PATH%;C:/j2sdk1.4.2/bin;C:/Program Files/MySQL/MySQL Server 5.0/bin
JAVA_HOME=C:/j2sdk1.4.2
CLASSPATH=C:/j2sdk1.4.2/lib/tools.jar;mysql-connector-java-5.0.5-bin.jar;mysql-connector-java-5.0.5-bin-g.jar
TOMCAT_HOME=C:/Program Files/Apache Software Foundation/Tomcat 4.1
2.jsp連接mysql設置
把
mysql-connector-java-5.0.5-bin.jar
mysql-connector-java-5.0.5-bin-g.jar
拷貝到C:/j2sdk1.4.2/lib
把
mysql-connector-java-5.0.5-bin.jar
拷貝到
C:/Program Files/Apache Software Foundation/Tomcat 4.1/common/lib
C:/Program Files/Apache Software Foundation/Tomcat 4.1/shared/lib
(千萬別複製mysql-connector-java-5.0.5-bin-g.jar)
四、JSP連接mysql測試
1.建立數據庫xia
打開命令行窗口,輸入:
mysql -h localhost -u root -p
create database xia;
use xia;
create table member(id int(8) primary key,name varchar(10));
insert into member values(1,'yang');
insert into member(name,id) values('xia',2);
(安全:爲數據庫設置權限(用戶和密碼)
命令:grant all privileges on shujuku.* to test@localhost identified by “123456”;
當你執行完這個命令以後,只要你再以用戶名:test,密碼:123456登錄時你就只可以對shujuku這個數據庫操作,
這樣避開使用root,對數據庫的安全有很大幫助.)
2.把以下文件保存爲index.jsp到C:/Program Files/Apache Software Foundation/Tomcat 4.1/webapps/ROOT
----------------begin----------------------
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>
<%
//驅動程序名
String driverName="com.mysql.jdbc.Driver";
//數據庫用戶名
String userName="root";
//密碼
String userPasswd="";
//數據庫名
String dbName="xia";
//表名
String tableName="member";
//聯結字符串
String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connection=DriverManager.getConnection(url);
Statement statement = connection.createStatement();
String sql="SELECT * FROM "+tableName;
ResultSet rs = statement.executeQuery(sql);
//獲得數據結果集合
ResultSetMetaData rmeta = rs.getMetaData();
//確定數據集的列數,亦字段數
int numColumns=rmeta.getColumnCount();
// 輸出每一個數據值
out.print("id");
out.print("|");
out.print("name");
out.print("<br>");
while(rs.next()) {
out.print(rs.getString(1)+" ");
out.print("|");
out.print(rs.getString(2));
out.print("<br>");
}
out.print("<br>");
out.print("數據庫操作成功,恭喜你");
rs.close();
statement.close();
connection.close();
%>
--------------------end------------------------
輸入http://localhost:8080測試
五、安裝網站程序
1)、拷貝文件
1.拷貝C:/Program Files/MySQL/MySQL Server 5.0/data/dataname
2.把
C:/Program Files/Apache Software Foundation/Tomcat 4.1/webapps/ROOT/mywebroot
C:/Program Files/Apache Software Foundation/Tomcat 4.1/webapps/ROOT/web-inf
目錄拷貝過去
3.建立
C:/Program Files/Apache Software Foundation/Tomcat 4.1/webapps/ROOT/web-inf/classes
把用到的包拷貝到
C:/Program Files/Apache Software Foundation/Tomcat 4.1/webapps/ROOT/web-inf/classes
目錄下面
2)、javabean安裝配置測試
建立自己的Bean:
1.文件名TestBean.java:
--------begin---------
package test;
public class TestBean{
private String name = null;
public TestBean(String strName_p){
this.name=strName_p;
}
public void setName(String strName_p){
this.name=strName_p;
}
public String getName(){
return this.name;
}
}
---------end-------------
2 .編譯
將TestBean.java放在c:/test下,使用如下命令編譯:
C:/Test>javac TestBean.java
然後在c:/Test下會產生一個編譯後的bean文件:TestBean.class
3 .將TestBean.class文件剪切到 C:/Program Files/Apache Software Foundation/Tomcat 4.1/webapps/ROOT/WEB-INF/classes/test
4 .新建一個TestBean.jsp文件,文件內容爲:
<%@ page import="test.TestBean" %>
<html><body><center>
<%
TestBean testBean=new TestBean("This is a test java bean.");
%>
Java bean name is: <%=testBean.getName()%>
</center></body></html>
5 .好了,重啓Tomcat,啓動瀏覽器,輸入http://localhost:8080/TestBean.jsp
如果看到輸出Java bean name is: This is a test java bean.就說明編寫的Bean成功了。
六、問題解決
1.頁面亂碼
在jsp文件前面加
<%@page contentType="text/html; charset=gb2312"%>
2.mysql返回結果亂碼
解決方法一:
連接mysql時(無論在從mysql讀還是取數據的情況),指定使用的編碼方式爲gb2312,具體代碼如下
//裝載mysql-jdbc驅動
Class.forName("com.mysql.jdbc.Driver").newInstance();
//連接數據庫
Connection sqlCon = DriverManager.getConnection( "jdbc:mysql://localhost:3306/test?user=root&password=1&useUnicode=true&characterEncoding=gb2312" );
解決方法二:
如果方法一不行那麼在方法一的基礎上對讀入的字符串進行強制編碼方式轉換。
代碼示例如下:
String name = rst.getString("name");
name= new String(name.getBytes("ISO-8859-1"),"gb2312");
注:代碼也可以爲:String name =new String( rst.getString("name").getBytes("ISO-8859-1"),"gb2312"));其中rst爲返回的resultset,ISO-8859-1爲mysql默認的編碼方式,代碼的目的是把以ISO-8859-1的編碼轉換爲gb2312編碼方式,這樣強制轉換,可以解決一部分問題,如果結合方法一,應該可以解決中文亂碼問題。