spring-webmvc允许静态资源被访问

1、pom.xml

XML 复制代码
  <dependencies>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
    </dependency>
    <dependency>
      <groupId>jakarta.platform</groupId>
      <artifactId>jakarta.jakartaee-web-api</artifactId>
    </dependency>

  </dependencies>

2、web.xml

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
	version="4.0">

	<servlet>
		<servlet-name>DispatcherServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:springmvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>

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

</web-app>

3、springmvc.xml

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <context:component-scan base-package="com.atguigu.springmvc"/>

    <!--开启SpringMVC的注解驱动功能。这个配置也被称为SpringMVC的标配-->
    <!--标配:因为SpringMVC环境下非常多的功能都要求必须打开注解驱动才能正常工作-->
    <mvc:annotation-driven/>

    <!--加入这个配置,SpringMVC就会在遇到没有@RequestMapping的请求时放它过去-->
    <!--所谓放它过去就是让这个请求去找它原本要访问的资源-->
    <!--<mvc:default-servlet-handler/>-->

</beans>
  • 如果没有开启<mvc:default-servlet-handler>控制台会报 org.springframework.web.servlet.DispatcherServlet.noHandlerFound No mapping for GET /index.html

4、index.html

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
        <h1>静态资源放行</h1>
</body>
</html>

5、<mvc:annotation-driven>

<mvc:annotation-driven/> 是Spring MVC的一个标签,用于启用注解驱动的配置。这个标签在Spring配置文件中用于自动注册一些处理器,如消息转换器、参数解析器等,以便使用注解(如@RequestMapping,@RequestParam等)来定义请求处理方法。

在Spring 3.0版本之后,<mvc:annotation-driven/>标签被引入,用于替代早期版本的<bean id="annotationHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"/><bean id="annotationParameterHandler" class="org.springframework.web.bind.annotation.support.HandlerMethodArgumentResolver"/>配置。

使用<mvc:annotation-driven/>标签可以简化配置并提高代码的可读性。例如:

XML 复制代码
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xmlns:mvc="http://www.springframework.org/schema/mvc"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
    http://www.springframework.org/schema/beans/spring-beans.xsd  
    http://www.springframework.org/schema/mvc  
    http://www.springframework.org/schema/mvc/spring-mvc.xsd">  
  
    <!-- 启用注解驱动 -->  
    <mvc:annotation-driven/>  
  
    <!-- 其他配置 -->  
    ...  
</beans>

请注意,如果你使用Java配置而不是XML配置,你也可以使用@EnableWebMvc注解来启用注解驱动的配置。例如:

java 复制代码
@Configuration  
@EnableWebMvc  
public class WebConfig {  
   
    // 其他配置  
}

<mvc:annotation-driven/> 是Spring MVC的一个标签,用于启用注解驱动的配置。它允许Spring MVC自动检测和处理类路径下的控制器类,并将它们注册为处理器。这个标签在Spring MVC的配置文件中使用,用于自动配置一些默认的组件,如请求映射处理器、消息转换器和参数解析器等。

这个标签是Spring 3.0版本引入的,它简化了Spring MVC的配置,使得开发人员可以更快速地开发和部署Web应用程序。通过使用注解,开发人员可以更方便地定义请求处理方法、参数和返回值等。

在使用<mvc:annotation-driven/>标签时,需要注意以下几点:

  1. 确保你已经导入了Spring MVC的依赖库,并且你的Spring版本支持该标签。
  2. 在配置文件中添加<mvc:annotation-driven/>标签,并确保它位于正确的位置。通常情况下,它应该位于Spring配置文件的根元素下。
  3. 确保你的控制器类已经使用了正确的注解来定义请求处理方法、请求映射等。例如,使用@RequestMapping注解来定义请求映射路径和处理方法。
  4. 如果你需要配置其他组件或自定义处理器,可以通过其他方式进行配置,例如使用<bean>元素来手动配置处理器。

总之,<mvc:annotation-driven/>标签是Spring MVC中一个非常方便的配置工具,它可以帮助开发人员更快速地开发和部署Web应用程序。

mvc:annotation-driven/是Spring MVC中的一个XML配置,它的作用是启用Spring MVC的注解驱动。通过该配置,Spring MVC将会自动注册一些默认的组件,如RequestMappingHandlerMapping、RequestMappingHandlerAdapter、ExceptionResolver等,这些组件能够支持常见的Spring MVC注解,如@Controller、@RequestMapping、@RequestParam、@ResponseBody等。

注解驱动的方式更加方便和简洁,不需要显式地配置一些传统的组件,例如HandlerMapping和HandlerAdapter,而是通过注解来完成请求与处理器的映射和适配。所以,使用mvc:annotation-driven/可以让我们在Spring MVC中更加便捷地使用注解的方式进行开发。
<mvc:annotation-driven/>是SpringMVC中的一个配置标签,用于启用基于注解的控制器和参数解析器。具体作用包括:

1. 支持@Controller注解和@RequestMapping注解:在SpringMVC中,@Controller注解用于标记一个类为控制器,而@RequestMapping注解用于标记控制器中的方法为处理器方法。使用<mvc:annotation-driven/>将会自动注册DispatcherServlet,使其能够扫描@Controller注解和@RequestMapping注解,并将其转换为处理请求的控制器和处理器方法。

2. 支持数据绑定和数据验证:<mvc:annotation-driven/>还可以注册数据绑定和数据验证的相关组件,如ConversionService、FormatterRegistry和Validator等。这些组件可以帮助将请求参数绑定到控制器方法的参数上,并对参数进行有效性验证。

3. 支持消息转换:<mvc:annotation-driven/>还可以自动注册消息转换器,用于将请求和响应的内容转换为Java对象或其他格式,如JSON、XML等。

综上所述,<mvc:annotation-driven/>可以简化SpringMVC的配置,提高开发效率,同时也能提供更好的功能支持。

相关推荐
寻爱的希斯克利夫12 小时前
tomcat 配置jenkins_home 目录
servlet·tomcat·jenkins
wxin_VXbishe2 天前
springboot瑜伽课约课小程序-计算机毕业设计源码87936
java·c++·spring boot·python·spring·servlet·php
嘤嘤奶嘴酱3 天前
dedecms(四种webshell姿势)aspcms webshell漏洞复现
数据库·servlet
weixin_443290693 天前
10- 【JavaWeb】Tomcat、Servlet基础
java·servlet·tomcat
jingde5284 天前
SpringMVC中使用REST风格
springmvc
不修×蝙蝠4 天前
后端入门 (JQuery基础) 01
笔记·后端·servlet·html·jquery
VaporGas4 天前
Servlet入门学习笔记-Servlet技术
笔记·学习·servlet
Flying_Fish_roe5 天前
测试-Gatling 与性能测试
servlet
Amagi.5 天前
对比介绍Java Servlet API (javax.servlet)和Apache HttpClient这两个库
java·servlet·apache
测试界吖吖6 天前
使用Jenkins扩展钉钉消息通知
自动化测试·软件测试·功能测试·程序人生·servlet·jenkins·钉钉