SSM框架实现登录注册功能

这篇具有很好参考价值的文章主要介绍了SSM框架实现登录注册功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

链接:https://pan.baidu.com/s/1qJ8aN7rheZXWT2_O_uiBKg 
提取码:6666 

目录

项目结构图

持久层相关配置文件 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

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       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">
    <!--引入属性文件-->
    <context:property-placeholder location="classpath:jdbc.properties"/>
    <!--数据源-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${mysql.driver}"/>
        <property name="url" value="${mysql.url}"/>
        <property name="username" value="${mysql.username}"/>
        <property name="password" value="${mysql.password}"/>
    </bean>
    <!--创建SqlSessionFactory对象-->
    <bean id="sqlSessionFactory"
          class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--数据源-->
        <property name="dataSource" ref="dataSource"/>
        <property name="typeAliasesPackage" value="com.sq.pojo"/>
    </bean>
    <!--扫描Dao包,创建动态代理对象, 会自动存储到spring IOC容器中-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!--指定要扫描的dao的包-->
        <property name="basePackage" value="com.sq.dao"/>
    </bean>
</beans>

applicationContext-service.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       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">
    <!--开启注解扫描, 扫描包-->
    <context:component-scan base-package="com.sq.service"/>
</beans>

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

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       	    http://www.springframework.org/schema/beans/spring-beans.xsd
       	    http://www.springframework.org/schema/mvc
       	    http://www.springframework.org/schema/mvc/spring-mvc.xsd
       	    http://www.springframework.org/schema/context
       	    http://www.springframework.org/schema/context/spring-context.xsd">
    <!-- 配置要扫描的包 -->
        <context:component-scan base-package="com.sq.controller"/>
    <!--静态资源代码块-->
    <!--<mvc:resources mapping="/statics/**" location="/statics/"/>-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
    <!-- 配置注解驱动 -->
    <mvc:annotation-driven/>

</beans>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
         http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
    <!-- 配置 Spring MVC 的前端控制器 -->
    <welcome-file-list>
        <!--欢迎页面   项目运行之后  没有指定路径的情况   会跳转-->
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
    <!--配置文件加载-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:application-*.xml</param-value>
    </context-param>
    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>
    <servlet>
        <!--servlet-name  名称-->
        <servlet-name>DispatcherServlet</servlet-name>
        <!--路径  class-->
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <!-- 配置初始化参数,用于读取 Spring MVC 的配置文件 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <!-- 应用加载时创建    优先级别  1最高级别-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern> <!--路径  什么情况下会开启-->
    </servlet-mapping>

    <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class> org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

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

