Glassfish: Difference between revisions
| Line 79: | Line 79: | ||
./bin/asadmin list-sub-components --appname hello hello.ear |
./bin/asadmin list-sub-components --appname hello hello.ear |
||
</pre> |
</pre> |
||
| ⚫ | |||
==Web Application WAR== |
==Web Application WAR== |
||
===Servlet, Filter et JSP=== |
|||
| ⚫ | |||
Modifiez et re-construisez votre application en ajoutant : |
Modifiez et re-construisez votre application en ajoutant : |
||
| Line 91: | Line 93: | ||
* une Servlet [[ECOM/HelloAServlet.java|HelloAServlet.java]] (en utilisant les annotations [[JSR315]]) |
* une Servlet [[ECOM/HelloAServlet.java|HelloAServlet.java]] (en utilisant les annotations [[JSR315]]) |
||
* un [[ECOM/|Filter]] (en utilisant les annotations [[JSR315]]) |
* un [[ECOM/|Filter]] (en utilisant les annotations [[JSR315]]) |
||
Rédeployez celle-ci |
Rédeployez celle-ci |
||
<pre> |
<pre> |
||
./bin/asadmin redeploy --name hello --contextroot "hello" ../hello/target/hello-0.1.0-SNAPSHOT.war |
./bin/asadmin redeploy --name hello --contextroot "hello" ../hello/target/hello-0.1.0-SNAPSHOT.war |
||
</pre> |
</pre> |
||
Ouvrez |
Ouvrez avec votre navigateur |
||
* http://localhost:8080/hello |
* http://localhost:8080/hello |
||
* http://localhost:8080/hello/hello.jsp?name=Didier |
* http://localhost:8080/hello/hello.jsp?name=Didier |
||
* http://localhost:8080/hello/helloann?name=Didier |
* http://localhost:8080/hello/helloann?name=Didier |
||
ou avec [[cURL]] |
|||
<pre> |
|||
curl GET "http://localhost:8080/hello/hello.jsp" |
|||
</pre> |
|||
Regardez le contenu du journal du domaine. |
Regardez le contenu du journal du domaine. |
||
| Line 140: | Line 144: | ||
Utilisez curl pour interoger le service |
Utilisez curl pour interoger le service |
||
<pre> |
<pre> |
||
curl -i -X GET -H Accept:application/json 'http://localhost:8080/hello/hellorest/Didier' |
|||
</pre> |
</pre> |
||
Revision as of 05:17, 6 September 2014
Serveur d'application JavaEE open-source
Installation & Démarrage
Vérifiez la version de votre JRE : Java 7 est requis.
javac -version
Téléchargez le zip depuis https://glassfish.java.net/download.html
Lisez https://glassfish.java.net/getstarted.html
unzip glassfish-4.0-ml.zip cd glassfish4 ./bin/asadmin ./bin/asadmin start-domain
Ouvrez la console Web http://localhost:4848
IMPORTANT : Sécurisez votre console d'administration qui n'est pas sécurisé par défaut : https://glassfish.java.net/docs/4.0/security-guide.pdf
Installez le plugin Glassfish dans votre IDE : https://glassfish.java.net/ide.html
Créez une application simple Hello avec Maven
cd ..
mvn -DarchetypeGroupId=org.codehaus.mojo.archetypes \
-DarchetypeArtifactId=webapp-javaee7 \
-DarchetypeVersion=0.4-SNAPSHOT \
-DarchetypeRepository=https://nexus.codehaus.org/content/repositories/snapshots/ \
-DgroupId=fr.polytech-grenoble.ricm.ecom \
-DartifactId=hello \
-Dversion=0.1.0-SNAPSHOT \
-Dpackage=ecom \
-Darchetype.interactive=false \
--batch-mode \
--update-snapshots \
archetype:generate
Remarque: il y a d'autres archetypeArtifactId disponibles
cd hello mvn clean package
Remarque : il est possible de déployer l'artefact à l'issue du packaging en modifiant le pom.xml au préalable.
mvn clean package glassfish:deploy
Déploiement
Vous pouvez déployer votre application (ejbjar, war, ear) via la console ou bien via la ligne de commande suivante
./bin/asadmin list-applications ./bin/asadmin deploy --name hello ../hello/target/hello-0.1.0-SNAPSHOT.war ./bin/asadmin list-applications ./bin/asadmin list-applications --type war ./bin/asadmin list-sub-components --appname hello hello.ear
Ouvrez http://localhost:8080/hello-0.1.0-SNAPSHOT/
Web Application WAR
Servlet, Filter et JSP
Modifiez et re-construisez votre application en ajoutant :
- un JSP hello.jsp
- une Servlet HelloServlet.java
- une Servlet WebSocket
- une Servlet asynchrone (en utilisant les annotations JSR315)
- une Servlet HelloAServlet.java (en utilisant les annotations JSR315)
- un Filter (en utilisant les annotations JSR315)
Rédeployez celle-ci
./bin/asadmin redeploy --name hello --contextroot "hello" ../hello/target/hello-0.1.0-SNAPSHOT.war
Ouvrez avec votre navigateur
- http://localhost:8080/hello
- http://localhost:8080/hello/hello.jsp?name=Didier
- http://localhost:8080/hello/helloann?name=Didier
ou avec cURL
curl GET "http://localhost:8080/hello/hello.jsp"
Regardez le contenu du journal du domaine.
tail glassfish/domains/domain1/logs/server.log
Web Service
Modifiez et r-construisez votre application en ajoutant :
- un Web Service HelloWS.java
- un client Web Service HelloWSClient.java
Redéployez
Ouvrez
Générez une application client pour le WebService
cd .. mkdir hellowsclient cd hellowsclient wsimport -keep -p fr.polytechgrenoble.ricm.ecom.ws.client http://localhost:8080/hello/HelloWSService?wsdl
Utilisez le plugin Maven wsimport dans le pom.xml du projet.
RESTFul Service
Modifiez et r-construisez votre application en ajoutant :
- un RESTful Service HelloREST.java
Redéployez
Utilisez curl pour interoger le service
curl -i -X GET -H Accept:application/json 'http://localhost:8080/hello/hellorest/Didier'
Undeploy
./bin/asadamin undeploy hello
Arrêt
IMPORTANT : pensez à arrêter votre serveur et la VM sur lequel il s'exécute quand vous utilisez une plateforme Cloud.
./bin/asadamin stop-domain domain1
Complément
VisualVM
Lancez la console VisualVM. Installez le plugin pour Glassfish (Tools > Plugins > Available Plugins). Relancez la console VisualVM Connectez vous au serveur en utilisant la console VisualVM.
jvisualvm &
OSGi Felix
Accès aux commandes du Gogo Shell de Felix
./bin/asadmin osgi lb -l
Lire http://docs.oracle.com/cd/E26576_01/doc.312/e24928/overview.htm#gjjxt