当前位置:编程学习 > JAVA >>

spring mvc restful 根路径获取

最近学习spring mvc 的restful风格,
但是用根路径访问,会调不到controller.配置如下:
web.xml
<servlet-mapping>
  <servlet-name>test</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>
如果把url-pattern改为/*,jsp也进不去,会死循环。
设置为/的话,用localhost:8080/TestSpringMVC/ 去访问,发现DispatcherServlet的doService方法也进不去,所以后面的controller更进不去。

还有一点。
@RequestMapping("/")
public String page() {
  return "redirect:/index";
}
这样设置的话,
localhost:8080/TestSpringMVC/xxxx  可以进去,
localhost:8080/TestSpringMVC/xxxx/xxxx  就进不去了。
是我设置的问题?还是本身就这样,如果是这样的话有什么解决方法吗? spring  restful 根路径 --------------------编程问答-------------------- 第二个问题,有一点说错了,
@RequestMapping("*")  //或者是/*
public String page() {
  return "redirect:/index";
}
可以匹配一层,/的话一层都匹配不到。 --------------------编程问答-------------------- <url-pattern>/*</url-pattern> --------------------编程问答-------------------- *.jsp --------------------编程问答--------------------
引用 2 楼 u010786672 的回复:
<url-pattern>/*</url-pattern>

这个样子就把包括jsp的请求都截获了,到达不了jsp --------------------编程问答-------------------- 在线等~~~ --------------------编程问答-------------------- <url-pattern>/</url-pattern>这样配置是可以的,你可以在控制层的java类上配置如下:
@Controller
@RequestMapping("/web")
public class test{

 @RequestMapping(method=RequestMethod.POST)
 public String page() {
   return "redirect:/index";
 }

@RequestMapping(value="/list", method=RequestMethod.POST)
 public String page1() {
   return "redirect:/index";
 }
}

http://localhost:8080/项目名称/web    这个是请求page()
http://localhost:8080/项目名称/web/list    这个是请求page1()
--------------------编程问答--------------------
引用 6 楼 zs_jl_bh 的回复:
<url-pattern>/</url-pattern>这样配置是可以的,你可以在控制层的java类上配置如下:
@Controller
@RequestMapping("/web")
public class test{

 @RequestMapping(method=RequestMethod.POST)
 public String page() {
   return "redirect:/index";
 }

@RequestMapping(value="/list", method=RequestMethod.POST)
 public String page1() {
   return "redirect:/index";
 }
}

http://localhost:8080/项目名称/web    这个是请求page()
http://localhost:8080/项目名称/web/list    这个是请求page1()


你写的这些代码肯定是没问题的。
我现在主要是想匹配
http://localhost:8080/项目名称  这个地址,什么东西都不带的。
<url-pattern>/</url-pattern> 这样配置的话,在我电脑上都不会被DispatcherServlet截获
补充:Java ,  Java EE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,