环境所需:JDK1.8、IDEA、Maven、MySQL5.7及以上等
引言:手把手教大家基于IDEA的maven环境搭建一个SSM框架、请事先装好所需要的软件工具等,SSM+Java+Maven+JSP,SSM整合JSP,mapper和实体层使用的是自动生成噢!
Java环境搭建教程:浏览器搜索https://www.bilibili.com/video/BV1BN4y1c7Fp/
以下是完整的框架案例!可以在上面上进行修改!
1、打开idea,新建Project,选择Maven、勾选骨架,并选中maven-archetype-webapp之后,点击next
2、创建GroupId(包名)com.flight,ArtifactId(项目名称)flight_web,然后点击next
3、选择maven的安装目录,并配置setting.xml,然后点击next,如果没有搭建maven,请搜索:https://www.bilibili.com/video/BV1BN4y1c7Fp/
4、选择安装目录,放到D盘,然点击Finish
5、open打开项目之后,在main目录下创建两个dirctory(包),分别是java和resources文件夹。
6、点击java包右击选择Mark Directory as -->Sources Root,然后 选择resouces包右击右击选择Mark Directory as -->Resources Root,就编程下面的样子了,需要手动操作的!
7、配置pom文件,在maven的pom文件配置下面的jar,然后点击Import Changes
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.flight
flight_web
1.0-SNAPSHOT
war
flight_web Maven Webapp
http://www.example.com
UTF-8
1.7
1.7
4.12
4.2.4.RELEASE
3.2.8
1.2.2
1.2.15
8.0.18
1.6.4
2.4.2
1.0.9
1.2
2.5
2.0
3.3.2
1.3.2
3.3
5.1.2
1.3.1
org.apache.poi
poi
4.1.1
org.apache.poi
poi-ooxml
4.1.1
com.aliyun.oss
aliyun-sdk-oss
3.10.2
org.apache.commons
commons-lang3
${commons-lang3.version}
com.gitee.qdbp.thirdparty
ueditor
1.4.3.3
org.json
json
20160810
commons-net
commons-net
${commons-net.version}
com.fasterxml.jackson.core
jackson-databind
${jackson.version}
junit
junit
${junit.version}
test
org.slf4j
slf4j-log4j12
${slf4j.version}
org.slf4j
slf4j-api
${slf4j.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
${mybatis.spring.version}
com.github.pagehelper
pagehelper
${pagehelper.version}
mysql
mysql-connector-java
${mysql.version}
com.alibaba
druid
${druid.version}
org.springframework
spring-beans
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-aspects
${spring.version}
jstl
jstl
${jstl.version}
javax.servlet
servlet-api
${servlet-api.version}
provided
javax.servlet
jsp-api
${jsp-api.version}
provided
commons-fileupload
commons-fileupload
${commons-fileupload.version}
commons-io
commons-io
${commons-io.version}
website
org.apache.tomcat.maven
tomcat7-maven-plugin
2.2
/
8080
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.7
${basedir}/src/main/resources/generatorConfig.xml
true
true
src/main/java
**/*.xml
src/main/resources
**/*.*
8、配置webapp下的WEB-INF下的web.xml文件,把下面的复制过去,并在WEB-INF下面建一个jsp的目录,解析的界面放在jsp目录里面。
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
flight_web
contextConfigLocation
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
CharacterEncodingFilter
/*
DispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc.xml
1
DispatcherServlet
/
404
/WEB-INF/jsp/error.jsp
9、在resources目录下面配置applicationContext.xml文件,这个是Spring的配置文件。
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">
destroy-method="close">
10、在resources目录下面配置db.propretie文件,这个是数据库的配置文件。
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db_flight_web?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456
11、接着在resources目录下面配置generatorConfig.xml文件,这个是对象映射框架的配置文件,可以生成自动生成mapper和实体类,不需要手动创建。
注意:将mysql-connector-java-5.1.46.jar放到D盘里面,可以是其他版本的,不然无法自动生成!
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
userId="root" password="123456">
12、接着在resources目录下面配置log4j.properties文件,这个是配置日志文件。
log4j.rootLogger=DEBUG, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
13、接着在resources目录下面配置springmvc.xml文件,这个是配置SpringMVC的配置文件。
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
14、接着在resources目录下面配置SqlMapConfig.xml文件,配置分页插件,和驼峰设置!
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
15、配置LoginIntercepter进行登录拦截!,比如只有登录之后才可以访问后台,如果没有登录则不可以访问!
package com.flight.intercepter;
import com.flight.entity.Admin;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginIntercepter implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 获取请求的URL
String url = request.getRequestURI();
// URL:除了login.jsp是可以公开访问的,其它的URL都进行拦截控制
if(url.indexOf("/login")>=0){
return true;
}
// 获取Session
HttpSession session = request.getSession();
Admin admin = (Admin) session.getAttribute("admin");
// 判断Session中是否有用户数据,如果有,则返回true,继续向下执行
if(admin != null){
return true;
}
// 不符合条件的给出提示信息,并转发到登录页面
request.setAttribute("msg", "您还没有登录,请先登录!");
request.getRequestDispatcher("/WEB-INF/jsp/login.jsp")
.forward(request, response);
return false;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}
16、自动生成实体和mapper,双击mybaits-generator:generate!即可生成!
17、配置tomcat使用自带插件,双击tomcat7:run即可,非常快速,然后访问路径进入到登陆界面!
本次以Admin实体作为另一个案例,完成了一个登录功能,请自行领取!