spring - 前端 Controller 模式的 Servlet url 映射

标签 spring spring-mvc servlets

我正在尝试学习Spring MVC框架。调度程序 servlet 应该处理所有传入请求,我们通过以下配置实现这一点:

<servlet-mapping>
  <servlet-name>dispatcher</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>  

我的问题是/与/* 有何不同。当我们返回 View 名称时,我们通常会在 View 名称之前添加/前缀,例如/WEB-INF,这样该请求也会经过 DispatcherServlet。如果不是为什么?

最佳答案

在 JAVA EE Web 应用程序中,URL 映射分为 3 部分:

  • 上下文路径(网址的根)
  • Servlet 路径(激活组件的模式)
  • 信息路径(尾随路径)

例如调度程序映射到“/myservlet/”,具有“root”上下文

获取/root/myservlet/info

  • /根上下文路径
  • /myservlet servlet 路径
  • /info 信息路径

/”和“/*”将匹配之后的任何标记,但“/”仅在没有明确映射的情况下才会匹配提供了路径(在本例中,如果存在/myservlet/info 的 servlet 映射)。

/”成为路径的容器默认后备

/*覆盖路径下的所有内容。如前所述here ,这对于过滤器映射非常有用。

关于spring - 前端 Controller 模式的 Servlet url 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30272236/

相关文章:

java - 无法使用 JpaRepository 解析 SpringMVC 中的 ResponseEntity

java - HTTP 状态 500 - javax.servlet.ServletException : java. lang.NoClassDefFoundError: org/hibernate/Session

java - 将 Spring bean 注入(inject) RestEasy

java - 用户刷新时如何处理Spring Boot Controller 中的非jsp方法

json - JSON 序列化程序中的延迟加载错误

java - 使用正则表达式测试 Servlet 中的字符串

java - JSP Servlet 登录问题

Java:异步 MongoTemplate/MongoOperation

java - 在重定向到登录页面之前,spring 将访问的 url 存储在哪个过滤器中?

java - Spring MVC : How to post related entity objects and save in DB?