点击“Maven”,选择“Create from archetype”,选择webapp(注意有两个webapp,选第二个,不要选错),然后点击next
GroupId和ArtifactId随便写,点击next
为了加快所需要包下载的速度点击加号,在弹出的Name和value中分别加入archetypeCatalog和internal然后点击OK,点击next
点击finish
打开pom.xml文件,为以后修改版本号,我把版本号放在properties中
然后在dependencies加入依赖,可以直接复制我的dependencies到你的工程中(只覆盖dependencies本部分就可以了)
org.aspectj
aspectjweaver
1.6.8
org.springframework
spring-aop
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-test
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-jdbc
${spring.version}
junit
junit
4.11
test
mysql
mysql-connector-java
${mysql.version}
javax.servlet
servlet-api
2.5
provided
javax.servlet.jsp
jsp-api
2.0
provided
jstl
jstl
1.2
log4j
log4j
${log4j.version}
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.3.0
c3p0
c3p0
0.9.1.2
jar
compile
com.github.pagehelper
pagehelper
5.1.2
右键java目录,设置java目录为Sources Root
同理,右键resourses目录,设置它为Resources Root
在Java目录下创建cn.incom(可以随意起)目录,然后在cn.incom目录下分别创建controller目录(存放controller),domain(持久层)目录,mapper(存放mapper接口)目录,service(服务层)目录;service目录下再创建Impl(服务实现)目录,效果如图:
在resources目录下创建mapper目录,存放mapper文件
在webapp目录下创建css(存放css文件)、js(存放文件)、images(存放图片资源)目录;在WEB-INF下创建pages目录(存放jsp文件),如下图:
1.创建applicationContext.xml,右键resources创建xml选择“Spring Config”
名字(可以随意起,一般为)为applicationContext
由于他给的约束(画红线的地方)是不够的的,你可以直接复制我的代码,连接池的数据部分根据自己的数据库端口号,账号,密码自行填写
offsetAsPageNum=false
rowBoundsWithCount=false
pageSizeZero=true
reasonable=false
rowBoundsWithCount=false
supportMethodsArguments=false
returnPageInfo=none
2.编写springmvc.xml,同理
同样,原始的给出的约束(红线)是不够的的,可以直接复制我的代码
3.创建日志文件log4j.properties
右击resources,创建file
直接输入log4j.properties
log4j.properties的内容可以直接复制我的如下:
# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE debug info warn error fatal
log4j.rootCategory=info, CONSOLE, LOGFILE
# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n
# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:\axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n
4.配置web.xml
可以把我的代码直接复制到你的web-app的约束下
Archetype Created Web Application
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
classpath:applicationContext.xml
dispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc.xml
1
dispatcherServlet
/
characterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
characterEncodingFilter
/*
到此,整合完了,开始验证了
五.验证(查询我的数据库中t_user表中的所有用户,在页面中显示出来)
1.在domain包中建立持久类User,数据类型与数据库中的类型对应
package cn.incom.domain;
public class User {
private Integer id;
private String username;
private String jobs;
private String phone;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getJobs() {
return jobs;
}
public void setJobs(String jobs) {
this.jobs = jobs;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", jobs='" + jobs + '\'' +
", phone='" + phone + '\'' +
'}';
}
}
2.在resources目录中mapper目录建立mapper文件,为了好区分,我的mapper文件名字为:UserMapper.xml
**注意namespace的路径是mapper接口的路径,在application.xml中我设置的mapper接口路径是cn.incom文件夹下的mapper目录
3.在cn.incom文件夹mapper下建立mapper接口,为了区分名字为UserMapper,方法名字跟mapper文件中的定义的名字一样,例如我的UserMapper.xml中查询全部用户的id为findAll,那么方法名就为findAll,注入注解@Repository,如图:
package cn.incom.mapper;
import cn.incom.domain.User;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface UserMapper {
List findAll();
}
4.在service目录中建立对应的服务接口,接口的方法跟cn.incom.mapper中UserMapper接口 的方法一样,
5.编写接口的实现类,在service目录Impl目录建立服务的接口实现类
package cn.incom.service.Impl;
import cn.incom.domain.User;
import cn.incom.mapper.UserMapper;
import cn.incom.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
public List findAll() {
return userMapper.findAll();
}
}
6.建立controller
package cn.incom.controller;
import cn.incom.domain.User;
import cn.incom.service.UserService;
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 java.util.List;
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
public UserService userService;
@RequestMapping("/toAll")
public String toAll(Model model){
List userList=userService.findAll();
model.addAttribute("userlist",userList);
return "success";//返回success.jsp页面
}
}
7.在webapp根目录下建立index.jsp;在WEB-INF/pages目录下建立success.jsp
index.jsp的内容:
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
Title
点击查看
成功页面success,jsp的内容,注意引入jstl标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
关闭忽略el表达式:
isELIgnored="false
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
Created by IntelliJ IDEA.
User: HP
Date: 2020/4/3
Time: 23:15
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
Title
${userlist.id}
${userlist.username}
${userlist.jobs}
${userlist.phone}
六.部署到Tomcat上
1.添加运行环境
2.点击“+”好添加
完成,运行项目
完成,success页面有点偷懒,不过没事
如果整合不好的可以留言,也可以下载我的源码https://pan.baidu.com/s/11w7DZiWTUZOS0SWXlstSvA 提取码:tnmo