6e1bb17f

Простой пример сервлета


Обычное приложение с сервлетами включает в себя класс, который расширяет класс HttpServlet и реализует методы, необходимые для обработки различных типов запросов, адресованных приложению. В простом примере, показанном в листинге 3.2, сервлет должен отвечать только на запросы методом GET, поэтому в нем реализован только метод doGET. Обратите внимание, что ответ записывается в объект PrintWriter с именем out, который получен из объекта HttpServletResponse.

Листинг 3.2. Простой сервлет, обрабатывающий запрос GET (DateDemo.java)

import java.io.*;

import java.util.* ;

import javax.servlet.*;

import javax.servlet.http.*;

public class DateDemo extends HttpServlet

{

public void doGet(HttpServletRequest req,

HttpServletResponse resp)

throws ServletException, IOException

{

resp.setContentType("text/html");

PrintWriter out = resp.getWriter();

String username = req.getParameter("uname");

if( username == null ) username = "unknown person" ;

out.println("<HTML>");

out.println("<HEAD><TITLE>Date Demo</TITLE></HEAD>");

out.println("<BODY>");

out.println("Hello " + username + "<br>");

out.println("Date and time now: " + new Date().toString() + "<br>");

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

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

out.close();

}

}

В этом примере метод doGet пытается отыскать параметр с именем uname в объекте HttpServl etRequest, чтобы использовать его в ответе. Заметим также, что в сервлете задействован метод setContentType, для того чтобы установить тип содержимого ответа как text/htral.



Содержание раздела