使用SSM框架做了一些项目,一直都是使用别人已经搭建好的框架。于是自己尝试着搭建了一下框架,并研究了一下配置文件。
基本的组织结构和用法就不用多说了,各种官方文档上比较全面
开发环境MyEclipse+JDK1.7+Tomcat7
开发环境配置请查阅博客
本文按照开发环境搭建,完整的结构框架如下
web.xml应该是整个项目中最重要的配置文件了,配置方式与普通的servlet基本相似
mvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:resources/spring-servlet.xml
1
mvc
/
ContextconfigLocation配置配置springmvc加载的配置文件适配器、处理映射等等
url-pattern中 .* :访问以.*结尾 由DispatcherServlet进行解析
/ :所有访问由DispatcherServlet进行解析
配置Spring容器:
contextConfigLocation
classpath:resources/spring-mvc.xml
配置日志文件:
log4jConfigLocation
classpath:log4j.properties
log4jRefreshInterval
60000
org.springframework.web.context.ContextLoaderListener
org.springframework.web.util.Log4jConfigListener
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
encodingFilter
/*
java.lang.Throwable
/error.jsp
404
/error.jsp
500
/error.jsp
java.lang.Throwable
/error.jsp
404
/error.jsp
500
/error.jsp
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
encodingFilter
/*
log4jConfigLocation
classpath:log4j.properties
log4jRefreshInterval
60000
contextConfigLocation
classpath:resources/spring-mvc.xml
org.springframework.web.context.ContextLoaderListener
org.springframework.web.util.Log4jConfigListener
mvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:resources/spring-servlet.xml
1
mvc
/
60
error/access-denied
error/non-empty-group
text/plain;charset=UTF-8
NON_NULL
jdbc.driver =com.mysql.jdbc.Driver
jdbc.url = jdbc\:mysql\://yourUrl\:3306/test?createDatabaseIfNotExist\=true&useUnicode\=true&characterEncoding\=UTF-8
jdbc.user =yourName
jdbc.password = yourPwd
jdbc.maxActive=20
log4j.rootLogger=DEBUG,stdout,E
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%-5p]%d{yyyy-MM-dd HH:mm:ss}[%c]:%m%n
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.com.mchange.v2.c3p0=OFF
log4j.logger.com.mchange.v2=OFF
log4j.logger.org.springframework=OFF
log4j.logger.org.mybatis=OFF
log4j.logger.org.apache.ibatis=OFF
log4j.logger.org.apache.http=OFF
# error
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = D\:/logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern =[%-5p]%d{yyyy-MM-dd HH\:mm\:ss}[%c]\:%m%n
base:定义基础操作和基础类,一般具体操作和几次实体都继承自此结构下的接口
controller:控制层
dao:数据库持久层
handler:定义具体逻辑与操作
schema:实体,一般与数据库中各表的具体字段对应
util:工具类
resource:配置工具,包含mybatis的mapper映射文件,对数据库具体操作在此文件中
数据库中保存如下数据
mapper映射文件如下:
使用Postman测试
访问地址在controller视图控制类中定义
返回结果如下:
{
"code": "1000",
"data": {
"age": 26,
"collegeName": "清华大学",
"graduateYear": "2015",
"id": "1",
"name": "张三",
"sex": 1
},
"msg": "success"
}