عندما تواجه مشكلة اتصال JSP بقاعدة بيانات MySQL، تحتاج أولاً إلى إنشاء جدول اسم مستخدم في قاعدة بيانات MySQL، وإنشاء حقلين من الأحرف في الجدول، وأسماء الحقول هي: uid، وpwd، ثم قم بإدراج بضع قطع من بيانات الاختبار.
هناك طريقتان لتنفيذ اتصال JSP بقاعدة بيانات MySql:
الطريقة الأولى هي استخدام JSP:
<%@ page contentType="text/html;
مجموعة الأحرف = gb2312" لغة = "جافا"
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);
// إنشاء كائن بيان البيان 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 في الدليل Web-INFclassesconn.
package conn; // استيراد الحزمة import java.sql.*;
// استيراد فئة عمليات قاعدة البيانات public class DBConnMySql
// طريقة البناء، التهيئة {اتصال خاص conn؛
// كائن الاتصال بيان خاص stmt;
// كائن البيان الخاص ResultSet rs;
// كائن مجموعة النتائج public String MySqldriver;
// سلسلة برنامج تشغيل خادم MYSQL public String MySqlURL;
// سلسلة اتصال خادم MYSQL //************************************
يقودها org.gjt.mm.mysql.Driver
* تحصل هذه الطريقة على المعلمات المختلفة المطلوبة للاتصال لتشكيل سلسلة اتصال.
ثم قم بإنشاء اتصال * خادم؛dbname، user، pass، port
يمثل عنوان خادم MYSQL على التوالي.
* قاعدة البيانات، اسم المستخدم، كلمة المرور، المنفذ
**************************************/
اتصال عام getConnToMySql
(خادم السلسلة، اسم سلسلة dbname، مستخدم السلسلة، تمرير السلسلة، منفذ السلسلة)
{// برنامج تشغيل MYSQl MySqldriver = "org.gjt.mm.mysql.Driver";
MySqlURL = "jdbc:mysql://";
// جزء من سلسلة الاتصال حاول {// سلسلة الاتصال الكاملة 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.إغلاق();}catch(SQLException
sqlexception){sqlexception.printStackTrace();}}}
يقوم هذا الملف بتنفيذ اتصال قاعدة البيانات فقط. بعد ذلك، اكتب ملف اختبار يستخدم عبارات SQL للاستعلام عن السجلات من قاعدة البيانات للتحقق من نجاح الاتصال بقاعدة البيانات الخاصة بنا.
الكود المصدري لملف connmysql.jsp هو كما يلي:
<meta http-equiv="Content-Type" content="text/html;
charset=gb2312"><%@ page contentType="text/html;
مجموعة الأحرف=gb2312" language="java" import="java.sql.*" %>
<jsp:useBean id = "DBConn" نطاق = "صفحة" فئة = "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
(ResultSet.TYPE_SCROLL_INSENSITIVE،
ResultSet.CONCUR_READ_ONLY);
String sql="select * from username";
سلسلة sql1 = "أدخل في قيم اسم المستخدم (uid، pwd).
('سنوات الحلم'،'سنوات الحلم')";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.closure();DBConn.إغلاق();%>