Spring MVC。请求映射不起作用。 index.jsp中的链接不加载。

时间:2016-10-15 20:08:13

标签: java spring jsp spring-mvc

我有一个使用Spring的maven项目,我目前已经在Tomcat上运行了索引页面。在我的索引页面中,我有:

 <a href="about">about</a>

然后在WEB-INF文件夹中,我有一个名为jsp的子文件夹,其中包含about.jsp。我不知道如何让href打开about.jsp作为网页。我尝试创建一个控制器类,但我不确定我是否正确地进行了操作。我在控制器中的所有内容都是,

@Controller
public class AboutController {


 @RequestMapping("/about")
    public ModelAndView helloWorld() {

        String message = "Hello World";
        return new ModelAndView("about", "message", message); 
        }


  }

web.xml中的servlet映射看起来像。

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

然后是我的springMVC-servlet.xml

<context:component-scan base-package="com.springMVC.controller" />

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.JstlView" />
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />
</bean>


<mvc:resources mapping="/resources/**" location="/WEB-INF/resources/" />
<mvc:annotation-driven />

我已经尝试了一些不同的教程,但它们都没有用。

我还应该注意,如果我启动tomcat并转到localhost:8080 / Test / about.jsp它可以工作,我只是无法使链接工作。

3 个答案:

答案 0 :(得分:0)

  

如果我启动tomcat并转到localhost:8080 / Test / about.jsp它可以工作

您似乎已将about.jsp放入web而不是WEB-INF/jsp。尝试将about.jsp移至指定文件夹WEB-INF/jsp

答案 1 :(得分:-1)

你应该像这样<a href="/about">about</a>

进行更改

答案 2 :(得分:-1)

你应该改变

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.JstlView" />
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />
</bean>

喜欢这个

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