环境说明:
开发环境:win7+Myclipase2015
项目属性:使用maven的javaWeb项目
使用框架:Spring+SpringMVC+MyBatis
使用数据库:sqlserver2008R2
创建项目:
创建一个maven项目
下一步,选择带maven的web app
点击Next,创建Maven ArcheType
填写完毕。点击完成。创建maven项目完毕。下面是原始的项目结构和Pom.xml。
感脚项目名后面一个尾巴Maven WebApp,别扭,右键项目,Rafactor,Raname为supermarket.。
点击OK。去修改一下上下文根目录。模糊记得以前修改web工程名字的时候就要修改上下文。
惊喜的发现,竟然自己改好了。好吧,检查一下也是必要的。程序员嘛,步步谨慎。
下面整理一下项目的结构,使用工具New出来的Maven项目有三个地方要改。
1.印象中标准的maven项目除了有resource外还有java目录。那么在main中new一个java文件夹,用于存入java代码。
2.默认使用的jdk是1.5.与本机安装的一般都不符合,我的是1.8.通过右键项目,build path,config build path,双击jreSystemLibrary(如果不是你想要的版本的时候),选择为你想要的版本的jdk,保存。
3.Web.xml默认生成的web.xml与实际我们用的不太相符,增加一个欢迎页面。index.jsp.
index.jsp页面如下:
通过tomcat或jboss部署。我用的是jboss成功后,在地址栏输入http://localhost:28080/supermarket/,出现欢迎页面。
使用maven的webApp创建完毕,也不是非常的简单和轻松,我也是第一次尝试,边摸索边查找,克服了一个又一个问题。下面就开始准备spring+springMVC+mybatis的环境了。
准备依赖包:spring+springMVC+mybatis+sqlserver2008r2。经过到处搜过,终于准备好了,当然也不一定全,其它的缺少时再说吧,我估计是差不多了。不需要的或暂时用不到的我都没有加进来,边做边加。下面是pom.xml。一张图显示不下,还是直接贴内容吧。
下面是依赖包成功导入后的截图,项目结束后我会把项目打包上传到csdn资源,里面包含该项目所有jar包。
创建项目包结构:
java包结构:
controller包:既然使用到SpingMVC框架,首先是要controller包,用于存入控制器层的各个业务控制器入口。
service包serviceimpl包:controller收到页面请求后,调用业务层处理业务逻辑,那就是到了servrice层,service包里有service接口和service实现类包,service的实现类放在impl包中。
mapper包:service实现类收到controller的调用后,处理自己的业务,当要用数据库操作时,就调用dao去处理数据库,不过现在是用mybatis框架,就用mapper接口来调用Mapper.xml里的语句,所以不需要 dao包了,直接创建一个mapper包用于存储数据库接口。
javabean包:用于存放javabean,或者叫vo,pojo,entity等实体类
utils包:用于存放自定义的工具类,像字符器处理,日期格式处理,密码加密解密处理等,通用函数处理。
资源配置文件结构:mybatis的mapper文件夹用于编辑sql语句的mpper.xml文件,spring的applicationdao.xml用于IOC控制,切面,数据库连接池,属性文件加载,事务管理等。数据库的jdbc.properties用于指定数据库连接,日志包log4j的log4j.properties控制项目的日志输出,springMVC的配置文件spring-mvc.xml控制SpringMVC的视图解析器,注解驱动等配置。
编写配置文件:
web.xml:
增加spring的监听类ContextLoaderListener,这个监听器的作用是启动web容器时,自动装载ApplicationContext.xml的配置信息,它之所以能有这个功能是它实现了ServletContextLister接口。在web.xml中配置了这个监听器后,在web容器启动时就会默认执行它的实现方法。web.xml中声明了ContextLoaderLister监听后,如果在web.xml中不写任何参数配置信息,applicationContext会到默认的路径中查找默认的配置信息。/WEB-INF/applicationContext.xml。名字和路径都是固定的。如果想自定义配置文件,那么需要在web.xml中增加一个context参数,参数名是contextConfigLocation.值里指定相应的xml文件,多个用,分开。也可以使用通配符applicationContext-*.xml。log4jConfigLocation指定log4j的配置文件位置。也需要在web.xml中声明log4j配置的监听器。Log4jConfigListener。
现在是2018-12-14 23:11分了,明天再继续。祝大家晚安!!!学习很重要,身体更重要!!!