You need to enable JavaScript to run this app. Servlet URL映射问题:Spring项目POST /SpringProject/images无匹配映射
优惠活动
大模型
产品
解决方案
定价
更多

Servlet URL映射问题:Spring项目POST /SpringProject/images无匹配映射

问题排查步骤

  • 检查Controller类注解配置
    首先确认接口所在类已经添加了@Controller或者@RestController注解,如果类上还额外加了@RequestMapping注解,最终访问路径是「类的@RequestMapping路径 + 方法的@PostMapping路径」,比如类上配置了@RequestMapping("/api"),实际接口路径是/api/images,而非直接的/images。
  • 检查web.xml中DispatcherServlet的映射规则
    确认DispatcherServlet的<url-pattern>配置能匹配到你的请求路径,错误配置示例:
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    
    上述配置只会匹配后缀为.do的请求,你访问的/images没有对应后缀就会匹配失败,推荐配置为:
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    
    注意不要配置为/*,该配置会拦截JSP等静态资源请求,导致页面无法正常渲染
  • 检查项目部署的上下文路径(Context Path)
    你当前访问的路径是/SpringProject/images,需要确认项目部署时的上下文路径是否确实为/SpringProject:
    • 用Tomcat部署的话,可检查Tomcat配置中Application context的值,如果配置为/,直接访问/images即可,不需要加/SpringProject前缀
    • 打war包放到webapps目录下的话,war包名如果是SpringProject.war,上下文路径就是/SpringProject,符合你的访问路径
  • 检查SpringMVC的组件扫描配置
    确认Spring配置文件中已经添加了对应Controller包的扫描配置,否则Spring不会识别你写的接口:
    <context:component-scan base-package="你的Controller所在的包路径"/>
    

额外代码优化提示

你的接口代码中response.setContentType("application/images")属于错误的MIME类型,图片对应的MIME类型应为image/jpeg、image/png等;另外你使用的HttpURLConnection、输出流用完之后需要手动关闭,避免资源泄漏。

内容的提问来源于stack exchange,提问作者Deepan mn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 06:36:02