如何在spring mvc </mvc:view-controller>中使用<mvc:view-controller>

时间:2014-05-21 01:22:46

标签: spring-mvc

我正在使用Spring MVC来构建我的应用程序。 我想在用户在浏览器中运行应用程序时显示默认的jsp。我不想在web.xml中使用<welcome-file>标记。

我想我可以使用

 <mvc:view-controller />

我创建了一个文件夹并添加了search.jsp,如下所示  WEB-INF /视图/ search.jsp的

以下是示例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"/>

我的web.xml如下所示

<?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>

我也尝试了以下内容

但是当我尝试运行应用程序时出现错误。 search.jsp应显示为默认页面。错误403 - 禁止从RFC 2068超文本传输​​协议HTTP / 1.1:10.4.4 403禁止服务器理解请求,但拒绝履行请求。

1 个答案:

答案 0 :(得分:6)

你应该使用

<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>

将前缀为/WEB-INF/view/,并以.jsp

为后缀,将其解析为jsp

在web.xml中将servlet映射更改为

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