Este é um aplicativo simples que tem como objetivo criar um serviço Web completo usando o TomCat e Jersey incorporados, para informações de configuração, use o arquivo YML. Este aplicativo também usa o modelo JSP e Freemarker que é renderizado através da chamada da API REST. Ele se concentra principalmente para registrar a instância do objeto no ResourceConfig em vez de registrar a classe.
O aplicativo cria dois caminho de contexto de tomcat. Um para o ponto final da API Full API IS /api e outro para a página da web é /webapp que é carregado diretamente do Localização do diretório base do TomCat WebApp /src/main/webapp .
File base = new File("src/main/webapp");
Context context = tomcat.addContext("/api", base.getAbsolutePath());
tomcat.addWebapp(null, "/webapp", base.getAbsolutePath());
Este aplicativo usa um arquivo YML para configuração do aplicativo. Primeiro, leia o arquivo Configuration.yml e passe a configuração para o aplicativo.
#configuration.yml
#setting server configuration
server:
port: 9292
#configure user name
user: "eigenharsha"
O ResourceConfig é uma extensão da classe de aplicativos JAX-RS, mas fornece alguns métodos de registro para tornar os recursos e fornecedores de registro mais amigáveis. Este recurso registrado na ApplCiation através da instância da classe usando public ResourceConfig register(Object component) .
JSPMVCFeature e FreemarkermVCFeature Usado para JSP e modelo Freemarker, HTML/Angular/JavaScript diretamente carregado no navegador da 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);
Um tutorial aprofundado para API programática para a construção de recursos está disponível aqui.
Este projeto requer 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
Criei um Procfile para implantar no Heroku. Um tutorial aprofundado para implantar no Heroku está disponível aqui.
$ web: sh target/bin/webapp
Quando este aplicativo for implantado, poderemos acessar este serviço de repouso
| Recurso | Endpoint |
|---|---|
| Recurso criado dinamicamente invocado | http: // localhost: 9292/API/Resource |
| Buscar informações do usuário do arquivo YML | http: // localhost: 9292/API/Resource/User |
| Modelo Freemarker | http: // localhost: 9292/API/Resource/Freemarker |
| Modelo JSP | http: // localhost: 9292/API/Resource/JSP |
| Página HTML | http: // localhost: 9292/webapp/index.html |
Perguntas ou sugestões? Por favor, não hesite em me enviar um e -mail para [email protected]