Rest Spring 3控制器和相关路径

Rest Spring 3控制器和相关路径,rest,spring-mvc,controller,Rest,Spring Mvc,Controller,试图掌握SpringMVC控制器。但是相对路径有问题 我有一个网页在: http://localhost:8080/jeeniweb/articles 在该页面上有一个菜单选项: <li><a href="articles/writing_great_code/structure_and_dependencies/">Structure and Dependencies</a></li>` 这个方法捕获请求,然后用printlnmethodds打

试图掌握SpringMVC控制器。但是相对路径有问题

我有一个网页在:
http://localhost:8080/jeeniweb/articles
在该页面上有一个菜单选项:

<li><a href="articles/writing_great_code/structure_and_dependencies/">Structure and Dependencies</a></li>`
这个方法捕获请求,然后用
println
methodds打印出正确的内容。 但是在电话之后,我想:
http://localhost:8080/jeeniweb/articles
但事实上,浏览器会转到:
http://localhost:8080/mysite/articles/writing_great_code/structure_and_dependencies/

当我从方法返回
文章/索引
时,这怎么可能

我的Servlet配置是:

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

据我所知,Spring意味着处理上述代码后的结果返回应该是
/WEB-INF/views/articles/index.jsp,这正是我想要的。这就是index.jsp页面所在的位置

非常感谢您的帮助

谢谢
Adam

控制器只知道它截获了正确的url,为了解析文章/索引url,您需要让它返回一个指向该url的重定向,例如:

return "redirect:articles/index"

这很奇怪。它应该会起作用。一切都很完美。如果找不到该页面,则必须抛出404错误。你能在这里显示你的文章/index.jsp页面的内容吗?@Adam:+1回答写得好的问题。我仍然没有看到任何错误,但这可能是视图解析器的问题。。。您能不能也显示servlet映射部分?@Adam:提示:您可能需要设置log4j来查看SpringURL解析器正在做什么这是不正确的。当您使用
重定向:
时,它试图找到具有此映射的控制器,而不是他想要显示的jsp页面。请重新阅读问题,它是正确的。他想知道为什么当他返回字符串articles/index时,它给了他正确的视图,但URL不正确。因为他浏览到的最后一个URL是Spring的RESTful URL,需要告诉它重定向到articles/index,否则它只会呈现与返回的字符串相关的视图,在本例中为“articles/index”
return "redirect:articles/index"