你设置的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 /和/*的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)