При установке значения по умолчанию jsp просматривают с пружиной mvc

Я хочу установить один из jsp файлов в моей jsps папке как представление по умолчанию для приложения. Есть ли любой способ, в котором мы можем сказать <welcome-file-list> это abc.jsp потребности быть значением по умолчанию и это может быть найдено в такой и такой путь. Также шаблон URL является HTML так там способ, которым он может быть отображен в Spring MVC.

Например - Когда пользователь вводит www.example.com , Я хочу приложение к прямо к abc.jsp страница и также когда кто-то вводит www.example.com/something, даже затем приложение должно прямо к abc.jsp, но шаблон URL не должен быть поставлен под угрозу.

17
задан skaffman 25 March 2010 в 08:17
поделиться

3 ответа

Добавьте

<mvc:view-controller path="/" view-name="abc"/>

в файл конфигурации. Тогда ROOT перейдет в вид abc. Затем добавьте

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/"/>
    <property name="suffix" value=".jsp"/>
</bean>

в файл конфигурации. Это разрешит представление в /WEB-INF/view/abc.jsp.

34
ответ дан 30 November 2019 в 10:36
поделиться

Например - Когда пользователь набирает www.example.com, я хочу, чтобы приложение направляло его на страницу abc.jsp

Настройте его как в web.xml следующим образом:

<welcome-file-list>
    <welcome-file>/abc.jsp</welcome-file>
</welcome-file-list>

а также когда кто-то набирает www.example.com/something, даже тогда приложение должно направлять на abc.jsp, но шаблон url не должен быть нарушен.

Другими словами, вы хотите перенаправлять несуществующие ресурсы (которые, таким образом, приведут к ошибке HTTP 404 Page Not Found) в тот же файл? Тогда определите его как в web.xml:

<error-page>
    <error-code>404</error-code>
    <location>/abc.jsp</location>
</error-page>

Но ваш вопрос на самом деле немного двусмысленный. Если вы на самом деле не имели в виду вышесказанное и на самом деле хотите использовать /abc.jsp в качестве "контроллера страницы", тогда вам нужно определить его как в web. xml вместо этого:

<servlet>
    <servlet-name>controller</servlet-name>
    <jsp-file>/abc.jsp</jsp-file>
</servlet>
<servlet-mapping>
    <servlet-name>controller</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

и здесь не нужны)

Однако это недостаток конструкции MVC (использование представления в качестве контроллера). Но если вы действительно просите об этом...

16
ответ дан 30 November 2019 в 10:36
поделиться

Решено -

Файл в списке приветственных файлов должен быть реальным файлом, поэтому abc.htm не работал. Единственным способом было создать index.jsp и перенаправить его с помощью

<jsp:forward page="abc.html" />

Также в yourapplication-servlet.xml нужно указать связку bean, как

<bean name="/abc.html" class="package.mypack.someController">  
    <property name="commandClass" value="package.mypack..something"/>
    <property name="formView" value="abc"/>
    <property name="successView" value="abc.htm"/>
</bean>  

Welcome-файл должен быть РЕАЛЬНЫМ файлом в файловой системе, он не работает с сопоставленными урлами. Вы можете создать index.jsp, который перенаправляет на сопоставленный url, но это должен быть реальный файл. Ничего общего с Spring, в спецификации сервлетов сказано, что это должно быть именно так, хотя поведение может отличаться на разных серверах приложений, в общем, это должен быть реальный файл.

Надеюсь, это кому-нибудь поможет

2
ответ дан 30 November 2019 в 10:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: