1.首先
/
这个是表示默认的路径,及表示:当没有找到可以匹配的URL
就用这个URL
去匹配。
2.在springmvc
中可以配置多个DispatcherServlet
,比如: 配置多个DispatcherServlet
有/
和/*
,先匹配的是/*
这个。
3.当配置相同的情况下,DispathcherServlet
配置成/
和/*
的区别。
a./
:使用/配置路径,直接访问到jsp
,不经springDispatcherServlet
。
b./*
:配置/*
路径,不能访问到多视图的jsp
。
当我在客户端调用
URL
:/user/list
然后返回user.jsp
视图,
a.当配置的是/
:DispathcherServlet
拿到这个请求然后返回对应的controller
,然后通过Dispather Type
通过Forward
转发到user.jsp视图,即就是请求user.jsp
视图(/user/user.jsp
),此时Dispather没有拦截/user/user.jsp
,因为此时你配置的是默认的/
,就顺利的交给ModleAndView
去处理显示了。
b.当配置的是/*:DispathcherServlet
拿到这个请求然后返回对应的controller
,然后通过Dispather Type
通过Forward转发到user.jsp
视图,即就是请求user.jsp视图(/user/user.jsp
),此时Dispather
已经拦截/user/user.jsp
,Dispatcher
会把他当作Controller
去匹配,没有匹配到就会报404错误。
结论:在配置视图的时候尽量用
/
这种方式。