十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你的虚拟机安装的时候,是需要一个IP的,然后你在用jsp链接mysql时,从连接字符串里配一下,就可以了,我在做项目时,链接数据库倒是容易,反倒是在linux上安装mysql费了不少劲,详情请看我的博客 一、到官方网站下载server,和client,然后分别安装。用rpm -ivh XXX安装二、在/usr/share/mysql下复制一份my-medium.cnf 并重命名为my.cnf到/etc/my.cnf三、修改my.cnf1、
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站制作、成都做网站、洪山网络推广、小程序定制开发、洪山网络营销、洪山企业策划、洪山品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供洪山建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
pid-file=/var/lib/mysql/pcstudio.pid
其中pcstudio为机器名。2、加上
bind-address = 192.168.3.205四、修改mysql数据文件夹的权限。一般为/var/lib/mysql,默认是只读的,改为可写可读。五、修改可远程访问。mysql use mysql;
mysql GRANT ALL ON *.* TO admin@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
#这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户 和密码(admin)来访问这个MySQL Server
#必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆六、修改字符集编码支持中文1. 在[mysqld]段中添加default-character-set=utf8
2. 在[client]中添加default-character-set=utf8在建库的时候选择字符集为utf-8,就可以了 祝你好运!
jsp是一种JAVA用于动态生成HTML页面的语言(可以姑且理解为是一门编程语言),但是这个转换过程需要一个东西帮忙,我们称之为web容易,tomcat就是非常流行的web容器之一,jsp代码可以通过tomcat执行,生成页面文件。
至于mysql,严格来说,和之前的两个没有什么关系,mysql是一种流行的数据库软件,主要用来提供统一的数据管理,主流的web软件都是通过数据库存储数据的。
以上,三个东西的关系汇总起来就是:
jsp(编写程序)-从mysql读取数据-tomcat运行JSP程序,主流大概是这个流程吧
jsp连接MySQL数据库
testmysql.jsp如下:
%@ page contentType="text/html;charset=gb2312"%
%@ page import="java.sql.*"%
html
body
%Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/softforum?user=softpassword=soft1234useUnicode=truecharacterEncoding=8859_1"
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%
您的第一个字段内容为:%=rs.getString(1)%
您的第二个字段内容为:%=rs.getString(2)%
%}%
%out.print("数据库操作成功,恭喜你");%
%rs.close();
stmt.close();
conn.close();
%
/body
/html
我感觉,最好不使用jsp去连接数据库
%@ 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="cl41";
//密码
String userPasswd="123456";
//数据库名
String dbName="db";
//表名
String tableName="dbtest";
//联结字符串
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("num");
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();
%
我写的一个用JSP连接MySQL数据库的代码。
要正确的使用这段代码,你需要首先在MySQL数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。
以下用两种方式来实现JSP连接MySql数据库。
第一种方式,用JSP实现。
%@ page contentType="text/html; charset=gb2312" language="java"
import="java.sql.*"%
%
//**************************************
********* JDBC_ODBC连接MySql数据库,不需要设置数据源
*********************************/
//********** 数据库连接代码 开始 ******/
//以下几项请自行修改
String server="localhost"; //MYSQL 服务器的地址
String dbname="test"; //MYSQL 数据库的名字
String user="root"; //MYSQL 数据库的登录用户名
String pass="chfanwsp"; //MYSQL 数据库的登录密码
String port="3306"; //SQL Server 服务器的端口号,默认为1433
//数据库连接字符串
String url ="jdbc:mysql://"+server+":"+port+"/"+dbname+"?user="+user+
"password="+pass+"useUnicode=truecharacterEncoding=GB2312";
//加载驱动程序
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//建立连接
Connection conn= DriverManager.getConnection(url);
//创建语句对象
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
// **** 数据库连接代码 结束 *******
String sql="select * from username";
ResultSet rs=stmt.executeQuery(sql);
//rs.first();
while(rs.next()){
out.print("用户名:");
out.print(rs.getString("uid")+" 密码:");
out.println(rs.getString("pwd")+"
");
}
rs.close();
stmt.close();
conn.close();
%
第二种方式,用JavaBean来实现。请看代码:
DBConnMySql.java
编译以后的Class文件应该放在WEB-INF\classes\conn目录下。
package conn; //导入包
import java.sql.*; //导入数据库操作的类
public class DBConnMySql //构造方法,初始化
{
private Connection conn; //连接对象
private Statement stmt; //语句对象
private ResultSet rs; //结果集对象
private String MySqldriver;//MYSQL Server驱动程序字符串
private String MySqlURL; //MYSQL Server连接字符串
//********************************
*用 org.gjt.mm.mysql.Driver 驱动
* 该方法取得连接所需各种参数,组成连接字符串,然后再建立连接
* server;dbname,user,pass,port 分别表示MYSQL 服务器的地址,
* 数据库,用户名,密码,端口
**********************************/
public Connection getConnToMySql(String server,String dbname,
String user,String pass,String port){
//MYSQl驱动程序
MySqldriver = "org.gjt.mm.mysql.Driver";
MySqlURL = "jdbc:mysql://"; //连接字符串一部分
try{
//完整的连接字符串
MySqlURL =MySqlURL+server+":"+port+"/"+dbname+
"?user="+user+"password="+pass+
"useUnicode=truecharacterEncoding=GB2312";
Class.forName(MySqldriver);
conn = DriverManager.getConnection(MySqlURL);
}catch(Exception e){
System.out.println("操作数据库出错,请仔细检查");
//System.err.println(e.getMessage());
}
return conn;
}
//关闭数据库连接
public void close()
{
try{
//rs.close();
//stmt.close();
conn.close();
}catch(SQLException sqlexception){
sqlexception.printStackTrace();
}
}
}
这个文件只是实现了数据库的连接,下面我们再写一个测试文件。
就是用sql语句从数据库里查询出记录,以验证我们数据库的连接是否成功。
connmysql.jsp文件源代码如下:
%@ page contentType="text/html; charset=gb2312" language="java"
import="java.sql.*" %
%
//以下几项请自行修改
String server="localhost"; //MYSQL 服务器的地址
String dbname="test"; //MYSQL 数据库的名字
String user="root"; //MYSQL 数据库的登录用户名
String pass="chfanwsp"; //MYSQL 数据库的登录密码
String port="3306"; //SQL Server 服务器的端口号,默认为1433
Connection conn=DBConn.getConnToMySql(server,dbname,user,pass,port);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
String sql="select * from username";
String sql1="insert into username (uid,pwd) values('梦想年华','梦想年华')";
stmt.executeUpdate(sql1);
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
out.print("用户名:");
out.print(rs.getString("uid")+" 密码:");
out.println(rs.getString("pwd")+"
");
}
//rs.close();
//stmt.close();
//conn.close();
DBConn.close();
%