Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема в сервлете Java  (Прочитано 6274 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Molly
Гость
« : 10-06-2005 11:38 » 

Здравсвуйте.
Возникла проблема. Я только учусь. С книжки написала сервлет. Но он не присваивает значения :
                stack = request.getParameter("stack");
   username = request.getParameter("username");
   password = request.getParameter("password");
   query = request.getParameter("query");
когда я их заполняюю в окне формы.
Если задаю в самом коде , то работает нормально.
Вот код сервлета:
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.net.*;
import java.util.*;

public class JdbsTest extends HttpServlet {

public void init(ServletConfig config) throws ServletException
{
   super.init(config);
try {
   Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
}
catch (Exception e) { }
}
public void doGet(
HttpServletRequest request, HttpServletResponse response)

throws IOException, ServletException {

Connection cn;
String stack,username, password, query;
PrintStream out;

   response.setContentType("text/html charset=Windows-1251");
   out = new PrintStream(response.getOutputStream());
   
        printPageHeader(out);
   stack = request.getParameter("stack");
   username = request.getParameter("username");
   password = request.getParameter("password");
   query = request.getParameter("query");
   
//   stack = "test123";
//   username = "bums";
//   password = "qwerty";
//   query ="select * from my_table";
                  
   if (stack == "" || username == "" || query == "") {
     printPageFooter(out);

     return;       
}
   String url = "jdbc:oracle:thin:@127.0.0.1:1521:test123";
   out.println("<hr><h3>Предыдущий запрос </h3>");
   out.println("<pre>");
   out.println("Database stack : " + stack);
   out.println("       User ID : " + username);
   out.println("      Password : " + password);
   out.println("         Query : " + query);
   out.println("</pre>");
try {   
   cn = DriverManager.getConnection(url, username, password);
   out.println("<hr>");
   out.println("<h3>-*Информация о соединении и драйвере*- </h3>");
   checkForWarning(cn.getWarnings(), out);
   DatabaseMetaData dma = cn.getMetaData();
   out.println("Connected to " + dma.getURL() + "<br>");
   out.println("Driver     " + dma.getDriverName() + "<br>");
   out.println("Version     " + dma.getDriverVersion() + "<br>");
   Statement st = cn.createStatement();
                ResultSet rs = st.executeQuery(query);
   dispResultSet(rs,out);
   rs.close();
   st.close();
   cn.close();
   out.println("<hr>");
}
catch (SQLException ex) {
        out.println("<hr>*** SQLException caught ***<p>");
   while (ex !=null){
    out.println("SQLState: " + ex.getSQLState() + "<br>");
    out.println("Message : " + ex.getMessage() + "<br>");
    out.println("Vendor  : " + ex.getErrorCode() + "<br>");
    ex = ex.getNextException();
          }
   }
catch (java.lang.Exception ex) {
   ex.printStackTrace();
}
   printPageFooter(out);
}
private void checkForWarning(SQLWarning warn, PrintStream out) throws SQLException
 {
   boolean rc = false;
   if (warn != null) {
   out.println("<hr>*** Warning ***<p>");
   rc = true;
   while (warn != null) {
    out.println("SQLState: " + warn.getSQLState() + "<br>");
    out.println("Messag  : " + warn.getMessage() + "<br>");
    out.println("Vendor  : " + warn.getErrorCode() + "<br>");
    warn = warn.getNextWarning();
              }
           }
 }
private void dispResultSet(ResultSet rs, PrintStream out) throws SQLException
 {
 int i;
   String cp1 = new String("Cp1251");
   ResultSetMetaData rsmd = rs.getMetaData ();
   int numCols = rsmd.getColumnCount ();
   out.println ("<hr>");
   out.println ("<h3>--*Данные из Базы Данных*-- </h3>");
        out.println("_");
   while (rs.next()) {
             out.println("PID=" + rs.getString(1) + " " + "Name=" + rs.getString(2) + "<br>");
         }
}
private void printPageHeader(PrintStream out) {
   out.println("<html>");
   out.println("<head>");
   out.println("<title> Если вся эта дребедень работает, я обмою это дело пивом!!!!:о) </title>");
   out.println("</head>");
   out.println("<body>");
   out.println("<center><font size=5>" + "<b>Jeeves Database Servlet</b>" +
          "</font></center>");
   out.println("<hr>");
      out.println("<form  action=\"/servlet/JdbsTest\" method=\"get\">");
   out.println("<pre>");
   out.println(" JDBC URL : <input type=textarea name=stack>");
   out.println("  User ID : <input type=textarea name=username>");
   out.println(" Password : <input type=textarea name=password>");
   out.println("SQL Query : <input type=textarea name=query>");
   out.println("</pre>");
   out.println("<input type=submit>");
   out.println("</form>");
}
private void printPageFooter(PrintStream out) {
   out.println("</body>");
   //out.println("</html");
   
   out.flush();
}
}
Помоги те пожалуйста разобраться в чём трабла.

   
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 11-06-2005 08:59 » 

Molly, я перенес тему сюда - выбирай раздел по теме.

Я не спец по Java и сразу сказать в чем причина не могу.
Что выдает у тебя блок out.println("<hr><h3>Предыдущий запрос </h3>"); .... в случае использования getParameter() ? Если совсем ничего, то дело видмо в связке сервер-java.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Molly
Гость
« Ответ #2 : 17-06-2005 04:25 » new

Всё.Разобралась сама . Всё заработало. Огромное спасибо:)
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines