配置pom.xml
<project xmlns =“http://maven.apache.org/POM/4.0.0”xmlns:xsi =“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation =“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>
<modelVersion> 4.0.0 </ modelVersion>
<groupId> springMVC </ groupId>
<artifactId> springMVC </ artifactId>
<version> 0.0.1-SNAPSHOT </ version>
<包装>战争</ packaging>
<name />
<description />
<属性>
<project.build.sourceEncoding> UTF-8 </project.build.sourceEncoding>
</ properties>
<依赖关系>
<依赖关系>
<groupId> org.codehaus.jackson </ groupId>
<artifactId> jackson-mapper-asl </ artifactId>
<version> 1.9.2 </ version>
</依赖>
<依赖关系>
<groupId> org.codehaus.jackson </ groupId>
<artifactId> jackson-core-asl </ artifactId>
<version> 1.9.2 </ version>
</依赖>
<依赖关系>
<groupId> com.fasterxml.jackson.core </ groupId>
<artifactId> jackson-core </ artifactId>
<version> 2.2.2 </ version>
</依赖>
<依赖关系>
<groupId> com.fasterxml.jackson.core </ groupId>
<artifactId> jackson-annotations </ artifactId>
<version> 2.2.2 </ version>
</依赖>
<依赖关系>
<groupId> com.fasterxml.jackson.core </ groupId>
<artifactId> jackson-databind </ artifactId>
<version> 2.2.2 </ version>
</依赖>
<依赖关系>
<groupId> org.codehaus.jackson </ groupId>
<artifactId> jackson-mapper-lgpl </ artifactId>
<version> 1.9.12 </ version>
</依赖>
<! - jack core annotation databind end - >
<! - Fastjson begin(这个可以不需要,因为Fastjson要比Jackson的效率高,当自己组织JSON数据时可以使用) - >
<依赖关系>
<groupId> com.alibaba </ groupId>
<artifactId> fastjson </ artifactId>
<version> 1.1.30 </ version>
</依赖>
<! - Fastjson end - >
<依赖关系>
<groupId> net.sf.json-lib </ groupId>
<artifactId> json-lib </ artifactId>
<version> 2.4 </ version>
<classifier> jdk15 </ classifier>
</依赖>
<依赖关系>
<groupId> org.apache.poi </ groupId>
<artifactId> poi-ooxml </ artifactId>
<version> 3.9 </ version>
</依赖>
<依赖关系>
<groupId> org.apache.openejb </ groupId>
<artifactId> javaee-api </ artifactId>
<version> 5.0-1 </ version>
<scope>提供</ scope>
</依赖>
<依赖关系>
<groupId> commons-io </ groupId>
<artifactId> commons-io </ artifactId>
<version> 2.4 </ version>
</依赖>
<依赖关系>
<groupId> javax.servlet </ groupId>
<artifactId> jstl </ artifactId>
<version> 1.2 </ version>
<scope>提供</ scope>
</依赖>
<依赖关系>
<groupId> javax.servlet.jsp </ groupId>
<artifactId> jsp-api </ artifactId>
<version> 2.1 </ version>
<scope>提供</ scope>
</依赖>
<! - 文件上传 - >
<依赖关系>
<groupId> commons-fileupload </ groupId>
<artifactId> commons-fileupload </ artifactId>
<version> 1.2.2 </ version>
</依赖>
<! - mysql数据库驱动 - >
<依赖关系>
<groupId> mysql </ groupId>
<artifactId> mysql-connector-java </ artifactId>
<version> 5.1.37 </ version>
</依赖>
<! - 德鲁伊 - >
<依赖关系>
<groupId> com.alibaba </ groupId>
<artifactId> druid </ artifactId>
<version> 0.2.9 </ version>
</依赖>
<! - aspectjweaver.jar这是Spring AOP所要用到的包 - >
<依赖关系>
<groupId> org.aspectj </ groupId>
<artifactId> aspectjweaver </ artifactId>
<version> 1.7.1 </ version>
</依赖>
<! - hibernate4 - >
<依赖关系>
<groupId> org.hibernate </ groupId>
<artifactId> hibernate-core </ artifactId>
<version> 4.2.5.Final </ version>
</依赖>
<依赖关系>
<groupId> org.hibernate </ groupId>
<artifactId> hibernate-entitymanager </ artifactId>
<version> 4.2.5.Final </ version>
</依赖>
<依赖关系>
<groupId> org.hibernate </ groupId>
<artifactId> hibernate-ehcache </ artifactId>
<version> 4.2.5.Final </ version>
</依赖>
<依赖关系>
<groupId> org.hibernate.javax.persistence </ groupId>
<artifactId> hibernate-jpa-2.0-api </ artifactId>
<version> 1.0.1.Final </ version>
</依赖>
<! - spring mvc - >
<依赖关系>
<groupId> org.springframework </ groupId>
<artifactId> spring-webmvc </ artifactId>
<version> 3.2.0.RELEASE </ version>
</依赖>
<! - spring3 - >
<依赖关系>
<groupId> org.springframework </ groupId>
<artifactId> spring-core </ artifactId>
<version> 3.2.0.RELEASE </ version>
</依赖>
<依赖关系>
<groupId> org.springframework </ groupId>
<artifactId> spring-context </ artifactId>
<version> 3.2.0.RELEASE </ version>
</依赖>
<依赖关系>
<groupId> org.springframework </ groupId>
<artifactId> spring-jdbc </ artifactId>
<version> 3.2.0.RELEASE </ version>
</依赖>
<依赖关系>
<groupId> org.springframework </ groupId>
<artifactId> spring-beans </ artifactId>
<version> 3.2.0.RELEASE </ version>
</依赖>
<依赖关系>
<groupId> org.springframework </ groupId>
<artifactId> spring-web </ artifactId>
<version> 3.2.0.RELEASE </ version>
</依赖>
<依赖关系>
<groupId> org.springframework </ groupId>
<artifactId> spring-expression </ artifactId>
<version> 3.2.0.RELEASE </ version>
</依赖>
<依赖关系>
<groupId> org.springframework </ groupId>
<artifactId> spring-orm </ artifactId>
<version> 3.2.0.RELEASE </ version>
</依赖>
<依赖关系>
<groupId> org.springframework </ groupId>
<artifactId> spring-test </ artifactId>
<version> 3.2.0.RELEASE </ version>
</依赖>
<! - jsp页面使用的jstl - >
<依赖关系>
<groupId> javax.servlet </ groupId>
<artifactId> jstl </ artifactId>
<version> 1.2 </ version>
</依赖>
</依赖关系>
<build>
<plugins>
<plugin>
<artifactId> maven-war-plugin </ artifactId>
</ plugin>
<plugin>
<artifactId> maven-compiler-plugin </ artifactId>
<配置>
<source> 1.5 </ source>
<target> 1.5 </ target>
</ configuration>
</ plugin>
</ plugins>
</ build>
</ project>
配置config.properties
hibernate.dialect = org.hibernate.dialect.MySQLDialect
driverClassName = com.mysql.jdbc.Driver
validationQuery = SELECT 1
jdbc_url = jdbc:mysql:// localhost:3306 / mysql?useUnicode = true&characterEncoding = UTF-8
jdbc_username = root
jdbc_password = 123456
hibernate.hbm2ddl.auto = update
hibernate.show_sql = true
hibernate.format_sql = false
sessionInfoName = sessionInfo
uploadFieldName = filedata
uploadFileMaxSize = 20971520
uploadFileExts = txt,rar,zip,doc,docx,xls,xlsx,jpg,jpeg,gif,png,swf,wmv,avi,wma,mp3,mid
uploadDirectory = attach
配置spring-hibernate.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:xsi =“http://www.w3 .org / 2001 / XMLSchema-instance“xmlns:tx =”http://www.springframework.org/schema/tx“xmlns:aop =”http://www.springframework.org/schema/aop“xsi:schemaLocation =“
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
“>
<! - JNDI(通过Tomcat)方式配置数据源 - >
<! - <bean id =“dataSource”class =“org.springframework.jndi.JndiObjectFactoryBean”> <property name =“jndiName”value =“$ {jndiName}”> </ property> </ bean>
<! - 引入属性文件 - >
<context:property-placeholder location =“classpath:config.properties”/>
“bean name =”dataSource“class =”com.alibaba.druid.pool.DruidDataSource“init-method =”init“destroy-method =”close“>
<property name =“url”value =“$ {jdbc_url}”/>
<property name =“username”value =“$ {jdbc_username}”/>
<property name =“password”value =“$ {jdbc_password}”/>
<! - 初始化连接大小 - >
<property name =“initialSize”value =“0”/>
<! - 连接池最大使用连接数量 - >
<property name =“maxActive”value =“20”/>
<! - 连接池最大空闲 - >
<property name =“maxIdle”value =“20”/>
<! - 连接池最小空闲 - >
<property name =“minIdle”value =“0”/>
<! - 获取连接最大等待时间 - >
<property name =“maxWait”value =“60000”/>
<! - <property name =“poolPreparedStatements”value =“true”/> <property name =“maxPoolPreparedStatementPerConnectionSize”value =“33”/> - >
<property name =“validationQuery”value =“$ {validationQuery}”/>
<property name =“testOnBorrow”value =“false”/>
<property name =“testOnReturn”value =“false”/>
<property name =“testWhileIdle”value =“true”/>
<! - 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 - >
<property name =“timeBetweenEvictionRunsMillis”value =“60000”/>
<! - 配置一个连接在池中最小生存的时间,单位是毫秒 - >
<property name =“minEvictableIdleTimeMillis”value =“25200000”/>
<! - 打开removeAbandoned功能 - >
<property name =“removeAbandoned”value =“true”/>
<! - 1800秒,也就是30分钟 - >
<property name =“removeAbandonedTimeout”value =“1800”/>
<! - 关闭放弃连接时输出错误日志 - >
<property name =“logAbandoned”value =“true”/>
<! - 监控数据库 - >
<! - <property name =“filters”value =“stat”/> - >
<property name =“filters”value =“mergeStat”/>
</ bean>
<! - 配置hibernate会话工厂 - >
<bean id =“sessionFactory”class =“org.springframework.orm.hibernate4.LocalSessionFactoryBean”>
<property name =“dataSource”ref =“dataSource”/>
<property name =“hibernateProperties”>
<道具>
<prop key =“hibernate.hbm2ddl.auto”> $ {hibernate.hbm2ddl.auto} </ prop>
<prop key =“hibernate.dialect”> $ {hibernate.dialect} </ prop>
<prop key =“hibernate.show_sql”> $ {hibernate.show_sql} </ prop>
<prop key =“hibernate.format_sql”> $ {hibernate.format_sql} </ prop>
<prop key =“current_session_context_class”>线程</ prop>
<prop key =“hibernate.connection.driver_class”> $ {driverClassName} </ prop>
</ props>
</ property>
<! - 自动扫描注解方式配置的hibernate类文件 - >
<property name =“packagesToScan”>
<list>
<! - 此处与实体路径对应 - >
<value> com.tianyan.domain.entity </ value>
</ list>
</ property>
</ bean>
<! - 配置事务管理器 - >
<bean name =“transactionManager”class =“org.springframework.orm.hibernate4.HibernateTransactionManager”>
<property name =“sessionFactory”ref =“sessionFactory”> </ property>
</ bean>
<! - 注解方式配置事物 - >
<tx:annotation-driven transaction-manager =“transactionManager”/>
</ beans>
配置spring-mvc.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:p =“http://www.springframework.org/schema/p”
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-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd“>
<! - 支持注解 - >
<mvc:annotation-driven />
<! - 自动装配DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter - >
<mvc:default-servlet-handler />
<! - 设置自动扫描的路径,用于自动注入bean这里的路径与自己的项目目录对应 - >
<! - 扫描控制器路由控制器 - >
<context:component-scan base-package =“com.tianyan.web.controller”/>
<context:component-scan
base-package =“com.tianyan.domain.dao,com.tianyan.domain.service”/>
<! - 注册上传 - >
<bean id =“multipartResolver”
class =“org.springframework.web.multipart.commons.CommonsMultipartResolver”>
<property name =“maxUploadSize”value =“10485760”/>
<property name =“maxInMemorySize”value =“10240”/>
</ bean>
<! - 视图解析器 - >
<bean id =“viewResolver”
class =“org.springframework.web.servlet.view.InternalResourceViewResolver”>
<property name =“viewClass”
value =“org.springframework.web.servlet.view.JstlView”/>
<property name =“suffix”value =“。jsp”/> <! - 视图文件类型 - >
<property name =“prefix”value =“/ WEB-INF / views”/> <! - 视图文件的文件夹路径 - >
</ bean>
</ beans>
配置web.xml
<?xml version =“1.0”encoding =“UTF-8”?>
<web-app version =“2.5”
xmlns =“http://java.sun.com/xml/ns/javaee”
xmlns:xsi =“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation =“http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd“>
<display-name> </ display-name>
<welcome-file-list>
<welcome-file> index.jsp </ welcome-file>
</ welcome-file-list>
<! - spring hibernate - >
<context-param>
<param-name> contextConfigLocation </ param-name>
<param-value> classpath:spring-hibernate.xml </ param-value>
</ context-param>
<! - openSessionInView配置 - >
<过滤器>
<filter-name> openSessionInViewFilter </ filter-name>
<filter-class> org.springframework.orm.hibernate4.support.OpenSessionInViewFilter </ filter-class>
<init-param>
<param-name> singleSession </ param-name>
<param-value> true </ param-value>
</ init-param>
</ filter>
<filter-mapping>
<filter-name> openSessionInViewFilter </ filter-name>
<url-pattern> / * </ url-pattern>
</ filter-mapping>
<! - spring mvc配置 - >
<servlet>
<servlet-name> springMVC </ 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> springMVC </ servlet-name>
<url-pattern> / </ url-pattern>
</ servlet-mapping>
<过滤器>
<filter-name> sessionFilter </ filter-name>
<filter-class> com.tianyan.web.core.SessionFilter </ 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> sessionFilter </ filter-name>
<url-pattern> / * </ url-pattern>
</ filter-mapping>
<servlet-mapping>
<servlet-name> default </ servlet-name>
<url-pattern> / js / * </ url-pattern>
<url-pattern> / css / * </ url-pattern>
<url-pattern> / images / * </ url-pattern>
<url-pattern> / fonts / * </ url-pattern>
</ servlet-mapping>
<listener>
<listener-class> org.springframework.web.context.ContextLoaderListener </ listener-class>
</ listener>
</ web-app>