先从实体类开始写:

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

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sq.dao.UserMapper">
    <select id="findOne" parameterType="User" resultType="User">
        SELECT * FROM user where username=#{username} and userpwd=#{userpwd}
    </select>
    <insert id="addOne" parameterType="User" >
        insert into user(username,userpwd) values(#{username},#{userpwd})
    </insert>
    <select id="checkReg" resultType="User">
        select * from user where username=#{username}
    </select>
</mapper>

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层实现的方法,实现一些操作,并与前端进行交互。文章来源地址https://www.toymoban.com/news/detail-401024.html

      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"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>用户登录</title>
    <style type="text/css">
        div {
            width: 300px;
            height: 200px;
            margin-left: auto;
            margin-right: auto;
        }
    </style>
</head>
<body>
<div>
    <form action="golog" method="post">
        <table border="1">
            <tr>
                <td>用户名:</td>
                <td><input type="text" name="username"></td>
            </tr>
            <tr>
                <td>密&emsp;码:</td>
                <td><input type="password" name="userpwd"></td>
            </tr>
            <tr>
                <td colspan="2" style="text-align: center;"><input
                        type="submit" value="登录"></td>
            </tr>
            <tr>
                <td colspan="2" style="text-align: center;"><a
                        href="http://localhost:8080/SpringMvc12_war/reg">还没有账号?点此注册</a></td>
            </tr>
        </table>
    </form>
</div>
</body>
</html>

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

<!-- logok.jsp -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
</head>
<body >
<h1>如果你能看见我,说明你成功了</h1>
<hr>
您的用户名是:${user.username}<br>
您的密码是:${user.userpwd}<br>
</body>
</html>


<!-- logno.jsp -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
</head>
<body>
<h1>用户名或者密码错误</h1>
</body>
</html>





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

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>用户注册</title>
    <style type="text/css">
        div {
            width: 300px;
            height: 200px;
            margin-left: auto;
            margin-right: auto;
        }
    </style>
</head>
<body>
<div>
    <form action="goreg" method="post">
        <table border="1">
            <tr>
                <td>用户名:</td>
                <td><input type="text" name="username" ></td>
            </tr>
            <tr>
                <td>密&emsp;码:</td>
                <td><input type="password" name="userpwd" ></td>
            </tr>
            <tr>
                <td colspan="2" style="text-align: center;"><input type="submit" value="注册"></td>
            </tr>
        </table>
    </form>
</div>
</body>
</html>

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

<!-- regok.jsp -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
</head>
<body >
<h1>注册成功如果你能看见我,说明你成功了</h1><br>
<a href="log">点此返回登录界面</a>
</body>
</html>


<!-- regno.jsp -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
</head>
<body>
<h1>该用户名已被注册</h1>
</body>
</html>

到了这里,关于SSM框架实现登录注册功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • XML配置方式整合SSM框架实现用户登录

    数据库simonshop,采用utf8mb4编码 单击【确定】按钮 创建用户表t_user 执行命令: 插入4条记录 执行命令: 创建Maven项目 - SSMLogin 单击【Create】按钮 在pom.xml文件里添加相关依赖 刷新项目Maven依赖 刷新之后 日志属性文件 - log4j.properties 添加如下: 数据库属性文件 - jdbc.properties 添

    2024年02月05日
    浏览(24)
  • js实现登录注册功能

    话不多说,上代码。 登录功能 注册功能

    2024年02月11日
    浏览(19)
  • 3.1 基于配置文件整合SSM框架实现用户登录

    1、创建数据库与表 (1)创建数据库 数据库simonshop,采用utf8mb4编码 (2)创建用户表 创建用户表t_user (3)在用户表里插入记录 插入4条记录 2、创建Maven项目 创建Maven项目 - SSMLogin 单击【Finish】按钮 3、项目添加相关依赖 在pom.xml文件里添加相关依赖 4、创建日志属性文件 日

    2024年02月08日
    浏览(32)
  • Unity实现账号登录,注册功能

    制作了用户登录界面  关于弹窗使用了DOTween插件,实现渐隐渐显效果。 关于账号使用了本地Json读取, 默认账号:YSQS/YSQS1 密码:admin/admin1 注册功能其实应该重构的因为有二次读流的问题存在。 账号注册加入了邀请码(其实就一个if)  接下来就是我那臭死了的源码。 GameSt

    2024年02月11日
    浏览(19)
  • Django实现的登录注册功能

    在Web开发中,用户登录和注册是最基本且必不可少的功能。Django,作为一个高级的Python Web框架,为我们提供了强大的工具和库来快速实现这些功能。下面,我将详细介绍如何使用Django来实现用户登录和注册功能。 该项目是使用django+bootstrp开发的项目,包含以下功能 注册:

    2024年04月16日
    浏览(23)
  • Unity实现登录/注册/审核功能

    2024年01月23日
    浏览(24)
  • Java实现登录和注册功能

    本文主要应用的技术有:GUI和IO流 我们要利用Java的图形化界面编程实现一个拥有注册和登录简单功能的案例 设计思路:首先我们要实现注册功能,就要有一个用来储存用户名和密码的对象,这里所采用的对象就是文件,通过IO流操作,将用户名和密码以字符串拼接的方式存入

    2024年02月11日
    浏览(19)
  • 微搭低代码实现登录注册功能

    原来产品在创建应用的时候可以创建模型应用,模型应用对应我们小程序的后端。最新的更新已经将模型应用的能力下线,那我们不得不自己实现一下后端的逻辑。 后端需要要求用户进行注册,注册完了之后进行登录。本文介绍一下如何借助API的能力实现注册和登录。 用户

    2024年02月04日
    浏览(26)
  • Vue项目二 登录注册功能的实现

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 环境搭建完,根据管理系统用户需要注册,实现登录然后将用户信息保存在本地中的需求,本章主要实现系统登录注册功能。 首先分析注册页面所要实现的功能,其功能包括账号、昵称、密码和二次确

    2023年04月08日
    浏览(20)
  • 登录和注册页面 - 验证码功能的实现

    目录 1. 生成验证码 2. 将本地验证码发布成 URL 3. 后端返回验证码的 URL 给前端 4. 前端将用户输入的验证码传给后端 5. 后端验证验证码 使用hutool 工具生成验证码. 1.1 添加 hutool 验证码依赖 1.2 创建验证码的控制器  application.propertities 中添加验证码保存路径 ( 末尾一定要带斜杆

    2024年02月15日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包