1)Windows 10 企业版
2)JDK 1.8.0_131
3)Eclipse Java EE IDE for Web Developers Version: Neon.3 Release (4.6.3)
4)Tomcat 8.5
maven的下载地址:http://maven.apache.org/download.cgi
下载后解压放在d:\Java路径下
在环境变量中,新增系统变量名:MAVEN_HOME,变量值:D:\Java\maven
在Path中追加:%MAVEN_HOME%\bin;
在命令行窗口中输入:mvn –v,如果看见下图则说明maven安装配置完毕
maven仓库默认位置在系统用户目录下的.m2目录中,类似下图
因为众所周知的原因,直接访问maven公共仓库的速度比较慢,所以推荐使用阿里的maven仓库镜像。编辑setting.xml文件,在mirrors节点下,新增如下内容,这样从仓库中下载jar包速度上会快很多。
nexus-aliyun
*
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
设置eclipse自带maven整合工具,在Preferences中找到Maven节点,观察User Settings项的设置是否正确
点击Installations节点,添加maven runtime
问题描述:eclipse创建maven项目时,显示的JDK默认版本为1.5,实际使用的JDK为1.8,如何修改?
解决方案:找到本机maven仓库存放位置,比如:${user.home}/.m2/路径,编辑settings.xml文件,在profiles节点下配置
jdk-1.8
true
1.8
1.8
1.8
1.8
1)选择Maven Project
2)点击Next,选择默认工作空间位置
3)选择web类型
4)填写GroupID、ArtifactID
Group ID:相当于一个组织
Artifact ID:相当于这个组织下的一个具体项目
Packege:根据Group ID和Artifact ID生成一个默认的名称
5)创建出的maven项目如下图
6)问题描述:提示错误:
在eclipse中设置Server为Tomcat,注意JRE设置为安装的JDK的jre
在工程上右键,查看工程属性,找到Java Build Path,添加Server Runtime为Tomcat
点击Finish后,项目工程变为下图
7)pom.xml文件中修改build节点
org.apache.maven.plugins
maven-compiler-plugin
1.8
修改pom.xml内容为:
4.0.0
cn.temptation
ssm
war
0.0.1-SNAPSHOT
ssm Maven Webapp
http://maven.apache.org
4.3.8.RELEASE
org.springframework
spring-core
${spring.version}
org.springframework
spring-aop
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-tx
${spring.version}
org.aspectj
aspectjrt
1.8.0
org.aspectj
aspectjweaver
1.8.0
org.mybatis
mybatis
3.3.0
mysql
mysql-connector-java
5.1.26
com.alibaba
druid
1.0.20
org.mybatis
mybatis-spring
1.2.3
javax.servlet
jstl
1.2
log4j
log4j
1.2.17
org.slf4j
slf4j-api
1.7.21
junit
junit
3.8.1
test
ssm
org.apache.maven.plugins
maven-compiler-plugin
1.8
保存后,可以看到相关jar包被下载至本地仓库
因为服务端maven项目的标准结构有四个子包:src/main/java、src/main/resources、src/test/java、src/test/resources,这里缺少了src/test/resources,所以手动补上。
在项目中新建Source Folder
创建src/test/resources目录后,工程如下图所示
右键查看项目属性,点击Deployment Assembly,移除test和target
移除后如下图
创建log4j.properties文件,内容如下:
log4j.rootLogger=DEBUG,MongoDB,Console,File
#log4j.appender.MongoDB=org.log4mongo.MongoDbPatternLayoutAppender
log4j.appender.MongoDB.Threshold=DEBUG
log4j.appender.MongoDB.databaseName=applog
log4j.appender.MongoDB.collectionName=appCallLog
log4j.appender.MongoDB.hostname=192.168.2.79
log4j.appender.MongoDB.port=27001
log4j.appender.MongoDB.layout=org.log4mongo.MongoDbPatternLayout
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n
log4j.appender.File = org.apache.log4j.RollingFileAppender
log4j.appender.File.File = logs/ssm.log
log4j.appender.File.MaxFileSize = 10MB
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[%p] [%d{ -MM-dd HH\:mm\:ss}][%c]%m%n
创建jdbc.properties文件,内容如下:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/admin
username=root
password=root
initialSize=0
maxActive=20
maxIdle=20
minIdle=1
maxWait=60000
创建spring-mvc.xml文件,内容如下:
text/html;charset=UTF-8
创建spring-db.xml文件,内容如下:
创建spring-tx.xml文件,内容如下:
创建spring-dao.xml 文件,内容如下:
创建applicationContext.xml文件,内容如下:
将web.xml修改,内容如下:
Archetype Created Web Application
/index.jsp
contextConfigLocation
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
true
encoding
UTF-8
encodingFilter
/*
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
1
true
SpringMVC
/
编写User实体类,代码如下:
package cn.temptation.domain;
/**
* 用户信息
*/
public class User {
// 成员变量
private Integer userid;
private String username;
private String password;
// 构造函数
public User() {
super();
}
public User(Integer userid, String username, String password) {
super();
this.userid = userid;
this.username = username;
this.password = password;
}
// 成员方法
public Integer getUserid() {
return userid;
}
public void setUserid(Integer userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
编写UserController控制器,代码如下:
package cn.temptation.web;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import cn.temptation.dao.UserDao;
import cn.temptation.domain.User;
/**
* 用户控制器
*/
@Controller
@RequestMapping(value = "/user")
public class UserController {
@Resource
private UserDao userDao;
@RequestMapping("/view")
public String view() {
return "main/login";
}
@RequestMapping("/indexview")
public String index() {
return "main/index";
}
@RequestMapping(value = "/login", method = RequestMethod.POST)
public ModelAndView login(User model, HttpSession session) {
User user = userDao.findByUsername(model.getUsername());
if (user == null || !user.getPassword().equals(model.getPassword())) {
return new ModelAndView("redirect:/login.jsp");
} else {
session.setAttribute("user", user);
ModelAndView mav = new ModelAndView();
mav.setViewName("index");
return mav;
}
}
}
编写UserDao数据访问层接口,代码如下:
package cn.temptation.dao;
import cn.temptation.domain.User;
public interface UserDao {
public abstract User findByUsername(String username);
}
编写UserMapper.xml数据访问层映射文件,代码如下:
编写login.jsp登录页,代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
登录
编写index.jsp主页,代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
主页
欢迎,${user.username }
在项目上右键,找到Maven属性的Update Project,也可以Alt+F5操作
修改项目编译路径为JRE系统类库,否则后续操作出错
项目上右键,找到Run As属性,找到Maven install
点击执行,结果如下说明构建成功
项目运行还是使用web工程的部署运行方式
运行项目,观察是否报错
登录页面
登录成功,跳转到主页