Руководство по настройке и использованию JEE Webконтейнера Apache Tomcat 6 О продукте Apache Tomcat 6.0 является одним из наиболее популярных Web-серверов, реализующих спецификацию JEE 5 (Java Enterprise Edition). Он бесплатно распространяется для коммерческого и некоммерческого использования под лицензией Apache Software License с открытыми исходными кодами. Сам продукт, документацию и исходные коды можно найти на http://tomcat.apache.org. Apache Tomcat 6.0 состоит из следующих интегрированных компонентов: 1. Web Connector Coyote, реализующий протокол HTTP/1.1, с помощью которого пользователь, используя Интернет-браузер, может отправлять запросы к серверу и получать ответ. 2. Web Container Catalina реализует спецификацию Servlet API 2.5 из JEE 5. Спецификация в основном представляет собой набор Java-интерфейсов из пакета javax.servlet, реализации которых содержатся в Catalina, но программисты-пользователи этого контейнера пользуются только интерфейсами, которые не зависят от реализации. Это основной принцип построения платформы JEE и многих разделов JSE (Java Standard Edition). Servlet API является основой для всех остальных технологий Java касающихся Web и дает нам возможность динамически генерировать любой Web-контент, используя любые библиотеки, доступные для java. 3. Jasper Compiler – компилятор JSP-страниц (поддерживает спецификацию JSP 2.1). JSP страница является наиболее популярным (но не единственным) средством простого создания динамически-генерируемых HTML, XML и других документов, имеющих текстовое представление. Таким образом, Apache Tomcat предоставляет возможность делать динамические сайты от самых простых (только JSP страницы, аналогично PHP), до сложных высокопроизводительных масштабируемых систем Enterprise-уровня. Структура каталогов /bin/ - скрипты запуска, остановки и пр. /startup.bat (startup.sh) – запуск /shutdown.bat (shutdown.sh) – остановка /catalina.bat (catalina.sh) – скрипт запуска и настройки параметров (вызывается из startup.bat) /conf/ - конфигурационные файлы /server.xml – основной конфигурационный файл, тут задаются порты, коннекторы и пр. /web.xml – включается во все web.xml файлы приложений по-умолчанию /lib – библиотеки сервера, все библиотеки из этой папки доступны всем приложениям. Сюда надо класть JDBC драйвера, если подключение идет из приложения через Datasource /log – логи (протоколы) сервера. Используются для статистики, диагностики и отладки /temp – папка для временных файлов сервера и приложений /webapps – папка для приложений. Все, что здесь лежит будет развернуто и запущено при старте сервера, а так же во время его работы (hot-deploy) /ROOT – специальное имя для корневого контекста. Приложение в этой папке будет привязано к контексту “/”, т.е. доступно через http://localhost:8080/ /docs, examples, host-manager, manager, ROOT – примеры приложений, документация и административная консоль, входящие в поставку сервера. Их можно без ущерба удалить. /work – рабочая папка сервера. Сюда будут складываться скомпилированные на лету JSP файлы, сериализованные сессии пользователей (чтобы рестарт сервера не выкинул пользователей из системы) и пр. Содержимое можно (и, иногда, нужно) без ущерба удалять. Красным выделены элементы, необходимые для начала работы с сервером. Quick Start Предварительные условия: должна быть установлена Sun JDK 5 или 6 1. Скачайте архив с томкатом apache-tomcat-6.0.14.tar.gz (или новой версии) с http://tomcat.apache.org/download-60.cgi. Лучше использовать дистрибуцию core в формате zip, или tar.gzip, т.к. для разработки неудобно использовать windows service (не видно, что происходит в консоли). 2. Распакуйте архив на диск (лучше, чтобы в пути не было длинных и русских имен). 3. Установите переменную окружения JAVA_HOME на папку, где установлена JDK. Это можно сделать либо через My computer -> Properties -> Advanced -> environment variables. Либо добавив в начало /bin/catalina.bat строку: set JAVA_HOME=/path/to/jdk 4. Запустите файл /bin/start.bat. Сообщение “INFO: Server startup in 1602 ms” сообщит об успешном запуске. 5. Откройте в браузере http://localhost:8080/. Для линукса шаги ничем не отличаются, только вместо .bat файлов надо запускать .sh файлы и вместо “set JAVA_HOME=” – “export JAVA_HOME=”. Tomcat – pure java приложение, поэтому дистрибутивы для всех ОС одинаковы. Останавливать сервер можно через shutdown.bat (sh) либо просто закрывать окно (командой kill). Hello World на Томкате Предварительные условия: Tomcat должен быть установлен и запущен (во всяком случае, до обращения к нему через браузер) 1. Создайте папку hello в /webapps 2. Положите туда файл index.jsp со следующим содержимым: <html> <head> <title>Hello world</title> </head> <body> Hello world at <%=new java.util.Date()%> </body> </html> 3. Откройте http://localhost:8080/hello Обратите внимание, в JSP между <%= %> можно помещать любой Java-код, возвращающий некое значение – оно будет выведено на HTML-страницу. Между <% %> можно помещать любой java код – он просто выполнится в процессе рендеринга страницы на сервере.