Il s'agit d'une application simple qui vise à créer un repos complet de services Web à l'aide de Tomcat et de Jersey intégrés, pour les informations de configuration, utilisez le fichier YML. Cette application utilise également le modèle JSP et Freemarker qui est rendu via l'appel API REST. Il se concentre principalement pour enregistrer l'instance d'objet sur ResourceConfig au lieu d'enregistrer la classe.
L'application crée deux chemins de contexte Tomcat. L'un pour le point final API complet de repos est /api et une autre pour la page Web est /webapp qui est directement chargé de Tomcat WebApp Base Renistory Emplacement /src/main/webapp .
File base = new File("src/main/webapp");
Context context = tomcat.addContext("/api", base.getAbsolutePath());
tomcat.addWebapp(null, "/webapp", base.getAbsolutePath());
Cette application utilise un fichier YML pour la configuration de l'application. Lisez d'abord le fichier Configuration.yml et passez la configuration à l'application.
#configuration.yml
#setting server configuration
server:
port: 9292
#configure user name
user: "eigenharsha"
ResourceConfig est une extension de la classe d'application JAX-RS, mais il fournit des méthodes d'enregistrement pour rendre les ressources et les fournisseurs d'enregistrement plus conviviaux. Cette ressource enregistrée sur l'application via l'instance de classe à l'aide public ResourceConfig register(Object component) .
JSPMVCFEURE et FREEMARKERMVCFEURE utilisés pour le modèle JSP et Freemarker, HTML / Angular / JavaScript directement chargé dans le navigateur Web.
final ResourceConfig config = new ResourceConfig()
.packages(Main.class.getPackage().getName())
.register(new Resource(new Core(), configuration)) // create instance of Resource and dynamically register
.register(JspMvcFeature.class) // register jspMVC
.register(FreemarkerMvcFeature.class) // register FreemarkerMVC
.property(ServletProperties.FILTER_FORWARD_ON_404, true);
return new ServletContainer(config);
Un tutoriel approfondi pour l'API programmatique pour la construction de ressources est disponible ici.
Ce projet nécessite Maven.
$ git clone https://github.com/eigenharsha/jersey-mvc-jsp-freemarker-with-embedded-tomcat.git
$ cd jersey-mvc-jsp-freemarker-with-embedded-tomcat
$ mvn clean install
J'ai créé un Procfile pour le déploiement sur Heroku. Un tutoriel approfondi pour le déploiement sur Heroku est disponible ici.
$ web: sh target/bin/webapp
Lorsque cette demande sera déployée, nous pourrons accéder à ces services de repos
| Ressource | Point final |
|---|---|
| Ressource créée dynamiquement invoquée | http: // localhost: 9292 / API / ressource |
| Recherchez les informations de l'utilisateur du fichier YML | http: // localhost: 9292 / api / ressource / utilisateur |
| Modèle Frearmarker | http: // localhost: 9292 / api / ressource / freemarker |
| Modèle JSP | http: // localhost: 9292 / api / ressource / jsp |
| Page html | http: // localhost: 9292 / webapp / index.html |
Questions ou suggestions? N'hésitez pas à m'envoyer un e-mail à [email protected]