in spring mvc I am using Spring MVC to build my application. I want to show jsp by default when the user ...">

How to use <mvc: view-controller / "> in spring mvc

I am using Spring MVC to build my application. I want to show jsp by default when the user launches the application in the browser. I do not want to use the tag <welcome-file>in web.xml.

I think I can use

 <mvc:view-controller />

I created a folder and added search.jsp as follows WEB-INF / views / search.jsp

Below is an example of spring -servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
  <beans ...>
      <context:component-scan
        base-package="org.lacare.frc.controller" />

      <!--      <bean class="org.lacare.frc.controller.ApplicationsController">
        <property name="formView" value="applications" />
        <property name="successView" value="CustomerSuccess" />
       </bean> -->
       <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
          <property name="prefix" value="/WEB-INF/view/"/>
         <property name="suffix" value=".jsp"/>
         </bean>



<mvc:view-controller path="/search" view-name="search.jsp"/>

My web.xml is as follows

<?xml version="1.0" encoding="UTF-8"?>
<web-app ... version="2.5">
    <display-name>Spring3MVC</display-name>
    <mime-mapping>
        <extension>png</extension>
        <mime-type>image/png</mime-type>
    </mime-mapping>

    <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener- class>
    </listener>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
          /WEB-INF/applicationContext.xml
        </param-value>
    </context-param>
</web-app>

I also tried the following:

But I get an error when trying to start the application. search.jsp should appear as the default page. Error 403 - Forbidden from RFC 2068 Hypertext Transfer Protocol HTTP / 1.1: 10.4.4 403 Forbidden The server understood the request, but refuses to fulfill it.

+4
1

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

- , InternalResourceViewResolver

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

jsp /WEB-INF/view/ .jsp

change.mml web.xml

<servlet-name>spring</servlet-name>
   <url-pattern>/</url-pattern>
</servlet-mapping>
+5

Source: https://habr.com/ru/post/1541363/


All Articles