Организация доступа к базам данных в ИнтернетРефераты >> Программирование и компьютеры >> Организация доступа к базам данных в Интернет
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\"> Запрос</td>");
out.println(" <td width=\"135\" class=\"text\"> Каталог</td> ");
out.println(" <td width=\"207\"> </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 {