博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IDEA下java的SSM框架搭建
阅读量:620 次
发布时间:2019-03-13

本文共 11738 字,大约阅读时间需要 39 分钟。

idea2017.2.6

jdk1.9

tomcat9

mysql绿色版

SSM也就是Springmvc+Spring+Mybatis,这也是现在主流的框架,在Idea环境搭建:

整体项目框架图

1、pow.xml文件

4.0.0
com.htt
htt
war
1.0-SNAPSHOT
htt Maven Webapp
http://maven.apache.org
4.0.2.RELEASE
3.2.6
1.7.7
1.2.17
0.9.5-pre8
junit
junit
3.8.1
test
javax
javaee-api
7.0
com.mchange
c3p0
0.9.5-pre8
com.mchange
mchange-commons-java
0.2.12
junit
junit
4.11
test
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.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.2.2
javax
javaee-api
7.0
mysql
mysql-connector-java
5.1.30
commons-dbcp
commons-dbcp
1.2.2
jstl
jstl
1.2
log4j
log4j
${log4j.version}
com.alibaba
fastjson
1.1.41
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
org.codehaus.jackson
jackson-mapper-asl
1.9.13
commons-fileupload
commons-fileupload
1.3.1
commons-io
commons-io
2.4
commons-codec
commons-codec
1.9
cn.jpush.api
jpush-client
3.3.3
cn.jpush.api
jiguang-common
1.0.8
io.netty
netty-all
4.1.6.Final
compile
com.google.code.gson
gson
2.3
org.slf4j
slf4j-api
1.7.7
org.slf4j
slf4j-log4j12
1.7.7
log4j
log4j
1.2.17
commons-codec
commons-codec
1.9
htt

2、jdbc.property文件

jdbc.driver=com.mysql.jdbc.Driver#数据库地址jdbc.url=jdbc:mysql://localhost:3306/ChatRobot?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false#用户名jdbc.username=root#密码jdbc.password=mysql#最大连接数c3p0.maxPoolSize=30#最小连接数c3p0.minPoolSize=10#关闭连接后不自动commitc3p0.autoCommitOnClose=false#获取连接超时时间c3p0.checkoutTimeout=10000#当获取连接失败重试次数c3p0.acquireRetryAttempts=2

3、log4j.property文件

#定义LOG输出级别log4j.rootLogger=INFO,Console,File#定义日志输出目的地为控制台log4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Console.Target=System.out#可以灵活地指定日志输出格式,下面一行是指定具体的格式log4j.appender.Console.layout = org.apache.log4j.PatternLayoutlog4j.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# 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志log4j.appender.File.Threshold = ALLlog4j.appender.File.layout = org.apache.log4j.PatternLayoutlog4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n

4、spring-mvc.xml

5、spring-mybatis

6、web.xml

ChatRobot
ChatRobot_Alpha_0.0.1
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
encodingFilter
/*
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-*.xml
1
true
SpringMVC
/
index.html

7、mapper文件的写法

insert into user(username, password, HeadImage) values (#{username,jdbcType=VARCHAR},#{password,jdbcType=VARCHAR},#{HeadImage,jdbcType=VARCHAR})

8、dao包的写法

package com.chatRobot.dao;import com.chatRobot.model.User;import java.util.List;public interface IUserDao {    User selectUser(long id);    User getUser( String username);    List
findAllUser(); int insertUser(User user);}

9、service包写法

package com.chatRobot.service;import com.chatRobot.model.TicketNumber;import com.chatRobot.model.User;import java.util.List;public interface IUserService {    public User selectUser(long userId);    public List
findAllUser(); public int insertUser(User user); public User getUser( String username);}

10、service接口的实现类IMPLService

package com.chatRobot.service.impl;import com.chatRobot.dao.IUserDao;import com.chatRobot.model.User;import com.chatRobot.service.IUserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import javax.annotation.Resource;import java.util.List;@Service("userService")public class UserServiceImpl implements IUserService {    @Autowired    private IUserDao userDao;    public User selectUser(long userId) {        return this.userDao.selectUser(userId);    }    public List
findAllUser() { return this.userDao.findAllUser(); } public int insertUser(User user) { return this.userDao.insertUser(user); } public User getUser(String username) { return this.userDao.getUser(username); }}

11、cotroller包的写法

package com.chatRobot.cotroller;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import com.alibaba.fastjson.JSONObject;import com.chatRobot.Uitils.ExceptionProject;import com.chatRobot.model.User;import com.chatRobot.service.IUserService;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;import org.codehaus.jackson.map.ObjectMapper;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import javax.annotation.Resource;import javax.servlet.http.HttpServletResponse;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.List;@Controller@RequestMapping("/user")public class UserController {    @Resource(name="userService")    private IUserService userService;    //登录接口    @RequestMapping("/LoginUser")    public @ResponseBody JSONObject LoginUser(HttpServletRequest request, HttpServletResponse response) throws IOException {                JSONObject results=new JSONObject();                String UserName=request.getParameter("username");                String password=request.getParameter("password");                User oldUsername=userService.getUser(UserName);                if( UserName!=null && oldUsername.getUsername().equals(UserName) ){                    results.put("message", ExceptionProject.successLogin);                    results.put("code",200);                    results.put("data",null);                    return results;                }else{                    results.put("message",ExceptionProject.faileLogin);                    results.put("code",200);                    results.put("data",null);                    return results;                }    }}
这样一个简单SSM框架就搭建完毕,dao写接口提供mabatis数据持久,service写接口-implservice去实现,,cotroller实现request的请求和response的响应返回。

你可能感兴趣的文章