二、依次安装以上软件
假设安装后的路径分别如下:
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编码方式,这样强制转换,可以解决一部分问题,如果结合方法一,应该可以解决中文乱码问题。