1 前言
2 三大框架是什么?
3 ssm演示
4 目录结构:
5 SSM框架整合配置全过程
5.1,创建一个maven项目
5.2、建包写代码
1)建包:
2)创建类及其方法:
3)配置文件:
注意!!!:
4)前端代码
5)配置web.xml的文件
6)数据库
6 测试:
7 结语:
三大框架的整合在Java中使用的非常的频繁,网上搜索了很多,却没有几个能真正跑通的,本着自己学习,自己整合了一下。以下为个人通过网上搜索资料,视频学习整合下来的笔记汇总。在编写完本文之后,我有又按着自己的文章步骤整合了一下,经过一番修正,已经可以正常使用。接下来将从创建项目到运行进行详细说明。
注:关于技术性的问题我不多介绍,有不明白的可以自行查询,本文只是详细介绍整合过程,并给出ssm框架所有的代码。
本人文采不行,说的都是通俗的话。废话也不多,以免看着心烦,但是配图够详细,足以新人学习看懂。
此版本为最基础版本,后期还会更改。
网上有很多介绍,由于自己学习使用,不在多说。代码及说明文中有详细注释。
废话少说,上来就是干!
先给大家演示一下本文ssm框架所能实现的功能,以免大家看了半天发现不符合自己的需求,浪费宝贵的时间。
请你移步到本文的最后测试部分。
首先展示一下整体的代码结构:
本文创建的是maven项目,目录结构就是上图中所示。
1)首先打开eclipse,(ieda创建maven项目可以在网上搜索到教程,比较简单,跟eclipse相差不多,不在赘述)
如果之前没在eclipse上创建maven项目,可以看这个视频,教学很详细。http://www.imooc.com/learn/443
如果不想使用maven项目整合ssm,也可以创建Dynamic Web project进行。方式相同,主要是导jar包方式不一样。
2)新建一个maven项目,点击下一步(next),会出现如下视图。选择(maven-archetype-webAPP),点击next。
3)此时会出现如下界面,然后根据自己的需求填写如下内容。最后点击finish。
4)此时,maven项目构建成功,需要做以下处理。
(1)配置JDK和Tomcat。
配置JDK:在项目上右击 --> Build Path --> Configure Build Path --> Libraries --> 选中JRE,右侧点击Edit。
做出如下修改点击finish完成JDK的配置。
配置Tomcat:点击右侧Add Library --> 选中Server Runtime双击 --> 选中Apache Tomcat v9.0 -->点击finish。
点击Apply,完成jdk和Tomcat的配置。项目中会显示如下红框选中项。
(2)配置pom.xml文件。
pom.mxl文件中配置的都是ssm框架需要的jar包。可以自行复制进自己的pom.xml文件中。如果有jar升级,可以自行去https://mvnrepository.com/搜索下载。
注:以下所有的配置文件都不建议全篇复制,根据需要选中所需部分自行复制。
4.0.0
com.jtv.ssm-config
ssm-config
war
0.0.1-SNAPSHOT
ssm-config Maven Webapp
http://maven.apache.org
UTF-8
log4j
log4j
1.2.17
mysql
mysql-connector-java
5.1.45
runtime
org.mybatis
mybatis
3.5.2
org.mybatis
mybatis-spring
1.3.1
taglibs
standard
1.1.2
jstl
jstl
1.2
com.fasterxml.jackson.core
jackson-databind
2.9.8
javax.servlet
javax.servlet-api
3.1.0
org.springframework
spring-core
5.1.9.RELEASE
org.springframework
spring-beans
5.1.9.RELEASE
org.springframework
spring-context
5.1.9.RELEASE
org.springframework
spring-expression
5.1.9.RELEASE
commons-logging
commons-logging
1.2
org.springframework
spring-jdbc
5.1.9.RELEASE
org.springframework
spring-tx
5.1.9.RELEASE
org.springframework
spring-web
5.1.9.RELEASE
org.springframework
spring-webmvc
5.1.9.RELEASE
org.springframework
spring-test
5.1.9.RELEASE
org.springframework
spring-aop
5.1.9.RELEASE
org.springframework
spring-aspects
5.1.9.RELEASE
org.springframework
spring-orm
5.1.9.RELEASE
redis.clients
jedis
3.1.0
io.protostuff
protostuff-core
1.6.0
test
io.protostuff
protostuff-runtime
1.6.0
commons-collections
commons-collections
3.2
aopalliance
aopalliance
1.0
org.aspectj
aspectjweaver
1.9.2
ssm-web
至此,环境基本没问题了,开始编写代码了。真正的困难来了。。。。。
1)在entity包下创建User.java:
User.java
该类的属性需要与数据库中的字段的名称保持一致,需要将这里的属性进行调整。
如果这里的类名属性名进行了修改,下面的配置文件,引用等都需要做相应的修改,否则会报错。如果是初学着,可以先建个与本文相同的数据表,等搭成功了再进行改动,效果最好。
package com.jtv.entity;
public class User {
private int uid;
private String username;
private String password;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
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;
}
@Override
public String toString() {
return "User [uid=" + uid + ", username=" + username + ", password=" + password + "]";
}
}
2) 在dao包下创建一个《接口》:UserDao.java:
UserDao.java
如果对select注释不了解的可以先学习一下mybatis,有个了解之后再写ssm框架是最好不过了。
package com.jtv.dao;
import java.util.List;
import org.apache.ibatis.annotations.Select;
import com.jtv.entity.User;
public interface UserDao {
@Select("select * from user where username = #{username} and password = #{password}")
User login(User user);
@Select("select * from user")
List selectAll();
}
3)在service包下创建一个《接口》:UserService.java,
并在service包下创建子包impl,在子包下创建UserServiceImpl.java继承UserService.java,并实现其方法。
这里可以不见接口,直接使用创建一个类,但是为了限制代码的规范性,这里使用了接口。
UserService.java
package com.jtv.service;
import java.util.List;
import com.jtv.entity.User;
public interface UserService {
User login(User user);
List selectAll();
}
UserServiceImpl.java
package com.jtv.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.jtv.dao.UserDao;
import com.jtv.entity.User;
import com.jtv.service.UserService;
@Service("userservice")
public class UserServiceImpl implements UserService {
@Autowired
UserDao userDao;
@Override
public User login(User user) {
return userDao.login(user);
}
@Override
public List selectAll() {
return userDao.selectAll();
}
}
4)在controller包下创建UserController.java
UserController.java
package com.jtv.controller;
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 com.jtv.entity.User;
import com.jtv.service.UserService;
@Controller
public class UserController {
@Autowired
UserService service;
@RequestMapping("/login")
public String login(User user,Model model){
User u = service.login(user);
if(u!=null){
model.addAttribute("msg", u.getUsername());
return "show";
}
else{
return "error";
}
}
@RequestMapping("/queryAll")
public String queryAll(Model model){
model.addAttribute("all_info", service.selectAll());
return "showAll";
}
}
在resources目录下创建mybatis-config.xml,jdbc.properties,log4j.properties文件。
mybatis-config.xml
这里用到了mybatis,所以需要配置mybatis核心文件,在recources
文件夹里新建mybatis-config.xml
文件。
因为mybatis整合spring,所以将环境配置注释了,将在下面的spring-dao.xml文件中进行重新配置,以此说明。
jdbc.properties
student是我的数据库的名字,这里需要改成自己的数据库的名字。否则会报错!!!
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///student?useSSL=true
jdbc.username=root
jdbc.password=
这里一定要非常非常非常的注意,在配置文件中,我使用的是jdbc.**的命名格式,这样做的的目的是为了防止配置中的jdbc.username与系统环境中的username冲突,导致在运行程序连接数据库的时候username读取的是你系统中的username,最终数据库连接失败。密码改成自己的设置的密码!
我开始用的是username,一直报错,坑了一下午,最后大神帮我找出问题了。一定要注意,也建议以后jdbc的配置文件使用这种格式,不但不会报错,还显得逼格很高。
log4j.properties
这个没啥好说的,复制进去进行。日志输出的。
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example=DEBUG
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
在resources/spring目录下创建spring-dao.xml,spring-web.xml文件。
spring-dao.xml
spring-web.xml
在webapp目录下写一个入口代码index.jsp,
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
在webapp/jsp目录下写error.jsp,show.jsp,showAll.jsp
show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
${msg },欢迎你!
查询所有数据
error.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
登录失败!!!
showAll.jsp
记得在代码中添加如下代码:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Insert title here
编号
姓名
密码
${info.uid }
${info.username }
${info.password }
web.xml
ssm-config
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
contextConfigLocation
classpath:spring/spring-dao.xml
org.springframework.web.context.ContextLoaderListener
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring/spring-web.xml
SpringMVC
/
打开Navicat for MySQL软件,新建一个student数据库,在student数据库中新建一个user数据表,添加uid(int,主键自增),username(varchar),password(varchar)三个字段,并给定一些数据。
这里的字段名称需要与User.java中的属性名保持一致,切记!!
项目名称右击 --> Run As --> Run on Service --> 选中Tomcat --> Finish。
然后打开浏览器,在地址栏输入:http://localhost:8080/ssm-config/ 输入用户名、密码,点击login。
1)输入正确的用户名、密码,显示如下。
点击链接查询所有数据 (这里的不能点击哦~_~),就会返回所有的查询数据,也就是数据表中的所有数据。
2)输入错误的用户名、密码。
到此,我们的SSM框架整合配置,与应用演示已经结束了,本想把整个文件打包上传,但是我觉得我写的很详细了,如果全部按着我的步骤来做,估计只需半个小时就能把整个框架搭好并跑通。希望初学者能够实际动手操作一两遍,对自己的学习会有很大的帮助,如果实在不想敲,想要源码,可以在下面留言,留下邮箱,我看到的时候会发送。
如果有不足之处,还希望指出,大神请轻喷。 ~_~
最后,如果喜欢就给个star,给个鼓励吧,还会继续更新,加强,优化代码。
持续更新中。。。。。。。