一、在web.xml中配置*控制器
1、配置DispatcherServlet
<servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
2、配置springMVC需要加载的配置文件springmvc.xml
<init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
3、servlet映射哪些请求,配置mapping
/特殊映射,默认匹配所有的请求,所有的请求都会到dispatchServlet中。
<servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
4、我们在这个文件中解决编码问题。
<filter> <filter-name>encode</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>encode</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
二、配置springmvc.xml
1、头部为如下代码:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" 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" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
2、开启SpringMVC注解模式,代码如下,他有两个作用,
(1)、简化配置:
自动注册两个组件:DefaultAnnotationHandlerMapping(使用注解驱动的Handle映射),AnnotationMethodHandlerAdapter(基于注解方法Handler适配器)放入spring容器中
(2)、提供一系列数据绑定,数字和日期的format的注解(@NumberFormat,@DataTimeFormat)以及xml,json默认读写支持。
<mvc:annotation-driven></mvc:annotation-driven>
3、下面进行静态资源的配置,有些资源不经过(js,img)不经过我们的请求。需要配置,实例如下:
<mvc:resources location="/Css/" mapping="/Css/**"></mvc:resources> <mvc:resources location="/Js/" mapping="/Js/**"></mvc:resources> <mvc:resources location="/img/" mapping="/img/**"></mvc:resources>
4、请求返回jsp或者json,json不需要配置,有默认的json读写支持,jsp需要返回视图,我们配置试图解析器。
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property> <property name="prefix" value="/"></property> <property name="suffix" value=".jsp"></property> </bean>
5、配置扫描范围,扫描业务层注解
<context:component-scan base-package="com.bdqn.jiankang"></context:component-scan>
6、以下是springMVC的基本配置,我们也可以配置文件解析器,来声明文件上传下载的最大值为5MB。
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize"> <value>5242880</value> </property> </bean>
7、配置处理异常的页面,他只处理运行时的异常,异常后让其返回自定义的错误页面。
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <prop key="java.lang.RuntimeException">error</prop> </props> </property> </bean>
8、静态页面的拦截可以在web.xml进行:下面是报405异常返回error.jsp.
<error-page> <error-code>405</error-code> <location>/error.jsp</location> </error-page>
三、配置applicationContext.xml文件
1、我们在这个文件中,先加载db.properties属性文件,然后配置数据库相关参数。加载的db.properties如下:(主要是数据库连接的)
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/doctor jdbc.username=root jdbc.password=root
2、配置数据源,参数可以用el表达式${},数据库连接池配置如下:
<bean id="dataSource" class="org.apache.commons.dbcp.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}" /> <!-- 连接池私有属性 --> <property name="maxActive" value="30" /> <property name="maxIdle" value="5" /> </bean>
3、下面配置SqlSessionFactory对象,注入数据库连接池,同时加载mybatis的全局配置文件。
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 注入数据库连接池 --> <property name="dataSource" ref="dataSource" /> <!-- 加载mybatis的全局配置文件 --> <property name="configLocation" value="classpath:sqlMapConfig.xml" /> </bean>
4、配置Mapper扫描器,配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 注入sqlSessionFactory --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> <!-- 给出需要扫描Dao接口包 --> <property name="basePackage" value="com.bdqn.jiankang.dao"></property> </bean>
5、配置事务管理器
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <!-- 注入数据库的连接池--> <property name="dataSource" ref="dataSource" /> </bean>