在自用的机子上安装了redhat9.0+Tomcat5.0+JDK1.5+JBuilder9.0+weblogic8.X的机子上开发jsp,在vi /etc/profile 配置好以后:
JAVA_HOME=/usr/java/jdk
export JAVA_HOME
PATH=$JAVA_HOME/bin:JAVA_HOME/jre/bin:$PATH
export PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib:$TOMCAT_HOME/common/lib:$JAVA_HOME/jre/lib/ext/mysql-connector-java-3.1.12-bin.jar
export CLASSPATH
CATALINA_HOME=/opt/tomcat
export CATALINA_HOME
CATALINA_BASE=/opt/tomcat
export CATALINA_BASE
TOMCAT_HOME=/opt/tomcat
export TOMCAT_HOME
将mysql的驱动程序mysql-connector-java-3.1.12-bin.jar放置在Tomcat_home/command/lib目录下。
用一测试文件test.jsp测试能否连接数据库:
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>
testmysql
</title>
</head>
<body bgcolor="#ffffff">
<%Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://localhost/test";
String username="lenovo";
String password="lenovo";
Connection conn=DriverManager.getConnection(url,username,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
%>
your first data:<%=rs.getString(1)%>
your second data:<%=rs.getString(2)%>
<%}%>
<%out.print("mysql opration is success");%>
<%rs.close();
stmt.close();
conn.close();%>
</body>
</html>
在mysql内建立测测试数据库test,表test
create table test(col1 varchar(10),col2 varchar(10));
insert into test(col1,col2)values(aaa,bbb);
结果jsp访问数据库的时候出现错误:Server configuration denies access to data source.
首先觉得是数据库的用户或者权根不正确。在字符模下mysql -u root -p登录数据库,对其进行管理
输入:
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "password";
FLUSH PRIVILEGES;
测试jsp,还是不行,
通过:telnet localhost 3306,结果出现:
KHost 'localhost.localdomain' is not allown to connect to this mysql serverConnection closed by
foreign host.
于是登入数据库
GRANT ALL PRIVILEGES ON *.* TO root@ localhost.localdomain IDENTIFIED BY "password";
FLUSH PRIVILEGES;
之后一切正常
后想起来可能是前面装了weblogic产生的
JAVA_HOME=/usr/java/jdk
export JAVA_HOME
PATH=$JAVA_HOME/bin:JAVA_HOME/jre/bin:$PATH
export PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib:$TOMCAT_HOME/common/lib:$JAVA_HOME/jre/lib/ext/mysql-connector-java-3.1.12-bin.jar
export CLASSPATH
CATALINA_HOME=/opt/tomcat
export CATALINA_HOME
CATALINA_BASE=/opt/tomcat
export CATALINA_BASE
TOMCAT_HOME=/opt/tomcat
export TOMCAT_HOME
将mysql的驱动程序mysql-connector-java-3.1.12-bin.jar放置在Tomcat_home/command/lib目录下。
用一测试文件test.jsp测试能否连接数据库:
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>
testmysql
</title>
</head>
<body bgcolor="#ffffff">
<%Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://localhost/test";
String username="lenovo";
String password="lenovo";
Connection conn=DriverManager.getConnection(url,username,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
%>
your first data:<%=rs.getString(1)%>
your second data:<%=rs.getString(2)%>
<%}%>
<%out.print("mysql opration is success");%>
<%rs.close();
stmt.close();
conn.close();%>
</body>
</html>
在mysql内建立测测试数据库test,表test
create table test(col1 varchar(10),col2 varchar(10));
insert into test(col1,col2)values(aaa,bbb);
结果jsp访问数据库的时候出现错误:Server configuration denies access to data source.
首先觉得是数据库的用户或者权根不正确。在字符模下mysql -u root -p登录数据库,对其进行管理
输入:
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "password";
FLUSH PRIVILEGES;
测试jsp,还是不行,
通过:telnet localhost 3306,结果出现:
KHost 'localhost.localdomain' is not allown to connect to this mysql serverConnection closed by
foreign host.
于是登入数据库
GRANT ALL PRIVILEGES ON *.* TO root@ localhost.localdomain IDENTIFIED BY "password";
FLUSH PRIVILEGES;
之后一切正常
后想起来可能是前面装了weblogic产生的