Esta es una aplicación simple que tiene como objetivo crear un servicio web REST completo utilizando Tomcat y Jersey integrados, para la información de configuración, use el archivo YML. Esta aplicación también utiliza la plantilla JSP y Freemarker que se representa a través de la llamada API REST. Se centra principalmente en registrar la instancia de objeto a ResourceConfig en lugar de registrar la clase.
La aplicación crea dos rutas de contexto Tomcat. Uno para el punto final de API completo es /api y otro para la página web es /webapp que se carga directamente desde Tomcat WebApp Base Directory Ubicación /src/main/webapp .
File base = new File("src/main/webapp");
Context context = tomcat.addContext("/api", base.getAbsolutePath());
tomcat.addWebapp(null, "/webapp", base.getAbsolutePath());
Esta aplicación utiliza un archivo YML para la configuración de la aplicación. Primero lea el archivo Configuration.yml y pase la configuración a la aplicación.
#configuration.yml
#setting server configuration
server:
port: 9292
#configure user name
user: "eigenharsha"
ResourCeConFig es una extensión de la clase de aplicación JAX-RS, pero proporciona algunos métodos de registro para que los recursos de registro y los proveedores sean más amigables. Este recurso registrado de aplicaciones a través de la instancia de clase utilizando public ResourceConfig register(Object component) .
JSPMVCFeature y FreemarkermvCFeature utilizados para JSP y plantilla de marca freemar, HTML/Angular/JavaScript cargado directamente en el navegador 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);
Aquí está disponible un tutorial en profundidad para la API programática para la construcción de recursos.
Este proyecto requiere 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
Creé un Procfile para desplegar en Heroku. Un tutorial en profundidad para desplegar en Heroku está disponible aquí.
$ web: sh target/bin/webapp
Cuando se implementa esta aplicación, podremos acceder a estos servicios de descanso
| Recurso | Punto final |
|---|---|
| Recurso creado dinámicamente invocado | http: // localhost: 9292/API/recurso |
| Obtener información del usuario del archivo YML | http: // localhost: 9292/api/recurse/user |
| Plantilla de marca libre | http: // localhost: 9292/api/recurse/freemarker |
| Plantilla JSP | http: // localhost: 9292/api/recurse/jsp |
| Página HTML | http: // localhost: 9292/webapp/index.html |
Preguntas o sugerencias? No dude en enviarme un correo electrónico a [email protected]