كيفية استخدام JSP+MySQL لإنشاء سجل الزوار (2)
الكاتب:Eve Cole
وقت التحديث:2009-07-02 17:13:19
بمجرد حصولك على قاعدة البيانات، تحتاج إلى قراءة الرسالة الخاصة بتشغيل قاعدة البيانات!
البرامج الرئيسية لعرض الرسائل مذكورة أدناه:
<%@page import="java.sql.*"
استيراد = "Java.util.*"
استيراد = "Java.io.*"
نوع المحتوى = "نص / HTML؛ مجموعة الأحرف = gb2312"
%>
<أتش تي أم أل>
<الرأس>
<title>دفتر زوار Pinghui Free Space</title>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<style type="text/css"><!--
الجسم {حجم الخط: 9pt}
td { حجم الخط: 9pt}-->
</نمط>
</الرأس>
<الجسم>
<p align="center"><u><font size="5"face="华文新伟">دفتر زوار Pinghui Free Space</font></u></p>
<عرض الجدول = "75%" الحدود = "1" bgcolor = "#FFCCFF" bordercolorlight = "#0000FF"
Bordercolordark = "#6666FF" cellpadding = "0" تباعد الخلايا = "0" محاذاة = "مركز">
<تر>
<td colspan = "5" الارتفاع = "202">
<%// ما يلي يعالج طلب الترحيل الخاص بالمستخدم
سلسلة string_page؛
int Page,RecoderPage,RecoderRow;
حاول{string_page=request.getParameter("page");
}التقاط (NullPointerException e){string_page="";}
حاول{Page=Integer.parseInt(string_page);
}قبض على (NumberFormatException ه)
{الصفحة=0;
}
java.sql.Connection sqlConn; // كائن اتصال قاعدة البيانات
java.sql.Statement sqlStmt; // كائن البيان
java.sql.ResultSet sqlRst; // كائن مجموعة النتائج
// تسجيل كائن برنامج تشغيل JDBC
Class.forName ("org.gjt.mm.mysql.Driver").newInstance ()؛
// الاتصال بقاعدة البيانات
sqlConn= java.sql.DriverManager.getConnection ("jdbc:mysql://localhost/p"، "test"، "")؛
// إنشاء كائن بيان
sqlStmt=sqlConn.createStatement
(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
// تنفيذ بيان Sql
String sqlQuery = "اختر العد (*) من التعليق"؛
sqlRst=sqlStmt.executeQuery (sqlQuery);
sqlRst.next();
int count=sqlRst.getInt(1); // احصل على العدد الإجمالي لسجلات الرسائل
if (Page>=0)RecoderPage=Page;//صفحة العملية
else RecorderPage=0-Page*10;
if (RecoderPage>count/15){ RecoderPage=count/15; Page=RecoderPage }//الصفحة خارج الحدود
RecoderRow=RecoderPage*15; // احصل على رقم سجل الرسالة المراد عرضه
sqlQuery = "select * from comment order by userid desc Limit "+RecoderRow+"،15;"; // قراءة 15 سجلاً في المرة الواحدة
sqlRst=sqlStmt.executeQuery (sqlQuery);
%> هناك <%=count%> من الرسائل إجمالاً
<% while (sqlRst.next()) // عرض الرسائل
{ // احصل على السجل التالي %> <%=sqlRst.getString("userid")%>
<عرض الجدول = "95%" الحدود = "1" تباعد الخلايا = "1" خلية الحشو = "1"
Bordercolorlight = "#6666FF" bordercolordark = "#6666FF" bgcolor = "#CCCCFF" محاذاة = "مركز">
<تر>
<td width="25%">الاسم المستعار: <%=sqlRst.getString("اسم المستخدم")%></td>
<td width="25%">الجنس: <%=sqlRst.getString("sex")%></td>
<td colspan="2" width="50%">العنوان: <%=sqlRst.getString("address") %></td>
</tr>
<تر>
<td width="25%">الهاتف: <%=sqlRst.getString("telnumber")%></td>
<td width="25%">الرمز البريدي:<%=sqlRst.getString("post")%></td>
<td width="25%">OICQ:<%=sqlRst.getString("oicq")%></td>
<td width="25%">ICQ:<%=sqlRst.getString("icq")%></td>
</tr>
<تر>
<td colspan="2" width="50%">البريد الإلكتروني:
<a href="mailto:<%=sqlRst.getString("email")%>" title="اكتب إلى الشخص الذي ترك الرسالة"><%=sqlRst.getString("email")%></a ><</ تد>
<td colspan="2" width="50%">عنوان URL:
<a href target="_blank"></a><a href="mailto:<%=sqlRst.getString("url")%>" title="اكتب إلى الشخص الذي ترك الرسالة">
<%=sqlRst.getString("urltitle")%></a></td>
</tr>
<تر>
<td colspan="4"><font style="line-height: 150%;اللون: أخضر">
الرسالة:<%=sqlRst.getString("comment")%><br>
-<%=sqlRst.getString("time") %>
(من <%=sqlRst.getString("ip") %>)</font></td>
</tr>
</الجدول>
<hr align="center" noshade size="2" width="95%">
<% } %> <%
// صفحة الرسائل أدناه
int i=count/15; // إجمالي الصفحة، تعرض كل صفحة 15 سجلاً
int j=i/10; // إجمالي الصفحة الكبيرة، لا يوجد 10 صفحات مقسمة إلى صفحة واحدة كبيرة
//الصفحة المعروضة page
صفحة البداية int؛
//int HrefPage;
if (Page<0) Page=0-Page*10; // قسّم 10 صفحات مرة واحدة
StartPage=Page/10; //تقسيم 10 صفحات في المرة الواحدة
out.print ("[إجمالي "+(i+1)+"الصفحات]");
//out.print("الإجمالي"+j+"شاشة");
//out.print("عرض الصفحة "+Page+"");
//out.print ("StartPage = "+StartPage)؛
إذا (صفحة البداية>0)
out.print ("|<a href="connectmysql.jsp?page=-"+Integer.toString(StartPage-1)+"">أول 10 صفحات</a>");
لـ (int k=0;k<10;k++)
{ int p=StartPage*10+k;
إذا (p>i) استراحة؛
إذا (ع == الصفحة)
out.print ("|th"+Integer.toString(p+1)+"page");
آخر
out.print ("|<a href="connectmysql.jsp?page="+p+"">الصفحة "+Integer.toString(p+1)+"</a>");
}
إذا (صفحة البداية<ي)
out.print ("|<a href="connectmysql.jsp?page=-"+Integer.toString(StartPage+1)+"">الصفحات العشر التالية</a>");
طباعة ("|")؛
%> </TD>
</tr>
</الجدول>
</الجسم>
<%
// أغلق كائن مجموعة النتائج
sqlRst. Close();
// إغلاق كائن البيان
sqlStmt. Close();
// إغلاق اتصال قاعدة البيانات
sqlConn. Close();
%> أوجه القصور في البرنامج النهائي للبرنامج:
لا يتم التقاط الأخطاء، ولكن هذا فقط لشرح قراءة jsp لقاعدة بيانات Mysql. إذا كنت تستخدمه كسجل زوار، فيجب عليك التعامل مع الأخطاء! هل مازلنا نريد ترك رسالة؟