Это простое приложение, которое направлено на создание полных веб -сервисов REST с использованием Embedded Tomcat и Jersey, для информации о конфигурации используйте файл YML. В этом приложении также используется шаблон JSP и Freemarker, который выполняется с помощью вызова API REST. В основном он фокусируется, чтобы зарегистрировать экземпляр объекта в ResourceConfig а не регистрировать класс.
Приложение создает два контекста Tomcat. Один для REST Full API Конечная точка - /api , а другая для веб -страницы - /webapp , который напрямую загружается из базового каталога WebApp Tomcat /src/main/webapp .
File base = new File("src/main/webapp");
Context context = tomcat.addContext("/api", base.getAbsolutePath());
tomcat.addWebapp(null, "/webapp", base.getAbsolutePath());
Это приложение использует файл YML для конфигурации приложения. Сначала чтение configuration.yml файл и передайте конфигурацию приложению.
#configuration.yml
#setting server configuration
server:
port: 9292
#configure user name
user: "eigenharsha"
ResourceConfig-это расширение класса приложений JAX-RS, но он предоставляет некоторые методы регистрации для регистрации ресурсов и поставщиков более дружественными. Этот зарегистрированный ресурс приложения через экземпляр класса с использованием public ResourceConfig register(Object component) .
Jspmvcfeature и freemarkermvcfeature, используемые для шаблона JSP и Freemarker, HTML/Angular/Javascript, непосредственно загруженный в веб -браузер.
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);
Здесь доступно углубленное руководство для программного API для строительных ресурсов.
Этот проект требует 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
Я создал Procfile для развертывания на Heroku. Здесь доступно углубленное руководство для развертывания на Heroku.
$ web: sh target/bin/webapp
Когда это приложение будет развернуто, мы сможем получить доступ к этим услугам REST
| Ресурс | Конечная точка |
|---|---|
| Динамически созданный ресурс вызван | http: // localhost: 9292/api/resource |
| Получить информацию пользователя из файла YML | http: // localhost: 9292/api/resource/user |
| Шаблон Freemarker | http: // localhost: 9292/api/resource/freemarker |
| Шаблон JSP | http: // localhost: 9292/api/resource/jsp |
| HTML -страница | http: // localhost: 9292/webapp/index.html |
Вопросы или предложения? Пожалуйста, не стесняйтесь написать мне по электронной почте по адресу [email protected]