Простой пример сервлета
Обычное приложение с сервлетами включает в себя класс, который расширяет класс 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.