SSM整合
1.用IDea创建一个maven的项目
2.导入jar包(节点)
我这里包括所有的节点(至少登录是够用的):
4.0.0
cn.happy
Subms-SSM
war
1.0-SNAPSHOT
Subms-SSM Maven Webapp
http://maven.apache.org
junit
junit
3.8.1
test
org.springframework
spring-jdbc
4.3.8.RELEASE
log4j
log4j
1.2.17
org.mybatis
mybatis-spring
1.2.0
org.springframework
spring-web
4.3.9.RELEASE
javaee
javaee-api
5
javax.servlet
jstl
1.2
runtime
org.springframework
spring-webmvc
4.3.7.RELEASE
org.springframework
spring-web
4.3.7.RELEASE
com.alibaba
fastjson
1.2.31
org.mybatis
mybatis
3.2.2
asm
asm
3.3.1
com.fasterxml.jackson.core
jackson-core
2.8.1
com.fasterxml.jackson.core
jackson-databind
2.5.1
src/main/java
**/*.xml
3.我们配置xml文件 包括myBatis-config.xml applicationContext.xml jdbc.properties 等 还有web.xml
在myBatis-config.xml 我们无需配置太多 只要一个实体类别名就好了。
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///subms
jdbc.username=root
jdbc.password=
我们这里面连接的都是springmvc就是上面的applicationContext.xml文件,另外的就是一些过滤器。。。
Archetype Created Web Application
contextConfigLocation
classpath:applicationContext.xml
CharactorEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
forceEncoding
true
CharactorEncodingFilter
/*
org.springframework.web.context.ContextLoaderListener
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:applicationContext.xml
1
springmvc
/
default
*.js
default
*.css
default
*.jpg
default
*.bmp
default
*.png
default
*.gif
login.jsp
这些都好了我们就开始 下一步了
4.搭架构。
大致上就是图上的那样的,我们先从 实体类开始 ,
package cn.smbms.entity;
import java.util.Date;
/**
* Created by Administrator on 2017/7/3.
*/
//`id``userCode``userName``userPassword``gender``birthday``phone``address``userRole``createBy``createDate``modifyBy``modfiyDate`
public class User {
private Integer id; //id
private String userCode; //用户编码
private String userName;//用户名称
private String userPassword; //用户密码
private int gender; //性别
private Date birthday; //出生日期
private String phone; //电话
private String address; //地址
private int userRole; //用户角色
private int createdBy; //创建者
private Date creationDate; //创建时间
private int modifyBy; //更新者
private Date modfiyDate; //更新时间
private Role role;
public Role getRole() {
return role;
}
public void setRole(Role role) {
this.role = role;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserCode() {
return userCode;
}
public void setUserCode(String userCode) {
this.userCode = userCode;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public int getGender() {
return gender;
}
public void setGender(int gender) {
this.gender = gender;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getUserRole() {
return userRole;
}
public void setUserRole(int userRole) {
this.userRole = userRole;
}
public int getCreatedBy() {
return createdBy;
}
public void setCreatedBy(int createdBy) {
this.createdBy = createdBy;
}
public Date getCreationDate() {
return creationDate;
}
public void setCreationDate(Date creationDate) {
this.creationDate = creationDate;
}
public int getModifyBy() {
return modifyBy;
}
public void setModifyBy(int modifyBy) {
this.modifyBy = modifyBy;
}
public Date getModfiyDate() {
return modfiyDate;
}
public void setModfiyDate(Date modfiyDate) {
this.modfiyDate = modfiyDate;
}
}
然后我们可以开始接口和xml了,
我们的接口:
package cn.smbms.dao;
import cn.smbms.entity.User;
import org.apache.ibatis.annotations.Param;
import java.io.IOException;
import java.util.List;
/**
* Created by linlin on 2017/8/21.
*/
public interface IUserDao {
public User isLogin(User user);
}
然后我们写Service
这里的接口和上面的一样的
package cn.smbms.service;
import cn.smbms.entity.User;
import org.apache.ibatis.annotations.Param;
import java.io.IOException;
import java.util.List;
/**
* Created by linlin on 2017/8/21.
*/
public interface IUserService {
public User isLogin(User user);}
然后我们还要 声明一下dao下的接口并且给他一个注解,我们直接@Resouce的name值等于他的接口名就可以了,
然后重写方法。
import cn.smbms.dao.IUserDao;
import cn.smbms.entity.User;
import cn.smbms.service.IUserService;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.List;
/**
* Created by linlin on 2017/8/21.
*/
@Service("userService")
public class IUserServiceImpl implements IUserService{
@Resource(name="IUserDao")
IUserDao userdao;
public User isLogin(User user) {
return userdao.isLogin(user);
}
在然后就是Controller层的 这里我们的@Resouce的name是上面的@Service 这个方法上的@RequestMappin是页面上对应的。判断如果获取的值不是空的我们就登录成功跳转到 成功的页面,否则 还在login页面。
package cn.smbms.controller;
import cn.smbms.entity.User;
import cn.smbms.service.IUserService;
import cn.smbms.util.page;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
/**
* Created by linlin on 2017/8/21.
*/
@Controller
public class UserController {
@Resource(name = "userService")
IUserService userService;
@RequestMapping("/islogin")
public String isLogin(User info) {
User user = userService.isLogin(info);
if (user != null && !user.getUserName().equals("")) {
System.out.println("=========success");
//login success
return "welcome";
} else {
return "login";
}
}
<%--
Created by IntelliJ IDEA.
User: linlin
Date: 2017/7/12
Time: 16:39
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@ page import="java.util.Date" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
系统登录 - 超市账单管理系统
超市账单管理系统