يصف المثال الموجود في هذه المقالة كيفية قيام Java بتنفيذ JSP للاتصال بقاعدة بيانات Oracle باستخدام Servicelt. من أجل الاتصال بقاعدة البيانات في Servlet، يجب كتابة برنامج فئة Servlet. ضع برنامج فئة Servlet ضمن دليل servlet أو دليل الفئات لخادم الويب من أجل استدعاء Servlet، تحتاج إلى إنشاء مستند HTML يرسل طلب Servlet. في هذا المثال، يتم استخدام الأسلوب (Driver)Class.forName(driverName).newInstance() لتحميل برنامج التشغيل وتأسيس اتصال بقاعدة البيانات.
رمز البرنامج المحدد هو:
1. ترث فئة قاعدة البيانات فئة HttpServlet ولها طريقتان: doGet () وdisplayResult () الكود كما يلي:
توسع قاعدة بيانات الفئة العامة HttpServlet {public void doGet(); public void DisplayResult(ResultSet results,PrintWriter out);}
2. أنشئ اتصالاً بقاعدة البيانات وقم بتنفيذ الاستعلام بطريقة doGet():
public void doGet(){HttpServletRequest request,HttpServletResponse Response} يلقي ServletException, IOException{PrintWriter out;String title = "اتصال Servlet بسيط بقاعدة بيانات Oracle";response.setContentType("text/html;charset=GB2312");out = Response.getWriter();out.println("<HTML><HEAD><TITLE>");out.println(title);out.println("</TITLE></HEAD><BODY>");out .println("<H1>" + title + "</H1>");out.println("<P>هذا هو الإخراج من SimpleServlet.");String driverName = "Oracle.jdbc.driver.OracleDriver";Driver d;Connection con;Statement stmt;ResultSet results;try{d = (Driver)Class.forName(driverName).newInstance();con = DiverManager.getConnection("jdbc:Oracle:thin:ndb/[email protected]:1521:PC6");stmt = con.createStatement();String sqlstr = "select * from data";results = stmt.executeQuery(sqlstr);displayResult(results,out);stmt. Close();con. Close();}catch (استثناء e){out.println("error: " + e.toString());} out.println("</BODY></HTML>");out.Close();}
3. تعرض طريقة DisplayResult() نتائج الاستعلام:
public void DisplayResult(ResultSet results,PrintWriter out){StringBuffer buf = new StringBuffer();String temp;try{ResultSetMetaData rsmd = results.getMetaData();int numCols = rsmd.getColumnCount();int i,rowcount = 0;for (i=1; i <= numCols; i++){if (i > 1) buf.append(!");buf.append(rsmd.getColumnLabel(i));}buf.append("");while (results.next() &&rowcount < 100){for (i= 1;i <= numCols; buf.append("،);buf.append((results.getString(i)));}buf.append("<br>");rowcount++;}out.println("<br>");out .println(buf.toString());results. Close();}catch (استثناء e){out.println("خطأ: " + e.toString());return;}}
4. نظرًا لأن البرنامج يستخدم فئات JDBC وفئات servlet ويستخدم مخرجات وحدة التحكم، فيجب تقديم الحزم التالية:
import java.sql.*;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;
5. قم بتجميع Database.java، وإنشاء ملف Database.class، ووضع Database.class في دليل servlets لخادم WEB. في هذا المثال، يتم استخدام Java Web Server كخادم WEB. قم بتكوين خادم الويب، وأضف قاعدة البيانات.فئة، وحدد الاسم كقاعدة بيانات.
6. اكتب ملف data.html الذي يستدعي Servlet. الرمز هو كما يلي:
<html><head><title>يستخدم Jsp Servlet للاتصال بقاعدة البيانات</title></head><body><center><form action="/servlet/database" Method="get"><اسم الإدخال ="action " type="submit" value="الاتصال بقاعدة البيانات"></form></center></body></html>