Создание приложений на Java с помощью Servlets. Java

Пример сервлета включает сам сервлет HelloWorld.java и дескриптор приложения web.xml. Сервлет позволяет формировать страницу ответа с использованием кириллицы. Структура примера сервлета в IDE Eclipse представлена на следующем скриншоте.

Листинг примера сервлета HelloWorld.java

Приведенный ниже код реализует простой сервлет HelloWorld.java , возвращающий статическую HTML-страницу браузеру. В примере сервлет наследует свойства HttpServlet, реализующего интерфейс Servlet .

Import java.io.IOException; import java.io.OutputStream; import javax.servlet.ServletConfig; import javax.servlet.http.HttpServlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HelloWorld extends HttpServlet { private ServletConfig config; @Override public void init (ServletConfig config) throws ServletException { this.config = config; } @Override public void destroy() {} @Override public ServletConfig getServletConfig() { return config; } @Override public String getServletInfo() { return "A Simple Servlet"; } public void service (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); String text = " " + "" + " " + "Пример сервлета!" + "" + "" + "

Здравствуй, %s %s!

" + ""; text = String.format(text, config.getInitParameter("name"), config.getInitParameter("mname")); OutputStream outStream = response.getOutputStream(); outStream.write(text.getBytes("UTF-8")); outStream.flush(); outStream.close(); } }

При обращении к сервлету вызывается метод service , который формирует страницу ответа и передает ее в браузер через HttpServletResponse. В первых строках ответа сервера определен заголовок Content-Type с указанием кодировки UTF-8. Дополнительно в шаблон ответа подставляются имя и отчество, получаемые из дескриптора приложения web.xml. То есть, выполняется чтение параметров конфигурации сервлета.

Для того, чтобы можно было бы возвращать страницу с кириллицей, используется OutputStream . В выходной поток можно вывести любую информацию (в нашем примере - простой HTML-код).

Листинг дескриптора приложения web.xml

Servlet Hello World hello example.HelloWorld name Остап mname Ибрагимович hello /hello

В дискрипторе приложения web.xml определяются параметры сервлета (наименование servlet-name и класс servlet-class) и параметры инициализации (имя name, отчество mname). Данные параметры сервлет читает с использованием ServletConfig .

Для запуска примера сервлета из среды IDE Eclipse необходимо стартовать сервер приложений и в адресной строке браузера ввести следующую строку:

Http://localhost:8080/ServletHello/hello

Браузер отобразит нам приветствие с указанием основного героя произведений Ильфа и Петрова.


Для отдельной компиляции сервлета можно использовать командный файл, текст которого для Windows может иметь следующий вид.

SET TOMCAT_LIB="C:\Program Files\Apache Software Foundation\Tomcat\common\lib" SET JAVA_SDK=C:\Java\Sun\SDK\jdk\bin\ %JAVA_SDK%javac -classpath %TOMCAT_LIB%\servlet-api.jar *.java

После компиляции сервлет HelloWorld.class необходимо разместить в директории WEB-INF/classes/ WEB-приложения на сервере Tomcat и зарегистрировать в дескрипторе поставки web.xml .

Скачать пример

Исходный код примера сервлета, рассмотренного в тексте страницы, можно (191 Кб).

Пример сервлета с использованием графической библиотеки Chart.js для динамического формирования страницы с диаграммами можно посмотреть .

Одной из самых приятных особенностей Java является её многогранная природа. Конечно, создание традиционных десктопных и даже мобильных приложений - это здорово. Но что, если вы хотите уйти с проторенных дорожек и зайти на территорию разработки web приложений на Java? Для вас есть хорошая новость: в комплекте с языком идёт полноценный Servlet API, который позволяет вам создавать надёжные веб-приложения без особых хлопот.

Создание приложений на Java с помощью Servlets

Итак, мы уже создали конфигурационные файлы приложения. Однако в текущем состоянии оно буквально ничего не делает. Мы хотим, чтобы клиенты могли регистрироваться с помощью HTML-формы, поэтому следующее, что нам нужно сделать, - это создать JSP-файлы, которые будут отображать вышеупомянутую форму и данные клиента после успешного завершения регистрации. Этим мы сейчас и займёмся.

Работаем над внешним видом

Внешний вид приложения будет определяться двумя JSP-файлами - в контексте MVC они называются представлениями. Первый будет отвечать за отображение формы регистрации и возможных ошибок, вызванных после проверки введённых данных. Второй будет обычной страницей приветствия, в которой будут показаны данные, введённые клиентом, после успешного завершения процесса регистрации.

Вот первый JSP-файл:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> Регистрация

Регистрация

${violation}.

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то