Я хочу установить один из jsp файлов в моей jsps папке как представление по умолчанию для приложения. Есть ли любой способ, в котором мы можем сказать <welcome-file-list>
это abc.jsp
потребности быть значением по умолчанию и это может быть найдено в такой и такой путь. Также шаблон URL является HTML так там способ, которым он может быть отображен в Spring MVC.
Например - Когда пользователь вводит www.example.com
, Я хочу приложение к прямо к abc.jsp
страница и также когда кто-то вводит www.example.com/something
, даже затем приложение должно прямо к abc.jsp
, но шаблон URL не должен быть поставлен под угрозу.
Добавьте
<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.
Например - Когда пользователь набирает 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 (использование представления в качестве контроллера). Но если вы действительно просите об этом...
Решено -
Файл в списке приветственных файлов должен быть реальным файлом, поэтому 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, в спецификации сервлетов сказано, что это должно быть именно так, хотя поведение может отличаться на разных серверах приложений, в общем, это должен быть реальный файл.
Надеюсь, это кому-нибудь поможет