Организация доступа к базам данных в Интернет
Рефераты >> Программирование и компьютеры >> Организация доступа к базам данных в Интернет

out.println("Ошибка!!!"+"<br>");

done=true; }

}

}

catch (IOException e) { out.println("Ошибка доступа к "+dbNamePath); }

if (mE == 0) {

out.println("Запос: "+query+" не найден");

}

} // end If

}

// Ридер файла настройки

public void INIFile(String filename, String directory, PrintStream out) {

DataInputStream inifile = null;

String path = null,

iniRecord = null,

section = null,

vname = null,

vvalue = null;

boolean done = false;

int equalIndex = 0;

//

if (filename.length() == 0) {

out.println("IOError ");

System.exit(0);

}

if (directory.length() == 0) { directory = new String("c:\\www\\db"); }

if (filename.indexOf(".") < 0) { filename = new String(filename+".ini"); }

path = new String(directory+System.getProperty("file.separator")+filename);

// открытие файла

try { inifile = new DataInputStream(new FileInputStream(path)); }

catch(FileNotFoundException e) {

out.println(filename+"not found");

System.exit(0);

}

// чтение файла

try { iniRecord = inifile.readLine(); }

catch (IOException e) { done=true; }

while (!done && iniRecord != null)

{ if (iniRecord.startsWith("["))

{ section = iniRecord.substring(1,iniRecord.lastIndexOf("]"));}

else if (!iniRecord.startsWith(";"))

{ equalIndex = iniRecord.indexOf("=");

if (equalIndex > 0)

{ //Имя ключа => Раздел.ключ

vname = new String(section+"."+iniRecord.substring(0,equalIndex));

vvalue = new String(iniRecord.substring(equalIndex+1));

INIProperties.put(vname, vvalue);

}

}

try { iniRecord = inifile.readLine(); }

catch (IOException e) { done=true; }

}

}

// извлечь значение

public String getINIVar(String key, String defValue) {

return INIProperties.getProperty(key, defValue);

}

// извлечь значение

public String getINIVar(String key) {

return INIProperties.getProperty(key);

}

public void init(ServletConfig conf) throws ServletException {

super.init(conf);

}

public void service(HttpServletRequest req, HttpServletResponse res)

throws ServletException, IOException

{

PrintStream out;

out = new PrintStream(res.getOutputStream());

res.setContentType("text/html; charset=Cp866");

// Печать заголовка

printPageHeader(out);

INIFile("db.ini","c:\\www\\db",out);

// Определяем кодировку

String requestEnc = req.getCharacterEncoding();

String clientEnc = requestEnc;

if ( requestEnc==null ) requestEnc=iso;

requestEnc=iso;

// Тело

out.println("<body bgcolor=\"#FFFFFF\">");

out.println("<form method=\"get\" action=\"/serv/SearchEngein\">");

out.println(" <table width=\"461\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">");

out.println(" <tr bgcolor=\"#3399FF\"> ");

out.println(" <td width=\"266\" class=\"text\">&nbsp;&nbsp;&nbsp;Запрос</td>");

out.println(" <td width=\"135\" class=\"text\">&nbsp;&nbsp;&nbsp;Каталог</td> ");

out.println(" <td width=\"207\">&nbsp;</td>");

out.println(" </tr>");

out.println(" <tr>");

out.println(" <td width=\"266\" valign=\"top\"> ");

out.println(" <input type=\"text\" name=\"Query\" maxlength=\"100\" size=\"38\" value=\"\">");

out.println(" </td>");

out.println(" <td width=\"135\" valign=\"top\"> ");

out.println(" <select name=\"select\" size=\"1\">");

out.println(" <option value=\"MARCFILE.Book\" selected>"+ConvertISO(getINIVar("KATALOG.Book"))+"</option>");

out.println(" <option value=\"MARCFILE.Stat\">"+ConvertISO(getINIVar("KATALOG.Stat"))+"</option>");

out.println(" <option value=\"MARCFILE.Periud\">"+ConvertISO(getINIVar("KATALOG.Periud"))+"</option>");

out.println(" <option value=\"MARCFILE.Podpis\">"+ConvertISO(getINIVar("KATALOG.Podpis"))+"</option>");

out.println(" <option value=\"MARCFILE.Ucheb\">"+ConvertISO(getINIVar("KATALOG.Ucheb"))+"</option>");

out.println(" </select>");

out.println(" </td>");

out.println(" <td width=\"207\" valign=\"top\"> ");

out.println(" <input type=\"submit\" name=\"Start\" value=\"Поиск\">");

out.println(" </td>");

out.println(" </tr>");

out.println(" </table>");

out.println(" </form>");

// Конец тела

// Взять текст из строки

query = req.getParameter("Query");

if (query == null || query.length()<1)

{

printPageFooter(out);

return;

}

dbselect = req.getParameter("select");

value = new String(ConvertISO(query));

// Чтение файла

dbFileRead(getINIVar(dbselect), out, value);

// Распечатка результата

printPageFooter(out);

query = null;

value = null;

}

// Вывод заголовка документа

private void printPageHeader(PrintStream out) {

out.println("<html>");

out.println("<head>");

out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Cp866\">");

out.println("<style type=\"text/css\">");

out.println("<!--");

out.println(".text { font: bold 12px Arial, Helvetica, sans-serif; color: #0000FF; text-decoration: none; text-align: left; }");

out.println(".bodytext { font: 12px Arial, Helvetica, sans-serif; color: #000000; text-decoration: none; text-align: left; }");

out.println("-->");

out.println("</style>");

out.println("</head>");

}

private void printPageFooter(PrintStream out) {

out.println("</body>");

out.println("</html>");

out.flush();

}

}

// Класс Запясь для хранения данных считаных из запяси

class MarcRecord {


Страница: