SSM框架实现登录注册功能

刚刚写出来的SSM登录注册案例,网上随便翻一下都有 ,本篇直接上手,使用Maven工程搭建一个简单的SSM框架实现简单的登录注册,验证重名功能。

目录

项目结构图

持久层相关配置文件 applicationContext-dao.xml

applicationContext-service.xml

jdbc.properties

spring-mvc.xml

web.xml

1.先写一个User.java

2.写一个接口UserMapper.java

3.在写一个UserMapper.xml与之相关联

4.接下来就是Service层了,先写一个接口:UserService.java,内容与UserMapper.java一样,这里就不再展示了。

5.然后写一个类实现UserService.java,代码比较简单,不做过多解释,大家不要忘了要给给它标记@Service

UserController.java

登录页面 log.jsp

登录成功和失败页面 logok.jsp 和 logno.jsp

最后就是注册页面了 reg.jsp

注册成功和失败页面 regok.jsp 和regno.jsp

在数据库中新建user表:

SSM框架实现登录注册功能

项目结构图

SSM框架实现登录注册功能

有几个主要的配置文件,先了解下每个配置文件的作用。

  1. web.xml:当服务启动时首先会去加载web.xml这个资源文件,里面包括了对前端控制器、乱码问题等配置。

2.applicatonContext.xml : 一般配置数据源,事物,注解 等。

在这里我使用的是applicatonContext-*.xml的形式将DAO层、Service层、分开配置,这样便于管理

分别为applicatonContext-dao.xml、applicatonContext-service.xml、

分开配置时,需要在web.xml中配置上下文位置

3.springmvc.xml: 里面配置的是控制层的 ,如视图解析器静态资源、配置注解驱动 。

持久层相关配置文件 applicationContext-dao.xml


applicationContext-service.xml


jdbc.properties

mysql.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
mysql.username=root
mysql.password=root

spring-mvc.xml


web.xml


        index.jsp
        index.html

        contextConfigLocation
        classpath:application-*.xml

            org.springframework.web.context.ContextLoaderListener

        DispatcherServlet

            org.springframework.web.servlet.DispatcherServlet

            contextConfigLocation
            classpath:spring-mvc.xml

        1

        DispatcherServlet
        /

        CharacterEncodingFilter
         org.springframework.web.filter.CharacterEncodingFilter

            encoding
            UTF-8

        CharacterEncodingFilter
        /*

配置文件写好了,接下来就开始写代码

先从实体类开始写:

1.先写一个User.java

package com.sq.pojo;

public class User {
    private String username;
    private String userpwd;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getUserpwd() {
        return userpwd;
    }

    public void setUserpwd(String userpwd) {
        this.userpwd = userpwd;
    }

    @Override
    public String toString() {
        return "User [username=" + username + ", userpwd=" + userpwd + "]";
    }

}

2.写一个接口UserMapper.java

package com.sq.dao;

import com.sq.pojo.User;

public interface UserMapper {
    //用户登录
    User findOne(User user);
    //用户注册
    int addOne(User user);
    //注册时的重名检测
    User checkReg(String username);
}

3.在写一个UserMapper.xml与之相关联


        SELECT * FROM user where username=#{username} and userpwd=#{userpwd}

        insert into user(username,userpwd) values(#{username},#{userpwd})

        select * from user where username=#{username}

4.接下来就是Service层了,先写一个接口:UserService.java,内容与UserMapper.java一样,这里就不再展示了。

5.然后写一个类实现UserService.java,代码比较简单,不做过多解释,大家不要忘了要给给它标记@Service

package com.sq.service.Impl;
import com.sq.service.UserService;
import org.springframework.stereotype.Service;
import com.sq.dao.UserMapper;
import com.sq.pojo.User;
import javax.annotation.Resource;

@Service
public class UserServiceImpl implements UserService {
    @Resource
    private UserMapper userMapper;
    @Override
    public User findOne(User user) {
        return userMapper.findOne(user);
    }
    @Override
    public int addOne(User user) {
       return userMapper.addOne(user);

    }
    @Override
    public User checkReg(String username) {
        return userMapper.checkReg(username);
    }

}

6.最后就是Controller层了,Controller层的代码主要是调用Service层实现的方法,实现一些操作,并与前端进行交互。

UserController.java

package com.sq.controller;
import com.sq.pojo.User;
import com.sq.service.UserService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.annotation.Resource;

@Controller
public class UserController {
    @Resource
    private UserService userService;

    @RequestMapping("/golog")
    public String log(User user, Model model) {
        User u = userService.findOne(user);
        model.addAttribute("user", u);
        if (u != null) {
            return "logok";
        } else
            return "logno";
    }

    @RequestMapping("/goreg")
    public String reg(User user) {
        User u = userService.checkReg(user.getUsername());
        if (u == null) {
            userService.addOne(user);
            return "regok";
        }
        return "regno";
    }
}

登录页面 log.jsp


    用户登录

        div {
            width: 300px;
            height: 200px;
            margin-left: auto;
            margin-right: auto;
        }

                用户名:

                密 码:

                还没有账号?点此注册

登录成功和失败页面 logok.jsp 和 logno.jsp


    Insert title here

如果你能看见我,说明你成功了

您的用户名是:${user.username}
您的密码是:${user.userpwd}

    Insert title here

用户名或者密码错误

最后就是注册页面了 reg.jsp


    用户注册

        div {
            width: 300px;
            height: 200px;
            margin-left: auto;
            margin-right: auto;
        }

                用户名:

                密 码:

注册成功和失败页面 regok.jsp 和regno.jsp


    Insert title here

注册成功如果你能看见我,说明你成功了
点此返回登录界面

    Insert title here

该用户名已被注册

Original: https://blog.csdn.net/m0_63608865/article/details/124575855
Author: sq小小萌新
Title: SSM框架实现登录注册功能

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/795544/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球