ssm框架整合配置

博客介绍了SSM框架整合的配置文件。web.xml用于整个项目基本配置,初始化application.xml和dispatcher-servlet.xml;application.xml是父上下文,包含spring及spring - mybatis整合配置;dispatcher-servlet.xml为子上下文,可使用父上下文配置,用于springmvc配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

web.xml整个项目的基本配置,初始化application.xml和dispatcher-servlet.xml;

application.xml父上下文,spring的相关配置和spring-mybatis整合的配置;

dispatcher-servlet.xml子上下文,可以使用父上下文中的配置,可以有多个,springmvc的配置。

web.xml

<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_3_1.xsd"
         version="3.1">

  <display-name>ssm_demo</display-name>

  <!-- 指定root applicationContext配置文件路径,ContextLoaderListener负责初始化root applicationContext
      注:工程中可以配置多个DispatcherServlet, root ctx中配置的bean在所有的DispatcherServlet中共享
   -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>


  <!-- 解决POST请求乱码 -->
  <filter>
    <filter-name>CharsetEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>CharsetEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <!-- 配置SpringMVC大总管(DispatcherServlet) -->
  <servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- 如果工程中只有一个DispatcherServlet,也可以将多个配置文件都交给DispatcherServlet来初始化 -->
    <!--<init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>WEB-INF/dispatcher-servlet.xml,classpath:applicationContext.xml</param-value>
    </init-param>-->
    <load-on-startup>1</load-on-startup>
    <!-- 开启Servlet3.0文件上传支持 -->
    <multipart-config />
  </servlet>
  
  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <!-- 拦截"/" 代表除了*.jsp不拦截,其他请求都拦截(包括静态资源如:js、css) -->
    <!-- 静态资源,我们通过SpringMVC中的<mvc:resources>放行 -->
    <url-pattern>/</url-pattern>
  </servlet-mapping>
  
</web-app>

application.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:c="http://www.springframework.org/schema/c"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop.xsd
       http://mybatis.org/schema/mybatis-spring
       http://mybatis.org/schema/mybatis-spring.xsd">

    <!-- 配置注解扫描service层 -->
    <context:component-scan base-package="com.lanou3g.sms.service"/>
    <!-- 使用mybatis来生成mapper层接口的具体实现 -->
    <mybatis:scan base-package="com.lanou3g.sms.mapper" />

    <!-- 配置数据源 -->
    <context:property-placeholder location="classpath:/jdbc.properties"/>
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
          p:driverClassName="${jdbc.driver}"
          p:url="${jdbc.url}"
          p:username="${jdbc.user}"
          p:password="${jdbc.password}"
          p:maxActive="${jdbc.maxActive}"
    />

    <!-- 配置mybatis\spring整合bean -->
    <bean class="org.mybatis.spring.SqlSessionFactoryBean"
          p:dataSource-ref="dataSource"
          p:mapperLocations="classpath:/mappers/*"
          p:configLocation="classpath:/mybatis_conf.xml"
    />

</beans>

dispatcher-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       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
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd">

    <!-- 扫描web包下的所有controller,注:service和mapper在root ApplicationContext里处理,这里不用重复扫描 -->
    <context:component-scan base-package="com.lanou3g.sms.web" />

    <!-- 放行静态资源 -->
    <mvc:resources mapping="/static/**" location="/static/" />

    <!-- 开启SpringMVC注解相关的支持 -->
    <mvc:annotation-driven />

    <!-- 配置视图解析器 -->
    <mvc:view-resolvers>
        <!--
        ContentNegotiatingViewResolver是一个特殊的视图解析器,本身不负责解析视图
        负责从管理的多个视图解析器中挑选一个最匹配的,返回给dispatcherSevlet使用
        -->
        <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
            <property name="viewResolvers">
                <list>
                <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
                    <property name="prefix" value="/WEB-INF/views/" />
                    <property name="suffix" value=".jsp" />
                </bean>
                </list>
            </property>
        </bean>

    </mvc:view-resolvers>

    <!-- 视图控制器(不进handler,直接返回jsp) -->
    <mvc:view-controller path="/" view-name="login" />
    <mvc:view-controller path="/login" view-name="login" />
    <mvc:view-controller path="/register" view-name="register" />
</beans>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值