springmvc rest风格 url访问路径问题

springmvc rest风格 url访问路径问题,第1张

你设置的urloattern 是aspx

所以在requestMapping中应该配置value="service/{id}aspx";

要符合restful风格,应该配置urlpattern 为

spring mvc 的地址是灵活多变的!尤其是加上那些rest之后!

如果想快速的定位到 controller 可以 约定一些 url 的写法!使这个url带有类名,包 或者 业务的含义! 区分了业务和包 会好找点!

20 你观察还听仔细的!初始化spring的时候就会做那些事情! 全部的url 都解析一遍 ,但是做完之后 再去访问速度还可以哦!或者我猜测 速度更快了!

对于一个系统来说 部署的时候1--2分钟是可以接受的!

学习Spring的时候,在配置webxml的时候,把url-pattern 配置成/,启动项目后去访问自己的Controller总是报404检查了很多发现资源是存在的,配置的地址也没有问题,为什么会出现404错误呢?最后发现是自己配置的 url-pattern 不对!

现整理一下:

(1):在使用springmvc时,都会在webxml中配置一个dispatchservlet,如下:

<!-- Spring MVC Servlet -->

<servlet>

<servlet-name>springmvc</servlet-name>

<servlet-class>

orgspringframeworkwebservletDispatcherServlet

</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>springmvc</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>1234567891011121314

(2):配置spring的配置文件

<!-- 默认的视图解析器 在上边的解析错误时使用 (默认使用html)- -->

<bean id="defaultViewResolver"

class="orgspringframeworkwebservletviewInternalResourceViewResolver"

p:order="2">

<property name="viewClass"

value="orgspringframeworkwebservletviewJstlView" />

<property name="contentType" value="text/html" />

<property name="prefix" value="/WEB-INF/jsp/" />

<property name="suffix" value="jsp" />

</bean>12345678910

(3):举例说明:

①:<url-pattern>/</url-pattern> 会匹配到/login这样的路径型url,不会匹配到模式为jsp这样的后缀型url

②:<url-pattern>/</url-pattern> 会匹配所有url:路径型的和后缀型的url(包括/login,jsp,js和html等)12

①:地址为 localhost:8088/login , /login 返回loginjsp

访问去Controller下的/login 跳转到相应的视图loginjsp

②:访问的地址为 localhost:8088/login/ ,/login 返回loginjsp

访问去Controller下的/login,跳转到loginjsp ,然后进过dispatchservlet的时候,由于是/ ,有会以localhost:8088/login/loginjsp 去请求Controller ,那么如果Controller没有 /login/loginjsp 的Mapping映射,则会报404 错误!

(4):总结

< url-pattern > / < url-pattern > / 能匹配所有请求URL,会匹配到jsp,会出现返回jsp视图时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以报404错。

当映射规则为 / 时,最后返回xxjsp也经过DispatcherServlet,它又会去找相对应的处理器,这也是控制台打印noHandlerFound,也就导致了404错误,页面更别想看到。当改成 / 后,servlet不会匹配到jsp的URI,当然就能正常返回页面了

以上就是关于springmvc rest风格 url访问路径问题全部的内容,包括:springmvc rest风格 url访问路径问题、请教spring mvc 3如何通过URL快速定位使用注解的controller类、springmvc中url-url-pattern /和/*的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9565669.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存