Сетевые средства Java


Листинг П.3 . Сервлет, выполняющий запрос к базе Oracle i



Листинг П.3

. Сервлет, выполняющий запрос к базе Oracle i



import java.io.*; 

import javax.servlet.*; 

import javax.servlet.http.*; 

import java.util.*; 

import j ava.sql.*;

public class JdbcServlet extends HttpServlet{ static) 

try{

DriverManager.registerDriver(

new oracle.j dbc.driver.OracleDriver()); 

)catch(SQLException e){

System.err.println(e) ; 

)

private Vector results = new Vector(); 

private int n;

public void doPost(HttpServletRequest req, HttpServletResponse resp)

throws IOException{ 

ServletExceptionf String url = req.getParameter("url") , 

login = req.getParameter("login") , 

password = req.getParameter("password") , 

query = req.getParameter("query");

// Задаем MIME-тип и кодировку для выходного потока pw 

resp.setContentType("text/html;charset=windows-1251"); 

PrintWriter pw = resp.getWriter(); 

try{

Connection con =

DriverManager.getConnection(url, login, password); 

Statement st = con.createStatement(); 

ResultSet rs = st.executeQuery(query); 

ResultSetMetaData rsmd = rs.getMetaData(); 

n = rsmd.getColumnCount(); while (rs.next()){ 

String s = " "; 

for (int i = 1; i <= n; i++)

s += " " + rs.getObject(i); 

results.addElement(s); }

rs.close(); 

st.close(); 

con.close(); 

}catch(SQLException e){

pw.println("From doPostf): " + e) ; 

}

pw.println("<html><head><title>Answers</titlex/head>"); 

рw.рrintln("<body><h2>Результаты 3anpoca</h2>"); 

n = results.size(); 

for (int i = 0; i < n; i++)

pw.println((String)results.elementAt(i) + "<br>"); 

pw.println("</bodyx/html>") ; 

pw.flush() ; 

pw.close () ; 

}

Применение сервлета позволило "облегчить" клиент — браузер не загружает апплет, а только отправляет запрос и получает ответ. Вся обработка запроса ведется в сервлете на сервере.

В системе J2SDKEE (Java 2 SDK Enterprise Edition) HTML-файл и сервлет образуют один Web-компонент. Они упаковываются в один файл с расширением war (web archive) и помещаются в так называемый Web-контейнер, управляемый Web-сервером, расширенным средствами J2SDKEE.

 







- Начало -  - Назад -  - Вперед -



Книжный магазин