dispatcherservlet配置(springMVC中Dispatcher中的/和/*的区别)
本文目录
springMVC中Dispatcher中的/和/*的区别
1. 首先 / 这个是表示默认的路径,及表示:当没有找到可以匹配的URL就用这个URL去匹配。2. 在springmvc中可以配置多个DispatcherServlet,比如: 配置多个DispatcherServlet有/和/*,先匹配的是/*这个3. 当配置相同的情况下,DispathcherServlet配置成/和/*的区别《 一 》 / :使用/配置路径,直接访问到jsp,不经springDispatcherServlet《 二 》 /*:配置/*路径,不能访问到多视图的jsp当我在客户端调用URL:/user/list然后返回user.jsp视图,当配置的是/:DispathcherServlet拿到这个请求然后返回对应的controller,然后通过Dispather Type通过Forward转发到user.jsp视图,即就是请求user.jsp视图(/user/user.jsp),此时Dispather没有拦截/user/user.jsp,因为此时你配置的是默认的/,就顺利的交给ModleAndView去处理显示了。当配置的是/*:DispathcherServlet拿到这个请求然后返回对应的controller,然后通过Dispather Type通过Forward转发到user.jsp视图,即就是请求user.jsp视图(/user/user.jsp),此时Dispather已经拦截/user/user.jsp,Dispatcher会把他当作Controller去匹配,没有匹配到就会报404错误。结论:在配置视图的时候尽量用/这种方式。
spring dispatcherservlet可以配置多个吗
使用Spring MVC,配置DispatcherServlet是第一步。DispatcherServlet是一个Servlet,所以可以配置多个DispatcherServlet。DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据某某规则分发到目标Controller(我们写的Action)来处理。“某某规则”:是根据你使用了哪个HandlerMapping接口的实现类的不同而不同。先来看第一个例子:Xml代码《load-on-startup》1《/load-on-startup》是启动顺序,让这个Servlet随Servletp容器一起启动。《url-pattern》*.form《/url-pattern》会拦截*.form结尾的请求。《servlet-name》example《/servlet-name》这个Servlet的名字是example,可以有多个DispatcherServlet,是通过名字来区分的。每一个DispatcherServlet有自己的WebApplicationContext上下文对象。同时保存的ServletContext中和Request对象中,关于key,以后说明。在DispatcherServlet的初始化过程中,框架会在web应用的WEB-INF文件夹下寻找名为-servlet.xml的配置文件,生成文件中定义的bean。第二个例子:Xml代码指明了配置文件的文件名,不使用默认配置文件名,而使用springMVC.xml配置文件。其中《param-value》**.xml《/param-value》这里可以使用多种写法1、不写,使用默认值:/WEB-INF/《servlet-name》-servlet.xml2、《param-value》/WEB-INF/classes/springMVC.xml《/param-value》3、《param-value》classpath*:springMVC-mvc.xml《/param-value》4、多个值用逗号分隔Servlet拦截匹配规则可以自已定义,Servlet拦截哪种URL合适?当映射为@RequestMapping(“/user/add“)时:1、拦截*.do,例如:/user/add.do,弊端:所有的url都要以.do结尾。不会影响访问静态文件。2、拦截/app/*,例如:/app/user/add,弊端:请求的url都要包含/app,@RequestMapping(“/user/add“)中不须要包含/app。3、拦截/,例如:/user/add,弊端:对jpg,js,css静态文件的访问也被拦截不能正常显示。后面有解决办法。4、拦截/*,可以走到Action中,但转发到jsp时再次被拦截,不能访问到jsp。
spring的DispatcherServlet配置能有多个吗
可以。《load-on-startup》1《/load-on-startup》 这个要设置成不同的优先级。以及 《servlet-mapping》 《servlet-name》weixin《/servlet-name》 《url-pattern》/《/url-pattern》 《/servlet-mapping》应该不同。
更多文章:

compensate翻译(英语vistors will be compensated怎么翻译)
2025年2月10日 15:40

微博翻译成英文是microblog好还是tiny blog好国外是怎么说的?我看到绿人网上有个迷你博客,怎么玩呀!
2025年4月2日 01:50

politician什么意思(statesman和politician的区别)
2025年2月10日 20:00

effective什么意思(effective与efficient有什么区别啊)
2025年3月12日 11:20

phpstudy是什么(请问apache与phpstudy有什么区别安装了phpstudy2014还需要再安装apache吗)
2025年2月16日 20:10

fedora14(fedora14 可以在终端输入命令,但是鼠标点什么都没用)
2025年3月19日 11:00

百度短网址在线生成(哪里还可以生成url.cn的统计短网址)
2025年2月12日 02:30

0x8f是什么意思,为什么最后等于143?C语言中输入a=080.b=0x8.是什么意思++a,++b是多少(过程详细点)
2025年3月3日 07:50