pátek 4. listopadu 2005

...a kam dál kráčet

Mohl bych prosim znat Vas nazor(p. Pichliku) nebo ostatnich, co bych teto dobe a v me situaci(znalost J2SE) po nauceni jsp stranek se mel ucit dal. Je mi jasne, ze nejlepsi je umet vse a zalezi na konkretnim ukolu a zvoleni vhodne technologie, ale presto musi byt technologie "lepsi" a "horsi". Neberte to prosim nekdo jako neco k nastartovani flame, je to jen zvidavost zacatecnika v teto oblasti. Jinak jsem si stahl snad vse mozne z intervalu co se tyka J2EE, ale presto bych rad znal vas nazor.

Na škole byla jedna informace, která se mi zaryla někam hluboko do paměti. Možná se vám to bude zdát divné, ale bylo to motto Znalosti mají smysl právě a jedině současně s jejich používáním., jehož autorem je Friedrich von Hayek. Jinými slovy, nemá cenu se učit něco, co vůbec nebudete používat.

Velice se zdráhám vyslovovat příkré soudy o tom co je lepší a co horší, když neznám přesnou situaci, pro kterou se hledá technické řešení. V poslední době hraje a bude hrát prim několik technologií nebo lépe řečeno přístupů. Alespoň tak to vidím já.

1.)AJAX a RIA

AJAX a RIA obecně jako směr pro tvorbu další generace webových aplikací.

2.)j2ee lightweight kontejnery

J2EE lightweight kontejnery jako RIFE a nebo Spring (Spring Framework - představení J2EE lightweight kontejneru) hrají a budou hrát prim a vytlačí EJB na okraj. Nebo donutí EJB k radikální proměně, kde změny chystané v EJB 3.0 budou pouhým odvarkem toho co bude muset přijít.

3.)Komponentně a událostně orientované frameworky

Výrazný nástup komponentně a událostně orientovaných frameworků pro tvorbu view vrstvy. A to postavených na standardizovaném JSF a nebo proprietarních řešení jako Tapestry, Wicket či Shale.

4.)Continuations

Využití continuations k tvorbě webových aplikací

5.)Obecný posun platformy Java

Java jako platforma je zdravá, silná a stabilní. V blízké budoucnosti se budou hledat cesty jak platformu rozšířit k zefektivnění vývoje a to především s ohledem na vysokou produktivitu. Vizionářsky pohled nabízí jinší kanón než já a to Bruce A. Tate v knize Beyond Java, ke které publikoval článek Technologies to Watch: A Look at Four That May Challenge Java’s Development Dominance (diskuse TSS). Zaklínadlem se tak jisto jistě stává Ruby on Rails - What Is Ruby on Rails.

středa 2. listopadu 2005

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


Plná velikost (cca. 16KB)

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

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


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

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ě