SSM框架搭建详细过程(maven+mysql+eclipse实现)

刺骨的言语ヽ痛彻心扉 2021-10-01 00:20 577阅读 0赞

引言:ssm框架作为现在比较流行的一种框架被广泛使用,但搭建过程中难免出现很多错误,让一些初学者很头疼。

环境:eclipse、 jdk1.8、tomcat9.0、mysql5.7

一、eclipse下创建maven工程的web项目

1、项目架构

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcXo2NjY_size_16_color_FFFFFF_t_70


2、创建maven工程,点击File创建maven project,都勾上,直接next

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcXo2NjY_size_16_color_FFFFFF_t_70 1


3、groupId是包名,artifactId是项目明,packging我们选war,然后next,这个命名随意。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcXo2NjY_size_16_color_FFFFFF_t_70 2


4、创建成功后,我们看到以下的目录,项目名称报错,我们把src/test/java和src/test/resources删除掉。

20190809131214544.png


5、右击项目点击properties或点击Windows里的preference,找到Project Facets选项,

5watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcXo2NjY_size_16_color_FFFFFF_t_70 3


6、我们把Dynamic Web Module的对号去掉,点击apply

6、watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcXo2NjY_size_16_color_FFFFFF_t_70 4


7、点击apply之后,再勾选上Dynamic Web Module,出现下面的Futher configuration avaible。。。点击它

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcXo2NjY_size_16_color_FFFFFF_t_70 5


8、会弹出一个对话框、我们把WebContent改为webapp,然后点击ok,再点击原来那个界面的apply。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcXo2NjY_size_16_color_FFFFFF_t_70 6


9、点击apply之后,会发现左侧的ssm-o2o的错误信息没了,记得把两个没用的src/test/java和src/test/resource删除掉。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcXo2NjY_size_16_color_FFFFFF_t_70 7


10、 把那个两个src/test/java和src/test/resource删除掉,之后再ssm-o2o下创建一个src/main/test,方便我们以后做测试,当然你不想建也可以,到时候再src/main/java下创建一个test的包即可。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcXo2NjY_size_16_color_FFFFFF_t_70 8


11、创建好之后、我们把webapp的WEB-INF下的lib这个文件夹改魏views,方便以后做视图层,到此maven的web工程创建完毕。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcXo2NjY_size_16_color_FFFFFF_t_70 9


二、maven工程整合mybatis和spring

1、创建数据库o2o,创建数据库表user,并任意添加一条数据。比如liqz,123456

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcXo2NjY_size_16_color_FFFFFF_t_70 10


2、依次创建以下包名、并且再src/man/resouce下建以下名称的空txt和xml文件、以及一个showUser.jsp

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcXo2NjY_size_16_color_FFFFFF_t_70 11


3、配置pom文件,注意前提一定要装maven的apache-maven环境,推荐3.5.0以上版本,如果你的pom文件加载过慢,在你的setting.xml里加上阿里云的镜像,这样你的下载的速度就很快,如果下载速度很慢,说明你没有配置好,在你的本地maven的conf包setting.xml的mirrors里加上这段镜像,这样下载速度就很快,另外打开windwos里的preferences选项里Maven,记得配置本地的maven环境,这个也是比较复杂的,具体我就不再详解了。



aliyun
aliyun Maven
*
http://maven.aliyun.com/nexus/content/groups/public

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcXo2NjY_size_16_color_FFFFFF_t_70 12


4、配置pom文件,下载jar包,反正我的是很快的,几秒钟就全下好了,如果你的还在慢悠悠下载,那我建议你还是先配置好镜像吧,负责进行下一步很难。


4.0.0
cn.shcool
ssm-o2o
0.0.1-SNAPSHOT
war



4.0.2.RELEASE

3.2.6

1.7.7
1.2.17




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





5、配置web.xml,把代码拷贝过去即可,记得保存。

<?xml version=”1.0” encoding=”UTF-8”?>


Archetype Created Web Application


contextConfigLocation
classpath:spring-mybatis.xml



encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
true

encoding
UTF-8



