JSP连接MySQL数据库问题

当您面临JSP连接MySQL数据库问题,你首先需要在MySQL数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。

  以下用两种方式来实现JSP连接MySql数据库

  第一种方式,用JSP实现:

<%@ page contentType="text/html;
charset=gb2312" language="java"
 import="java.sql.*"%>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%//*******************************
****************
 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
=true&characterEncoding=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")+"<br>");}
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
=true&characterEncoding=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文件源代码如下:

<meta http-equiv="Content-Type" content="text/html;
charset=gb2312"><%@ page contentType="text/html;
charset=gb2312" language="java" import="java.sql.*"  %>
<jsp:useBean id="DBConn" scope="page" class="conn.DBConnMySql"/>
<% //以下几项请自行修改String server="localhost";       
//MYSQL 服务器的地址String dbname="test";      
 
 //MYSQL 数据库的名字String user="root";           
//MYSQL 数据库的登录用户名String pass="chfanwsp";       
//MYSQL 数据库的登录密码String port="3306";          
 //SQL Server 服务器的端口号,默认为1433Connection
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")+"<br>");}
//rs.close();//stmt.close();//conn.close();DBConn.close();%>

 

Jsp连接Mysql数据库:利用Servlet监听器
http://www.weaseek.com  2007-04-07 00:00:00  来源:Java学习室
本例程所使用的运行环境及资源:1. Tomcat 5.5 2. Mysql 4.13. mysql jdbc驱动:3.1.13(以上程序可以直接到相关官方网站下载到)step1:首先创建一个监听器servlet,这个监听器用来初始化共享资源,本例中主要用来在应用中创建数据源,把这个类置于WEB-INF/classes/king


本例程所使用的运行环境及资源:

1. Tomcat 5.5

2. Mysql 4.1

3. mysql jdbc驱动:3.1.13

(以上程序可以直接到相关官方网站下载到)

step1:首先创建一个监听器servlet,这个监听器用来初始化共享资源,本例中主要用来在应用中创建数据源,把这个类置于WEB-INF/classes/kinglong/jmediasoft/servlets/目录下,代码如下:


/** */ /** * @(#)ResourceManagerListener.java** 资源初始化监听器*package  kinglong.jmediasoft.servlets;import  javax.servlet. * ;import  javax.servlet.http. * ;import  com.mysql.jdbc.jdbc2.optional. * ;public   class  ResourceManagerListener  implements  ServletContextListener  { private  DataSource ds = null ; public   void  contextInitialized(ServletContextEvent sce)  {ServletContext application = sce.getServletContext();String jdbcurl = application.getInitParameter( " jdbcURL " );String user = application.getInitParameter( " user " );String password = application.getInitParameter( " password " );try  {ds = new  MysqlConnectionPoolDataSource();ds.setUrl(jdbcurl);ds.setUser(user);ds.setPassword(password);} catch (Exception e)  {application.log( " 无法创建数据源: " + e.getMessage()); return ;  }   application.setAttribute( " dataSource " ,ds);//将数据源变量置于应用作用域中} public   void  contextDestroyed(ServletContextEvent sce)  {ServletContext application = sce.getServletContext();application.removeAttribute( " dataSource " );ds = null ;} } step2:配置web.xml相关代码,代码如下:  jdbcURL   jdbc:mysql://localhost:3306/comic     user   root    password   root    kinglong.jmediasoft.servlets.ResourceManagerListener step3:建立测试页面,测试页面代码如下:sql ="SELECT * FROM comicinfo"   />      数据库测试页面 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值