Pour créer une Web application avec Jetty, il faut créer un projet Java classique, et y intégrer les dépendances nécessaires pour qu'il puisse tourner dans le container de servlets Jetty. Dans ce document, la procédure indiquée utilise Maven (version >= 3). Vous devez donc avoir Maven installé et un repository local configuré sur votre machine.
Les différentes étapes de création d'un projet sont détaillées, mais vous pouvez "prendre le train en marche" et récupérer le projet Maven terminé pour le compiler et le faire tourner en local.
Création d’un projet Maven Webapp :
mvn archetype:create
-DgroupId=<monGroupId>
-DartifactId=<monArtifactId>
-DarchetypeArtifactId=maven-archetype-webapp
Générez le .war avec la commande mvn install. Vous trouverez le fichier .war (que vous pouvez par exemple recopier dans le répertoire webapp de Tomcat) dans le répertoire target de votre application. Testez le déploiement pour vérifier que votre archive est consistante et que vous pouvez accéder à la page d'accueil.
Éditez le pom.xml de votre application et rajoutez les dépendances ci-dessous dans l'élément dependencies :
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>8.1.10.v20130312</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-websocket</artifactId>
<version>8.1.10.v20130312</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
Rajoutez le plugin ci-dessous dans l'élément build :
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.10.v20130312</version>
<configuration>
<webAppConfig>
<contextPath>/VotreContextPath</contextPath>
</webAppConfig>
</configuration>
</plugin>
</plugins>
en remplaçant "VotreContextPath" par le chemin de votre application sur le serveur.
Refaites un mvn clean install, suivi d'un mvn jetty:run et testez le fonctionnement de Jetty et le déploiement de votre application.
Vous allez maintenant rajouter du code Java dans votre application. Pour cela, commencez par créer un répertoire "java" dans src/main. Vous pouvez y créer des répertoires package et des fichiers Java. Si vous créez des servlets, veillez à utiliser l'API servlet version 3.0 (avec es annotations) ou à modifier le fichier src/main/webapp/WEB-INF/web.xml en conséquence. À partir de cette étape, vous devez pouvoir utiliser un IDE...
Dans le cas du chat, il faut rajouter une servlet (WebSocketChatServlet) et une classe (ChatWebSocket) dont le code est donné ici : http://java.dzone.com/articles/creating-websocket-chat. Modifiez également la page d'accueil pour y inclure l'interface et les fonctions JavaScript. Faites tourner.
Autre possibilité : récupérez le projet Maven préconfiguré disponible ici, compilez-le et faites-le tourner.