dagblog.
← Archiv

Minitutoriál: Eclipse, Tomcat a vývoj JSP a Servletu


Hodně často v diskusních skupinách javy zaznívá otázka, jak vyvíjet JSP a Servlety v IDE Eclipse. IDE Eclipse nemá přímou vestavěnou podporu pro JSP, Servlety nebo nasazení (deploying) do prostředí servletového kontejneru. K tomuto účelu je zapotřebí použít některý z plug-inu.

Protože jsem se rozhodl napsat tento příspěvek pro začínající vývojáře, použijeme plug-in Sysdeo Eclipse Tomcat Launcher plugin. To předpokládá, že je již nainstalovaný servletový kontejner Tomcat.

Konfigurace Sysdeo Eclipse Tomcat Launcher pluginu

Po nainstalování Sysdeo Eclipse Tomcat Launcher pluginu je potřeba jej 
 nakonfigurovat.

Window >> Preferences >> Tomcat

Nastavení zásuvného modulu Sysdeo Tomcat v Eclipse
Obrázek se nepodařilo načíst. Nastavení zásuvného modulu Sysdeo Tomcat v Eclipse
↗ Medium

Plná velikost (cca. 16KB)

  • Tomcat version — vyberte verzi nainstalovaného Tomcatu
  • Tomcat home — vyberte adresář Tomcatu

Window >> Preferences >> Tomcat >> Tomcat Manager App

Nastavení Tomcat Manager App v Eclipse
Obrázek se nepodařilo načíst. Nastavení Tomcat Manager App v Eclipse
↗ Medium

Plná velikost (cca. 16KB)

Tomcat Manager App je správcovská webová aplikace, která umožňuje administraci aplikací, které na Tomcatu běží. Například je pomocí ní možné reloadovat jednotlivé aplikace bez nutnosti restartu celého Tomcatu.

Pokud používáte Tocmat 5.x je ManagerApp url ve tvaru http://server:port/manager. Zvolte si ManagerApp username a ManagerApp username a klikněte na tlačítko Add user to tomcat-users.xml.

Nový projekt

Nejdříve musíme vytvořit nový projekt a k tomu použijeme projektového wizarda, který přibyl po instalaci Sysdeo Eclipse Tomcat Launcher pluginu.

File >> New Project >> Java >> Tomcat Project

Průvodce novým projektem Tomcat v Eclipse
Obrázek se nepodařilo načíst. Průvodce novým projektem Tomcat v Eclipse
↗ Medium

Zvolíme jméno projektu, případně adresář kam chceme projekt uložit.

Nastavení jména nového projektu Tomcat
Obrázek se nepodařilo načíst. Nastavení jména nového projektu Tomcat
↗ Medium
Nastavení kontextu projektu Tomcat
Obrázek se nepodařilo načíst. Nastavení kontextu projektu Tomcat
↗ Medium

Context name představuje kontextové jméno aplikace v rámci kontejneru. Kontextové jméno odpovídá kontextové části URL. Příklad: pokud tam stejně jako já zapíšete hodnotu test, bude URL vždy začínat http://server:port/test/*.

Tímto máme projekt připravený. Nyní si vytvoříme jednu testovací JSP 
stránku index.jsp, kterou umístíme přímo v rootu projektu.


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="Content-Type" content="text/html;  
charset=UTF-8">
  <title>Hello world</title>
 </head>
 <body>
   Hello world
 </body>
</html>
A jeden servlet, který umístíme do WEB-INF/src/test.

package test;

import java.io.IOException;

import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

public class HelloServlet extends HttpServlet { protected void doGet(HttpServletRequest req, HttpServletResponse
res) throws ServletException, IOException { res.getWriter().print(“<html><body><p>Hello servlet world</p></body></html>”); } }

Pro namapování servletu na konkrétní URL vytvoříme soubor web.xml, který umístíme do adresáře WEB-INF.

<?xml version=“1.0” encoding=“UTF-8”?>
<!DOCTYPE web-app PUBLIC ’-//Sun Microsystems, Inc.//DTD Web
Application 2.3//EN’ ‘http://java.sun.com/dtd/web-app_2_3.dtd’> <web-app> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>test.HelloServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/helloservlet</url-pattern> </servlet-mapping> </web-app>
Nyní je vše připraveno, nemusíme dělat žádný deploy aplikace. Stačí pouze nastartovat Tomcat. Můžeme to udělat např. z toolbaru IDE, kde máme tři nové ikonky pro ovládání “kocoura”.
Struktura vytvořeného projektu Tomcat
Obrázek se nepodařilo načíst. Struktura vytvořeného projektu Tomcat
↗ Medium
Po spuštění, mělo by být doprovázeno výpisy do konzole v IDE, otestujeme funkčnost v prohlížeči zadáním URL http://localhost:8080/test/index.jsp a http://localhost:8080/test/helloservlet.
Několik užitečných funkcí nalezneme v kontextové nabídce, když klikneme pravým tlačítkem na projekt a zvolíme Tomcat project. Tou nejužitečnější bude volba reload context, kterou použijeme v případě změny v zdrojovém kódu (netýká se JSP ty jsou rekompilovány automaticky).
Sysdeo Eclipse Tomcat Launcher plugin pouští Tomcat v debug módu, což znamená, že můžete debugovat tak jak jste z Eclipse zvyklí. Funguje i hot code replace. Plugin můžeme v některých případech použít i pro projekt, který nebyl původně vytvořen jako Tomcat Project viz project properties >> Tomcat.
Download testovacího projektu
Užitečné odkazy v češtině

Verze na Medium · Archiv původní stránky

Související články

Související epizody CZ Podcastu