基于SSM框架实现简单的登录注册的示例代码
发布时间:2020-09-06 14:16:54
来源:脚本之家
阅读:89
作者:涛声依旧~
一、环境配置工程目录
在pom.xml添加依赖
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.imooc
userLogin
0.0.1-SNAPSHOT
war
junit
junit
4.11
test
org.slf4j
slf4j-api
1.7.12
ch.qos.logback
logback-core
1.1.1
ch.qos.logback
logback-classic
1.1.1
mysql
mysql-connector-java
5.1.35
runtime
c3p0
c3p0
0.9.1.2
org.mybatis
mybatis
3.3.0
org.mybatis
mybatis-spring
1.2.3
taglibs
standard
1.1.2
jstl
jstl
1.2
com.fasterxml.jackson.core
jackson-databind
2.5.4
javax.servlet
javax.servlet-api
3.1.0
org.springframework
spring-core
4.2.0.RELEASE
org.springframework
spring-beans
4.2.0.RELEASE
org.springframework
spring-context
4.2.0.RELEASE
org.springframework
spring-jdbc
4.2.0.RELEASE
org.springframework
spring-tx
4.2.0.RELEASE
org.springframework
spring-web
4.2.0.RELEASE
org.springframework
spring-webmvc
4.2.0.RELEASE
org.springframework
spring-test
4.2.0.RELEASE
userLogin
org.apache.maven.plugins
maven-compiler-plugin
2.3.2
1.8
1.8
数据库驱动配置
jdbc.properties
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mysystem?useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=kongtao
spring-web.xml
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
">
二、具体逻辑实现数据访问对象(DAO接口)
UserDao.java
package com.sy.dao;
import org.apache.ibatis.annotations.Param;
import com.sy.entity.User;
public interface UserDao {
/**
* 查找用户名和密码
* @param username 登录用户名
* @return
*/
User findByUsername(String username);
/**
* 注册用户和密码
*/
void registerByUsernameAndPassword(@Param("username")String username,
@Param("password")String password);
}
UserDao.xml
/p>
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
select * from user where username = #{username}
insert into user (username,password)
values (#{username},#{password})
控制器
UserController.java
package com.sy.controller;
import javax.servlet.http.HttpSession;
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 org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.SessionAttributes;
import com.sy.entity.User;
import com.sy.service.UserService;
@Controller
@RequestMapping("/user")
//这里用了@SessionAttributes,可以直接把model中的user(也就key)放入其中
//这样保证了session中存在user这个对象
@SessionAttributes("user")
public class UserController {
@Autowired
private UserService userServivce;
//正常访问login页面
@RequestMapping("/login")
public String login(){
return "login";
}
//表单提交过来的路径
@RequestMapping("/checkLogin")
public String checkLogin(User user,Model model){
//调用service方法
user = userServivce.checkLogin(user.getUsername(), user.getPassword());
//若有user则添加到model里并且跳转到成功页面
if(user != null){
model.addAttribute("user",user);
return "success";
}
return "fail";
}
//测试超链接跳转到另一个页面是否可以取到session值
@RequestMapping("/anotherpage")
public String hrefpage(){
return "anotherpage";
}
//注销方法
@RequestMapping("/outLogin")
public String outLogin(HttpSession session){
//通过session.invalidata()方法来注销当前的session
session.invalidate();
return "login";
}
@RequestMapping("/regist")
public String regist(){
return "regist";
}
@RequestMapping("/doRegist")
public String doRegist(User user,Model model){
System.out.println(user.getUsername());
userServivce.Regist(user);
return "success";
}
}
实体类
package com.sy.entity;
public class User {
private String id;
private String username;
private String password;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
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;
}
}
相关服务
UserService.java (接口)
package com.sy.service;
import com.sy.entity.User;
//Service层接口
public interface UserService {
//检验用户登录
User checkLogin(String username,String password);
void Regist(User user);
}
UserServiceImpl.java
package com.sy.service.Impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.sy.dao.UserDao;
import com.sy.entity.User;
import com.sy.service.UserService;
@Service
public class UserServiceImpl implements UserService{
@Autowired
private UserDao userDao;
/*
* 检验用户登录业务
*
*/
public User checkLogin(String username, String password) {
User user = userDao.findByUsername(username);
if(user != null && user.getPassword().equals(password)){
return user;
}
return null;
}
@Override
public void Regist(User user) {
userDao.registerByUsernameAndPassword(user.getUsername(),user.getPassword());
}
}
其他配置文件
持久层相关配置文件 sprintg-dao.xml
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
spring-service.xml
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
logback.xml
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
mybatis-config.xml
/p>
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
JSP视图文件
pageEncoding="utf-8"%>
Insert title here用户名: | |
密码: | |
regist.jsp
Created by IntelliJ IDEA.
User: 86265
Date: 2018/1/30
Time: 10:32
To change this template use File | Settings | File Templates.
--%>
用户注册页面注册页面
用户名 | |
密码 | |
success.jsp
pageEncoding="UTF-8"%>
Insert title herewelcome,${sessionScope.user.username}!
this is success page!
fail.jsp
pageEncoding="ISO-8859-1"%>
Insert title hereu are loser,this is a fail page!
anotherpage.jsp
pageEncoding="UTF-8"%>
Insert title here${sessionScope.user.username}!!!!!
三、运行结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。