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框架实现登录注册功能_第1张图片

项目结构图

SSM框架实现登录注册功能_第2张图片

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

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与之相关联




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

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

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>



    
    用户登录
    


用户名:
密 码:
还没有账号?点此注册

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


<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>



    
    Insert title here


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


您的用户名是:${user.username}
您的密码是:${user.userpwd}
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Insert title here

用户名或者密码错误

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

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>



    
    用户注册
    


用户名:
密 码:

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


<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>



    
    Insert title here


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


点此返回登录界面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Insert title here

该用户名已被注册

你可能感兴趣的:(SSM框架实现登录注册功能,maven,java,开发语言)