encodingFilter
/*



org.springframework.web.context.ContextLoaderListener



org.springframework.web.util.IntrospectorCleanupListener

  1. <!-- Spring MVC servlet -->
  2. <servlet>
  3. <servlet-name>SpringMVC</servlet-name>
  4. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  5. <init-param>
  6. <param-name>contextConfigLocation</param-name>
  7. <param-value>classpath:spring-mvc.xml</param-value>
  8. </init-param>
  9. <load-on-startup>1</load-on-startup>
  10. <async-supported>true</async-supported>
  11. </servlet>
  12. <servlet-mapping>
  13. <servlet-name>SpringMVC</servlet-name>
  14. <!-- 此处可以可以配置成\*.do,对应struts的后缀习惯 -->
  15. <url-pattern>/</url-pattern>
  16. </servlet-mapping>
  17. <welcome-file-list>
  18. <welcome-file>/index.jsp</welcome-file>
  19. </welcome-file-list>


6、配置jdbc.properties文件、把数据库和你的用户密码改成你的。

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/o2o?useUnicode=true&characterEncoding=utf-8
username=root
password=123456

initialSize=0

maxActive=20
maxIdle=20

minIdle=1

maxWait=60000


7、配置logj4.properties文件,这个是打印日志用的。

log4j.rootLogger=INFO,Console,File

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{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n


8、配置spring-mvc.xml文件,注意换成你的包名。

<?xml version=”1.0” encoding=”UTF-8”?>








text/html;charset=UTF-8






























9、配置spring-mybatis.xml文件,记着改包名。

<?xml version=”1.0” encoding=”UTF-8”?>













































10、创建User实体类

package cn.school.model;

public class User {
private Integer userid;
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;
}
private String username;
private String password;

}


11、写UserDao接口

  1. User selectById(int userid);

12、写实现类UserService,有人喜欢用Autowired,这个也是可以的额。

package cn.school.service;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import cn.school.dao.UserDao;
import cn.school.model.User;

@Service
public class UserService implements UserDao{
@Resource
UserDao userDao;

  1. @Override
  2. public User selectById(int userid) \{
  3. // TODO Auto-generated method stub
  4. return userDao.selectById(userid);
  5. \}

}


13、编写UserMapper.xml文件,注意改成你的包名

<?xml version=”1.0” encoding=”UTF-8”?>
<!DOCTYPE mapper PUBLIC “-//mybatis.org//DTD Mapper 3.0//EN” “http://mybatis.org/dtd/mybatis-3-mapper.dtd">














14、编写单元测试,我们再src/main/test里建一个TestMybatis的测试类,或者你在cn.school.test建也可以。

package com.shcool.testMbatis;

import javax.annotation.Resource;

import org.apache.log4j.Logger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.alibaba.fastjson.JSON;
import com.shcool.model.User;
import com.shcool.service.UserService;

@RunWith(SpringJUnit4ClassRunner.class) //表示继承了SpringJUnit4ClassRunner类
@ContextConfiguration(locations = {“classpath:spring-mybatis.xml”})
public class TestMbatis {
private static Logger logger = Logger.getLogger(TestMbatis.class);
@Resource
private UserService userService = null;

  1. @Test
  2. public void test() \{
  3. User user = userService.getUserById(1);
  4. System.out.println(user.getUsername());
  5. logger.info(JSON.toJSONString(user));
  6. \}

}


15、我们点击方法test右击run as 进行junit Test,我们可以看到,单元测试是成功的。下面打印出了liqz也就是我。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcXo2NjY_size_16_color_FFFFFF_t_70 13


16、编写UserController.

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import cn.school.model.User;
import cn.school.service.UserService;

@Controller
@RequestMapping(“/user”)
public class UserController {
@Resource
private UserService userService;

  1. @RequestMapping("/showUser")
  2. public String toIndex(HttpServletRequest request,Model model)\{
  3. int userId = Integer.parseInt(request.getParameter("userid"));
  4. User user = this.userService.selectById(userId);
  5. model.addAttribute("user", user);
  6. return "showUser";
  7. \}

}


17、编写showUser.jsp,我们做一个测试。

<%@ page language=”java” contentType=”text/html; charset=utf-8”
pageEncoding=”utf-8”%>
<!DOCTYPE html>




Insert title here


${user.username}
${user.password}


18、然后部署项目、我们点击server里的add和remove,添加到右侧,说明部署到服务器了,然后finsh再点击start,

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcXo2NjY_size_16_color_FFFFFF_t_70 14


18、 最后我们在谷歌浏览器里输入localhost:8080/ssm-o2o/user/showUser?userid=1

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpcXo2NjY_size_16_color_FFFFFF_t_70 15


稍后我把项目上传到github上

https://github.com/1728608455/ssm-curd

发表评论

表情:
评论列表 (有 0 条评论,577人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SSM框架

     自己配置了一个SSM框架,打算做个小网站,这里把SSM的配置流程详细的写了出来,方便很少接触这个框架的朋友使用,文中各个资源均免费提供!(后续读写分离:[https://bl

    相关 SSM过程

    SSM 一、一个完整的过程       第一步:发起请求到前端控制器(DispatcherServlet)       第二步:前端控制器请求HandlerMappi