yq81862
2013-08-05 21:32
浏览 269
已采纳

spring mvc的奇怪问题,关于注解的路径问题

web.xml
[code="java"]
spring3
org.springframework.web.servlet.DispatcherServlet

contextConfigLocation
classpath:spring3-servlet.xml

1


spring3
/
[/code]
springmvc配置文件
[code="java"]

<!-- DispatcherServlet接收到处理程序返回的视图名称,并解析为视图实现以供显示。 -->
<bean
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/pages/" />
    <property name="suffix" value=".jsp" />
</bean>[/code]

index.jsp
[code="java"]<br> window.location.href = &quot;good/index&quot;;<br> [/code]
class类
[code="java"]@Controller
@RequestMapping(value = "/login")
public class LoginController {

@RequestMapping(value = "/index")
public String index() {
    return "login";
}

@RequestMapping(value = "/login")
public String login(String username, String password) {
    return "homePage";
}

}[/code]
奇怪的代码是:action="login",按照我的理解应该是action="login/login",
如果是action="login",正确跳转,地址为:http://localhost:8080/autocode/login/login
如果是action="login/login",访问地址就是404,地址为:http://localhost:8080/autocode/login/login/login
[code="java"]




用户名:


密 码: name="password" />




[/code]
问题总结:
我的理解是,访问路径应该是"类注解的路径/方法注解的路径",但是这么理解有什么不对吗?
采用的措施有,把web.xml的拦截器由/改为*.do还是有问题。
求大神给正确的解答
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • zm112358 2013-08-06 00:45
    已采纳

    帮楼主弄清一下思路,当楼主请求首页是一定是http://localhost:8080/autocode其实就是在http://localhost:8080/autocode/login/index.jsp此时已经在/login下了,在首页中有请求/index 返回login 实际上就是转发到了http://localhost:8080/autocode/login/login.jsp.
    Form标签中action请求为action 那么直接就请求到了http://localhost:8080/autocode/login/login OK,没问题如果是login/login 则就如楼主所说http://localhost:8080/autocode/login/login/login 如果想用login/login ,可以写成../login/login 这样应该就可以请求到了

    已采纳该答案
    打赏 评论
  • www88485400 2013-08-06 08:19

    这是个相对和绝对的问题

    打赏 评论

相关推荐 更多相似问题