เมื่อคุณประสบปัญหาในการเชื่อมต่อกับ JSP เข้ากับฐานข้อมูล MySQL คุณต้องสร้างตารางชื่อผู้ใช้ในฐานข้อมูล MySQL ก่อน สร้างฟิลด์อักขระสองตัวในตาราง ชื่อฟิลด์คือ: uid, pwd จากนั้นแทรกสองสามส่วน ข้อมูลการทดสอบ
มีสองวิธีในการใช้การเชื่อมต่อ JSP กับฐานข้อมูล MySql:
วิธีแรกคือการใช้ JSP:
<%@ หน้า contentType="text/html;
charset=gb2312" language="java"
นำเข้า = "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
ค่าเริ่มต้นคือ 1433//สตริงการเชื่อมต่อฐานข้อมูล
สตริง 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);
//สร้างคำสั่ง object Statement stmt=conn.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
// ****สิ้นสุดโค้ดการเชื่อมต่อฐานข้อมูล**********
String sql="select * จากชื่อผู้ใช้";
ResultSet rs=stmt.executeQuery(sql);
//rs.first();ในขณะที่(rs.next()){out.print("ชื่อผู้ใช้:");
out.print(rs.getString("uid")+" รหัสผ่าน:");
out.println(rs.getString("pwd")+"<br>");}
rs.close();stmt.close();conn.close();%>
วิธีที่สองคือการใช้ JavaBean เพื่อนำไปใช้:
ไฟล์ Class หลังจากคอมไพล์ DBConnMySql.java ควรอยู่ในไดเร็กทอรี Web-INFclassesconn
package conn; // นำเข้าแพ็คเกจนำเข้า java.sql.*;
//นำเข้าคลาสสำหรับการดำเนินงานฐานข้อมูลคลาสสาธารณะ DBConnMySql
//วิธีการก่อสร้าง การเริ่มต้น {private Connection conn;
//คำสั่งส่วนตัววัตถุการเชื่อมต่อ stmt;
//วัตถุคำสั่งส่วนตัว ResultSet rs;
//ชุดผลลัพธ์วัตถุส่วนตัว String MySqldiver;
//สตริงไดรเวอร์เซิร์ฟเวอร์ MySQL สตริงส่วนตัว MySqlURL;
//สตริงการเชื่อมต่อเซิร์ฟเวอร์ MySQL//************************************
ขับเคลื่อนโดย org.gjt.mm.mysql.Driver
* วิธีนี้จะรับพารามิเตอร์ต่างๆ ที่จำเป็นสำหรับการเชื่อมต่อเพื่อสร้างสตริงการเชื่อมต่อ
จากนั้นสร้างการเชื่อมต่อ * server;dbname, user, pass, port
แสดงถึงที่อยู่ของเซิร์ฟเวอร์ MYSQL ตามลำดับ
* ฐานข้อมูล ชื่อผู้ใช้ รหัสผ่าน พอร์ต
-
การเชื่อมต่อสาธารณะ getConnToMySql
(เซิร์ฟเวอร์สตริง, dbname สตริง, ผู้ใช้สตริง, รหัสผ่านสตริง, พอร์ตสตริง)
//ไดรเวอร์ MYSQl MySqldriver = "org.gjt.mm.mysql.Driver";
MySqlURL = "jdbc:mysql://";
//ส่วนหนึ่งของสตริงการเชื่อมต่อลอง{//สตริงการเชื่อมต่อที่สมบูรณ์ MySqlURL
=MySqlURL+server+ Harris+port+"/"+dbname+"?user=
"+ผู้ใช้+"&รหัสผ่าน="+ผ่าน+"&useUnicode
=true&CharacterEncoding=GB2312";
Class.forName(MySqldiver);conn
= DriverManager.getConnection(MySqlURL);}
catch (ข้อยกเว้น 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="text/html;
charset=gb2312"><%@ หน้า 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
(เซิร์ฟเวอร์,dbname,ผู้ใช้,ผ่าน,พอร์ต);
คำสั่ง stmt=conn.createStatement
(ชุดผลลัพธ์.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
String sql="select * จากชื่อผู้ใช้";
String sql1="ใส่ค่าชื่อผู้ใช้ (uid,pwd)
('ปีแห่งความฝัน','ปีแห่งความฝัน')";stmt.executeUpdate(sql1);
ResultSet rs=stmt.executeQuery(sql);ในขณะที่(rs.next())
{out.print("ชื่อผู้ใช้:");out.print(rs.getString("uid")+" รหัสผ่าน:");
out.println(rs.getString("pwd")+"<br>");}
//rs.close();//stmt.close();//conn.close();DBConn.close();%>