1、pom.xml
org.springframework spring-context org.springframework spring-webmvc jakarta.platform jakarta.jakartaee-web-api
2、web.xml
DispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:springmvc.xml 1 DispatcherServlet /
3、springmvc.xml
4、Hello01Controller.java
package com.atguigu.springmvc; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class Hello01Controller { @RequestMapping("/h01") @ResponseBody public String ho1() { System.out.println("Hello SpringMVC!"); return "mandatory"; } }
5、在SpringMVC中,中央控制器加 / 和 /* 的区别
在SpringMVC中,中央控制器指DispatcherServlet,它是整个SpringMVC框架的核心,负责接收所有的HTTP请求,并将请求委托给对应的Controller进行处理。
加/和/*的区别如下:
加/的映射:可以匹配所有请求,包括静态资源请求,比如图片、css、js等。这种映射适合用于处理静态资源请求,但相对会占用大量的服务器资源。
加/*的映射:可以匹配所有请求,但不能匹配静态资源请求。如果使用这种映射方式,则需要配置静态资源的访问路径,否则静态资源将无法访问。
一般来说,如果项目中有大量的静态资源请求,建议使用加/的映射方式;如果项目中静态资源请求较少,则可以使用加/*的映射方式,避免不必要的资源浪费。
在SpringMVC中,中央控制器是指DispatcherServlet,它是SpringMVC框架的核心组件,负责将请求分发给相应的处理器(Handler),并返回响应结果。
中央控制器加/和/*的区别在于请求映射的粒度不同:
- 加/服务器托管网的情况下,DispatcherServlet只会拦截所有以/开头的请求,也就是说只有根路径下的请求会被拦截,例如http://localhost:8080/。
- 加/*的情况下,DispatcherServlet会拦截所有请求,包括根路径下的请求和子路径下的请求,例如http://localhost:8080/user、http://localhost:8080/user/info等等。
因此,在配置RequestMapping时,如果使用/,则只需要在浏览器中输入根路径即可访问,而如果使用/*,则需要输入完整的请求路径。
在SpringMVC中,中央控制器指的是DispatcherServlet,它是整个SpringMVC框架的核心,所有的请求都会被它接收,然后分发到对应的控制器进行处理。
中央控制器加/和/*的区别如下:
中央控制器加/:表示DispatcherServlet接收所有的请求,包括静态资源(如图片、css和js等),但不包括JSP页面等动态页面,这些请求需要通过Controller来处理。
中央控制器加/*:表示DispatcherServlet接收所有的请求,包括静态资源和动态页面,但如果有其他Servlet或Filter与DispatcherServlet同时处理同一个请求,则可能会出现冲突。
因此,一般建议使用中央控制器加/,同时将静态资源放到单独的目录下,由Web服务器直接处理,提高系统性能。
在SpringMVC中,中央控制器是一个特殊的控制器,用于处理所有进入应用程序的请求。在配置SpringMVC时,通常会为中央控制器指定一个URL路径,以便它可以拦截和处理所有进入应用程序的请求。
在指定中央控制器的URL路径时,可以使用不同的模式来匹配不同的URL。其中,/和/*是两种常见的模式。
- /:当使用/作为中央控制器的URL路径时,中央控制器将拦截所有以根路径为开头的请求。这意味着所有以/开头的URL都将由中央控制器处理。例如,如果中央控制器的URL路径设置为/,那么它将拦截所有进入应用程序的请求,如/hello、/user/profile等。
- /*:当使用/*作为中央控制器的URL路径时,中央控制器将拦截所有请求,无论请求的URL是什么。在这种情况下,中央控制器将处理所有进入应用程序的请求,包括静态资源的请求。这意味着所有进入应用程序的请求都将由中央控制器处理,然后由其他控制器或处理程序进一步处理。
需要注意的是,使用/*作为中央控制器的URL路径可能会导致性能问题,因为它将中央控制器设置为处理所有请求,包括静态资源的请求。如果应用程序有大量的静态资源请求,这可能会导致性能瓶颈和不必要的延迟。因此,在选择中央控制器的URL路径时,应该根据具体的应用程序需求进行权衡和选择。
在Spring MVC中,中央控制器(Controller)是用于处理和响应用户请求的组件。在URL映射方面,中央控制器可以处理多个URL路径,并且可以根据需要服务器托管网将不同的URL映射到不同的处理程序方法。
在URL路径映射中,”/ “和” /* “这两个符号有不同的含义:
- “/ “:这是URL路径的根符号。当你在中央控制器中使用”/”时,它表示该控制器是所有根URL的中央处理器。例如,如果你将中央控制器与”/”路径映射,则该控制器将处理所有以根URL开头的请求,如 “/app”,”/index” 等。
- “/*“:这个符号表示该控制器是所有子URL的中央处理器。也就是说,它将处理所有在根URL之后的部分。例如,如果将中央控制器与”/*“路径映射,则该控制器将处理所有以根URL开头的请求之后的部分,如 “/app/123″,”/index/abc” 等。
总结起来,”/”和” /* “的区别在于:
- “/ “:表示该控制器是所有根URL的中央处理器。
- “/*”:表示该控制器是所有子URL的中央处理器。
在Spring MVC中,中央控制器(通常是一个DispatcherServlet)负责处理传入的HTTP请求,并将其路由到相应的控制器。在配置中央控制器时,通常会使用URL模式来指定哪些URL应该由该Servlet处理。
/
和/*
在URL模式中是有区别的:
/ :
- 这种配置意味着DispatcherServlet将只处理根路径(/)下的请求。其他路径的请求(如/static/下的静态资源请求)将不会被DispatcherServlet处理,因此静态资源可以正常访问。
- 这是一个相对更为宽松的配置,它不会将所有请求都拦截到DispatcherServlet,只有根路径下的请求才会被拦截。
/ *:
- 这种配置意味着DispatcherServlet将会处理所有的请求,包括对静态资源的请求,如CSS、JavaScript、图片文件等。这通常是我们不希望看到的,因为这会阻止静态资源的正常访问。
- 使用这种配置时,通常需要额外配置来确保静态资源的正常访问,比如通过
标签。
在选择这两种配置时,需要根据你的具体需求来决定。通常,
/
配置更为灵活,因为它可以精确地控制哪些URL应该被DispatcherServlet处理,而/*
配置则更为粗暴,它会将所有请求都拦截到DispatcherServlet。因此,一般来说,/
是更常用和推荐的配置。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net