注:这里使用 Maven 项目管理工具构建项目
Create New Project
maven-archetype-webapp
模板(Java Web 模板)填写项目在 Maven 仓库中的坐标(在 Maven 仓库中根据这个坐标才能找到该项目),具体命名规则根据公司决定
选择 Maven 安装路径(此处不阐述 Maven 安装的详细步骤,不会的小伙伴戳 Maven 安装教程)
选择 Maven 配置文件路径
选择 Maven 本地仓库路径
填写项目名
项目新建完成
在 src
> main
目录下分别新建 java
源码目录 和 resource
配置文件目录
java
目录下创建源码的基本目录结构(该目录结构仅供参考,建议改为模块化结构)
webapp
目录下创建 static
目录,用于存放静态资源文件(css, js, img…)
webapp
> WEB-INF
目录下创建 view
目录,用于存放页面(jsp, html…)
完整的 pom.xml 如下:
4.0.0
com.antoniopeng
hello-ssm
1.0-SNAPSHOT
war
hello-ssm Maven Webapp
http://www.example.com
UTF-8
4.0.2.RELEASE
3.2.6
1.7.7
1.2.17
junit
junit
4.11
compile
log4j
log4j
${log4j.version}
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
org.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.aspectj
aspectjweaver
1.6.2
com.mchange
c3p0
0.9.5.2
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.2.2
mysql
mysql-connector-java
5.1.30
jstl
jstl
1.2
javax
javaee-api
7.0
commons-fileupload
commons-fileupload
1.3.1
commons-io
commons-io
2.4
commons-lang
commons-lang
2.6
commons-codec
commons-codec
1.9
hello-ssm
org.apache.maven.plugins
maven-compiler-plugin
1.8
src/main/java
**/*.xml
src/main/resource
*.xml
*.dll
*.properties
新建日志配置文件 log4j.properties
(以下配置文件均在 resource
目录下新建)
log4j.rootLogger=error, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[service] %d - %c -%-4r [%t] %-5p %c %x - %m%n
log4j.logger.com.ibatis = debug
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = debug
log4j.logger.com.ibatis.common.jdbc.ScriptRunner = debug
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = debug
log4j.logger.java.sql.Connection = debug
log4j.logger.java.sql.Statement = debug
log4j.logger.java.sql.PreparedStatement = debug
log4j.logger.java.sql.ResultSet =debug
log4j.logger.com.pro.mapper =debug
新建数据库配置文件 db.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://{host}:{port}/{db_name}?useUnicode=true&characterEncoding=UTF-8
user={username}
password={pwd}
新建 MyBatis 配置文件 mybatis-config.xml
新建 Spring 上下文配置文件 spring-context.xml
新建 Spring MVC 配置文件 spring-servlet.xml
在 com.antoniopeng.hello.ssm
目录下新建 filter
目录并在此目录下创建 CharacterFilter
类,这一步是为了防止网页乱码
import javax.servlet.*;
import java.io.IOException;
public class CharacterFilter implements Filter {
public CharacterFilter() {
// TODO Auto-generated constructor stub
}
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
}
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
}
完整的 web.xml
如下:
/
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
classpath:spring-context.xml
characterFilter
com.antoniopeng.hello.ssm.filter.CharacterFilter
characterFilter
/*
characterEncoding
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
characterEncoding
/*
springServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-servlet.xml
springServlet
/
SSM 集成框架搭建完成!
点击 Intellij IDEA 页面右上方 Add Configuration...
配置下载好的 Tomcat 服务器,Tomcat8 官网下载地址
在 webapp
> WEB-INF
> view
目录下新建 index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
index
hello ssm
在 controller
目录下创建 IndexController
类
package com.antoniopeng.hello.ssm.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class IndexController {
@RequestMapping(value = "/")
public String index() {
return "index";
}
}
启动 Tomcat 服务器
访问 http://localhost:8080
项目已经上传至 Git Hub,后续会持续更新微服务分布式架构解决方案
END