SpringMVC配置文件中的标签:笔记

1、<mvc:annotation-driven>自动注册标签。

2、<context:component-scan>包扫描标签。

3、<context:property-placeholder>标签加载静态属性文件。

4、<mvc:default-servlet-handler>标签处理静态资源访问问题。

1、<mvc:annotation-driven>自动注册标签

使用<mvc:annotation-driven>自动注册标签。在实际开发中,为了提高开发效率,使用最多的就是基于<mvc:annotation-driven>标签的配置,如下所示:

<!-- 开启SpringMVC注解模式(设置注解映射器、注解适配器) -->
<mvc:annotation-driven></mvc:annotation-driven>
 
<!-- 使用扫描配置,对某一个包下的所有类进行扫描,找出所有使用@Controller注解的Handler控制器类 -->
<context:component-scan base-package="com.pjb.mvc.controller"></context:component-scan>

详细说明,请浏览本博客的《SpringMVC使用mvc:annotation-driven自动注册标签》

2、<context:component-scan>包扫描标签

使用扫描配置,对某一个包下的所有类进行扫描,找出所有使用@Controller注解的Handler控制器类。

<context:component-scan base-package="com.pjb.mvc.controller"></context:component-scan>

对多个包进行扫描,使用逗号分隔:

<!-- 包扫描:entity,dao,service -->
<context:component-scan base-package="com.pjb.ssm.entity,com.pjb.ssm.dao,com.pjb.ssm.service"/>

另外<context:component-scan>还提供了两个子标签:

<context:include-filter>:包含。

<context:exclude-filter>:排除。

学习资料:《context:component-scan包扫描标签使用说明》

3、<context:property-placeholder>标签加载静态属性文件

<context:property-placeholder>标签配置,该配置用于读取工程中的静态属性文件,然后在其他配置中使用时,就可以采用“${属性名}”的方式获取该属性文件中的配置参数值。

【示例】使用<context:property-placeholder>标签加载静态属性文件。

(1)在resources目录下,编写db.properties数据库属性文件。

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db_admin?useSSL=false&amp
jdbc.username=root
jdbc.password=123456
dbcp.pool.maxTotal=10
dbcp.pool.maxIdle=5

(2)在SpringMVC核心配置文件中,使用<context:property-placeholder>标签加载db.properties数据库属性文件,然后采用“${属性名}”的方式获取该属性文件中的配置参数值。

<!-- 加载用于数据库配置的属性文件 -->
<context:property-placeholder location="classpath:resources/db.properties"/>

<!-- dataSource数据源,使用DBCP数据库连接池 -->
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
    <!-- 数据库驱动名称 -->
    <property name="driverClassName" value="${jdbc.driver}"/>
    <!-- 数据库连接底座 -->
    <property name="url" value="${jdbc.url}"/>
    <!-- 登录数据库的用户名 -->
    <property name="username" value="${jdbc.username}"/>
    <!-- 登录数据库的密码 -->
    <property name="password" value="${jdbc.password}"/>
    <!-- 连接池的最大数据库连接数,设置默认值0表示无限 -->
    <property name="maxTotal" value="${dbcp.pool.maxTotal:0}"/>
    <!-- 最大空闲数,即数据库连接的最大空闲时间。当超过空闲时间时,数据库连接将被标记为不可用,然后被释放,设置默认值0表示无限 -->
    <property name="maxIdle" value="${dbcp.pool.maxIdle:0}"/>
</bean>

4、<mvc:default-servlet-handler>标签处理静态资源访问问题

在SpringMVC的核心配置文件中使用<mvc:default-servlet-handler/>配置默认的Servlet处理器,该配置将在SpringMVC上下文中定义一个DefaultServletHttpRequestHandler,它会对进入DispatcherServlet前端控制器的请求进行筛查,如果发现是没有经过映射的请求,就将该请求交由Web应用服务器默认的Servlet处理,如果不是静态资源的请求,才由DispatcherServlet前端控制器继续处理。此时就可以将请求中的静态资源与其他业务请求分开处理,从而正常地返回静态资源信息。

<!-- 静态资源默认servlet配置
        (1)加入对静态资源的处理:js/css/img...
        (2)允许使用"/"做整体映射
     -->
<mvc:default-servlet-handler/>

或者使用<mvc:resource>标签:

<!-- 静态资源的解析,包括:js/css/img... -->
<mvc:resources location="/js/" mapping="/js/**"/>
<mvc:resources location="/css/" mapping="/css/**"/>
<mvc:resources location="/img/" mapping="/img/**"/>
发布了354 篇原创文章 · 获赞 208 · 访问量 165万+

猜你喜欢

转载自blog.csdn.net/pan_junbiao/article/details/104166885