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

- Tomcat version — vyberte verzi nainstalovaného Tomcatu
- Tomcat home — vyberte adresář Tomcatu
Window >> Preferences >> Tomcat >> Tomcat Manager App

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

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


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”.

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ě
- Seriál o JSP — JavaServer Pages pro všechny
- Seriál o Servletech — Java Servlets
Verze na Medium · Archiv původní stránky
Související články
Související epizody CZ Podcastu
- #3 · Java 6 SE, Vývoj webových aplikací
Dagi a Filemon o novinkách v Javě 6 a webových frameworcích.
- #1 · Vývojová prostředí v Javě
První díl CZ Podcastu se věnuje vývojovým prostředím pro Javu.