InfoCity
InfoCity - виртуальный город компьютерной документации
Реклама на сайте







Размещение сквозной ссылки

 

Введение в сервлеты


Что такое сервлет ? Это класс порожденный от класса HttpServlet с переопреденными методами doGet и doPost (управление приходит в один из этих методов в зависимости от того какого типа был запрос. Надеюсь у Вас есть некоторый опыт в cgi-программировании для того чтобы понять разницу между ними).

Входиные-выходные параметры передаются в этих методах через:

HttpServletRequest req
HttpServletResponse res

Дальше все совсем просто - приведу исходный текст, на мой взгляд там все очевидно.

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class myServlet extends HttpServlet
{
  public final void doGet(HttpServletRequest req,
                          HttpServletResponse res)
                          throws ServletException,IOException
  { doRequest(req, res);
  }

  public final void doPost(HttpServletRequest req,
                           HttpServletResponse res)
                           throws ServletException,IOException
  { doRequest(req, res);
  }

  private void doRequest(HttpServletRequest req,
                         HttpServletResponse res)

  { try{ res.setContentType("text/html; charset=windows-1251");
         PrintWriter out = res.getWriter();
         out.println("<html><body>");
         out.println("<h1>Hello, world !</h1>");
         out.println("</body></html>");
       } catch(Exception e) { message("Exception in error():"+e);}
  }
}

Дальше я думаю что Вам захочется обрабатывать html-формы? Так это очень просто!
Это делает код:

         String res=req.getParameter("имя параметра");

А как получить список всех параметров и "пройтись" по этому списку? Пожалуста:

 Enumeration e=req.getParameterNames();
 while(e.hasMoreElements())
 { String paramName=(String)e.nextElement();    // имя параметра
   String paramVal=req.getParameter(paramName); // значение параметра
   ...
 }