Развертывание Spring MVC на сервере Oracle WebLogic Server
1. Цель статьи
В данной статье я покажу вам как развернуть приложение Spring MVC на Oracle WebLogic Server. Статья основана на:
Spring MVC 4.x
Oracle WebLogic Server 12c (12.2.1.1.0).
Удостоверьтесь, что вы уже скачали WebLogic Server, если еще не установили вы можете посмотреть инструкцию по ссылке:
В данной статье я упакую приложение Spring MVC, написанное в Eclipse и разверну его на WebLogic Server.
Заметьте, если вы разворачиваете Spring MVC на других серверах, таких как Tomcat, Glassfish вам не нужно ничего менять на вашем исходном коде. Но если разворачиваете на WebLogic вам нужно добавить некоторые файлы конфигурации к исходному коду перед упаковкой.
Я разверну приложение "Hello World Spring MVC" на WebLogic. Вы можете посмотреть приложение по ссылке:
Или скачать исходный код (Source Code):
2. Добавить конфигурацию в Project
Это изображение Project после завершения:
Добавить weblogic.xml в WEB-INF. В файле weblogic.xml вам нужно конфигурировать contextPath (context-root) для приложения. Здесь я установил /springmvc. Вы можете установить как / если хотите использовать пустой contextPath.
/WEB-INF/weblogic.xml
<?xml version='1.0' encoding='UTF-8'?>
<weblogic-web-app>
<context-root>/springmvc</context-root>
<container-descriptor>
<show-archived-real-path-enabled>true</show-archived-real-path-enabled>
</container-descriptor>
</weblogic-web-app>
4. Развернуть на Weblogic
Примечание: если вы получаете ошибку в одном из шаге при развертывании, посмотрите аппендикс в конце статьи.
Ваше приложение развернуто на WebLogic, и имеет состояние"prepared" (Подготовлен). Вам нужно сделать еще один шаг чтобы активировать его.
Еще раз раблокировать для редактирования:
Start apps:
Ваше приложение успешно активировано.
Test apps:
5. Отменить развертывание
В случае, если вы хотите еще раз развернуть, или отменить развертывание (undeloy) для начала вам нужно остановить (stop) приложение.
6. Некоторые ошибки при развертывании
Если вы получаете ошибку при развертывании на WebLogic вы получаете ошибку как в изображении ниже:
java.io.FileNotFoundException:
Could not open ServletContext resource [/WEB-INF/SpringDispatcher-servlet.xml]
Причиной ошибки является то, что ваш project Spring MVC использует Annotation для конфигурации (Не использует XML), но приложение все равно читает конфигурацию из файла XML (SpringDispatcher-servlet.xml), этот файл не существует на вашем Project.
Вам нужно конфигурировать на SpringWebAppInitializer, чтобы удостовериться, что приложение не найдет файл для чтения файлов XML выше.
Вам нужно конфигурировать на SpringWebAppInitializer, чтобы удостовериться, что приложение не найдет файл для чтения файлов XML выше.
// Add code:
dispatcher.setInitParameter("contextClass", appContext.getClass().getName());
servletContext.addListener(new ContextLoaderListener(appContext));
Смотреть полный код:
SpringWebAppInitializer.java
package org.o7planning.hellospringmvc.config;
import javax.servlet.FilterRegistration;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;
import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.ContextLoaderListener;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.filter.CharacterEncodingFilter;
import org.springframework.web.servlet.DispatcherServlet;
public class SpringWebAppInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext appContext = new AnnotationConfigWebApplicationContext();
appContext.register(ApplicationContextConfig.class);
// Dispatcher Servlet
ServletRegistration.Dynamic dispatcher = servletContext.addServlet("SpringDispatcher",
new DispatcherServlet(appContext));
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/");
// IMPORTANT!!
dispatcher.setInitParameter("contextClass", appContext.getClass().getName());
// IMPORTANT!!
servletContext.addListener(new ContextLoaderListener(appContext));
// UTF8 Charactor Filter.
FilterRegistration.Dynamic fr = servletContext.addFilter("encodingFilter", CharacterEncodingFilter.class);
fr.setInitParameter("encoding", "UTF-8");
fr.setInitParameter("forceEncoding", "true");
fr.addMappingForUrlPatterns(null, true, "/*");
}
// .........
}
Pуководства Java Application Servers
- Установите Tomcat Server для Eclipse
- Установить Tomcat Server
- Установите Glassfish Web Server в Windows
- Установить Oracle WebLogic Server
- Как создать WindowsService для Oracle WebLogic Server?
- Разверните приложение Spring Boot на Tomcat Server
- Развертывание приложения Spring Boot на Oracle WebLogic Server
- Развертывание Spring MVC на сервере Oracle WebLogic Server
- Установить сертификат SSL для сервера Tomcat
- Установите бесплатный SSL-сертификат Let's Encrypt для Tomcat Server в Ubuntu
Show More
Руководства Spring MVC
- Руководство Spring для начинающих
- Установите Spring Tool Suite для Eclipse
- Руководство Spring MVC для начинающих
- Настроить статические ресурсы в Spring MVC
- Руководство Spring MVC Interceptor
- Создание многоязычного веб-приложения с использованием Spring MVC
- Руководство Spring MVC File Upload/Download
- Простой веб-приложение Java с использованием Spring MVC, Spring Security и Spring JDBC
- Социальный вход в Spring MVC с Spring Social Security
- Руководство Spring MVC и FreeMarker
- Используйте Template в Spring MVC с Apache Tiles
- Используйте несколько DataSources в Spring MVC
- Руководство Spring MVC Form и Hibernate
- Запускать фоновые запланированные задачи в Spring
- Создание Java Корзина веб-приложения с использованием Spring MVC и Hibernate
- Простой пример CRUD с Spring MVC RESTful Web Service
- Развертывание Spring MVC на сервере Oracle WebLogic Server
Show More