maven搭建
安装过程挺简单的,去apache下载apache-maven的zip包,解压到一个目录下,如下图
接下来配置windows环境,右击我的电脑--》属性--》高级系统设置--》环境变量--》系统变量--》新建,如下图
就是你解压的maven的home目录;接着编辑系统变量的Path,如图
其实跟配置java环境是一样的,最后几个连续确定之后就好了,这几个确定一定要点,不然配置不会保存,更不会生效! home路径一定要写自己的,别搬我的呀!路径最好是拷贝,手动输入太容易出错了。
接下来验证环境是否配置成功,打开命令行,输入mvn -v 如果出现下图的信息,那么恭喜你,配置成功了!当然,信息可能有些许出入,如版本不同等,这些不用在意。
Eclipse(java ee版)集成maven
一般而言,新的eclipse都已经集成了maven,如果没有那么就安装,点击eclipse菜单栏Help->Eclipse Marketplace搜索关键字maven到插件Maven Integration for Eclipse 并点击安装即可,接下来将eclipse集成的maven换成我们自己的,而不用eclipse自带的,重新定位,点击Window -> Preference -> Maven -> Installation -> Add进行设置,如下图
设置完成,那么eclipse配置maven就完成了,myeclipse配置和这个是一样的。
创建ssm项目
选择建立Maven Project 选择File -> New -> Other,在New窗口中选择 Maven -> Maven Project;点击next,如下图
选择项目路径,如下图,然后next
选择项目类型 选择Artifact Id为maven-archetype-webapp那一项,如下图
输入Group ID和 Artifact ID,以及Package,具体Group ID和 Artifact ID代表什么,可以去阅读《Maven 实战》,Group ID相当于一个组织,而Artifact ID相当于这个组织下的一个具体项目,Packege的话会根据你的Group ID和Artifact ID生成一个默认的名称,就用默认的就可以,如下图
点finish之后,项目结构如下图
若目录结构和上面的有差别,那么将perspective改成Java模式就好了。上面的目录结构离标准的maven web结构还有一点差别,少了一个文件夹src/test/resources,我们手动创建下,右键项目根目录点击New -> Source Folder,建出这个文件夹,如下图:
Finish之后,项目结构图如下所示:
把项目变成Dynamic Web项目右键项目,properties --》Project Facets,点击Convert to faceted fro,勾上Dynamic Web Module,并将Version为2.3。(3.0为Java7的)。
设置部署程序集(Web Deployment Assembly)
上面步骤设置完成后,点击OK,再右键项目,选择properties --》Deployment Assembly,如下图
此处列表是,部署项目时,文件发布的路径。
(1)我们删除test的两项,因为test是测试使用,并不需要部署。
(2)设置将Maven的jar包发布到lib下。
Add -> JavaBuild Path Entries -> Maven Dependencies -> Finish
设置完成效果图
构建框架
在pom.xml中添加所需要的jar包,内容如下图
4.0.0com.lee.mvnbook maven-ssm-web war0.0.1-SNAPSHOTmaven-ssm-web Maven Webapphttp://maven.apache.org4.0.2.RELEASE1.81.8org.springframework spring-core ${spring.version}org.springframework spring-web ${spring.version}org.springframework spring-oxm ${spring.version}org.springframework spring-tx ${spring.version}org.springframework spring-jdbc ${spring.version}org.springframework spring-webmvc ${spring.version}org.springframework spring-aop ${spring.version}org.springframework spring-context-support ${spring.version}org.springframework spring-test ${spring.version}org.mybatis mybatis 3.3.0mysql mysql-connector-java 5.1.38com.alibaba druid 1.0.26org.mybatis mybatis-spring 1.2.3javax.servlet jstl 1.2log4j log4j 1.2.16org.slf4j slf4j-api 1.6.1org.slf4j slf4j-nop 1.6.4junit junit 4.7testmaven-ssm-web
如果依赖不知道怎么写,比如groupId、artifactId、version不知道填什么,那么直接上http://search.maven.org/搜,对应着填写就可以了,如下图
保存pom.xml,maven就会帮我们下载我们配置的所有jar包了,jar包依赖的jar包也会自动下载,是不是很方便!当然,这个下载可能需要较长的时间,不要急,当eclipse右下角的百分比进度没有了,就下载好了。jar包下载完成后,项目结构图如下
配置文件
web.xml
<?xml version="1.0" encoding="UTF-8"?>SSM configurationcharacterEncodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8characterEncodingFilter/*contextConfigLocationclasspath:spring.xml,classpath:mybatis-spring.xmlorg.springframework.web.context.ContextLoaderListenerspringDispatcherServletorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:spring-mvc.xml1springDispatcherServlet/index.htmlindex.jsp
spring.xml
<?xml version="1.0" encoding="UTF-8"?>
mybatis-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?>
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?>
log4j.properties
log4j.rootLogger=DEBUG, stdoutlog4j.logger.org.mybatis=DEBUGlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n
mysqldb.properties
jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://192.168.1.100:3306/mybatisjdbc.username=rootjdbc.password=rootjdbc.initialSize=1jdbc.minIdle=1jdbc.maxActive=20jdbc.maxWait=60000jdbc.removeAbandoned=truejdbc.removeAbandonedTimeout=180jdbc.timeBetweenEvictionRunsMillis=60000jdbc.minEvictableIdleTimeMillis=300000jdbc.validationQuery=SELECT 1jdbc.testWhileIdle=truejdbc.testOnBorrow=falsejdbc.testOnReturn=false
项目结构图如下
java文件与jsp文件
PersonController.java
package com.huawei.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import com.huawei.model.Person;import com.huawei.service.IPersonService;@Controller@RequestMapping("/personController")public class PersonController { private IPersonService personService; public IPersonService getPersonService() { return personService; } @Autowired public void setPersonService(IPersonService personService) { this.personService = personService; } @RequestMapping("/showPerson") public String showPersons(Model model){ List persons = personService.loadPersons(); model.addAttribute("persons