Как определить и в web-файле без сервлета 3.0?

У меня есть существующее веб-приложение, которое я хочу преобразовать в web.xml-less из 3.0 сервлета. Мне удалось заставить его работать, однако в web.xml есть 2 тега, которые я до сих пор не знаю эквивалентного кода в среде web.xml-less.

 /index.jsp   404 /pageNotFound  

Любая помощь приветствуется

В Servlets 3.0 вам не нужен web.xml для многих случаев, однако иногда это требуется или просто полезно. Ваш случай – всего лишь один из них – нет специальных аннотаций для определения списка приветственных файлов или страниц ошибок.

Другое дело – хотите ли вы, чтобы они были жестко закодированы? Существуют некоторые допустимые варианты использования для annotations / программной конфигурации и для декларативной конфигурации в XML. Переход на Servlets 3.0 не обязательно означает избавление от web.xml любой ценой.

Я бы нашел записи, которые вы опубликовали, лучший пример конфигурации в XML. Во-первых – их можно изменить с развертывания на развертывание, а во-вторых – они влияют на все приложение, а не на какой-либо конкретный сервлет.

Для аналогового приветствия-списка введите это в

 @EnableWebMvc @Configuration @ComponentScan("com.springapp.mvc") public class MvcConfig extends WebMvcConfigurerAdapter { ... @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/*.html").addResourceLocations("/WEB-INF/pages/"); } @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/").setViewName("forward:/index.html"); } ... } 

В Spring Boot или общем приложении Spring MVC для следующего сценария:

Статические файлы могут обслуживаться из мест, зарегистрированных с помощью специального ResourceHandlerRegistry. У нас есть статический ресурс index.html, и он доступен на localhost: 8080 / index.html . Мы хотим просто перенаправить localhost: 8080 / request to localhost: 8080 / index.html , следующий код может быть использован.

 package in.geekmj.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; @Configuration @EnableWebMvc public class WebConfiguration extends WebMvcConfigurerAdapter { private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { "classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/" }; @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**").addResourceLocations(CLASSPATH_RESOURCE_LOCATIONS); } @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addRedirectViewController("/", "/index.html"); } } 

Теперь доступ к localhost: 8080 / будет перенаправлен на localhost: 8080 / index.html

  • @WebServlet аннотация с Tomcat 7
  • Остановить запланированный таймер при выключении tomcat
  • Как исправить: «Не найдено подходящего драйвера для ошибки jdbc: mysql: // localhost / dbname» при использовании пулов?
  • Tomcat 7 и JSTL
  • org.apache.tomcat.util.bcel.classfile.ClassFormatException: недопустимый тег байта в постоянном пуле: 15 - Tomcat 7, JDK incompatibilty?
  • Interesting Posts

    Автоматическая упаковка меток с помощью labeller = label_wrap в ggplot2

    Android – преобразовать classы с Dex для отладки

    Есть ли с_fileglob, который работает удаленно в недоступном?

    Почему я не могу подключиться к беспроводной сети на ubuntu, но Mac в порядке?

    Разница между свойством и полем в C # 3.0+

    Слияние двух файлов PDF, содержащих четные и нечетные страницы книги

    Как увеличить размер стека Java?

    Рекомендации по использованию интерфейса Java. Неужели получатели и сеттеры в интерфейсе плохо?

    Свободные интерфейсы – Цепочка метода

    Разархивируйте memystream (Содержит zip-файл) и получите файлы

    Почему обновление привязки не реализует INotifyPropertyChanged?

    Зашифрованы ли URL HTTPS?

    Как настроить встроенный Tomcat, интегрированный с Spring, для прослушивания запросов на IP-адрес, кроме localhost?

    Необходимо усечь переменную% username% в Windows 7 до семи символов

    Обновления, нарушающие Windows Embedded Standard 7 в DISM

    Давайте будем гением компьютера.