1.上一篇SSM框架搭建好了之后就要开始写功能了,现在来写一个简单的登录注册功能

这几个包是自己手动创建的,然后往里面写代码

2.代码详情

 package com.maike.controller;

 import javax.servlet.http.HttpServletRequest;

 import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView; import com.maike.dto.UserDto;
import com.maike.model.User;
import com.maike.service.UserService;
/**
*
* @author tan
*
*/
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService; /**
* toRegister: 跳转到注册页面<br/>
* @return
*/
@RequestMapping("/toRegister")
public String toRegister(){
return "register";
}
/**
* addUser:实现注册 <br/>
* @param userDto
* @return
*/
@RequestMapping("/addUser")
public ModelAndView addUser(UserDto userDto) {
int k = userService.addUser(userDto);
if(k > 0) {
ModelAndView view = new ModelAndView("login");
return view;
}else {
ModelAndView view = new ModelAndView("register");
return view;
}
}
/**
* 登录判断
* @param userDto
* @return
*/
@RequestMapping("/judgeLogin")
public ModelAndView judgeLogin(UserDto userDto) {
int k = userService.judgeLogin(userDto);
if(k > 0) {
ModelAndView view = new ModelAndView("success");
return view;
}else {
ModelAndView view = new ModelAndView("login");
return view;
}
} }

UserController

 package com.maike.dto;

 import java.io.Serializable;

 public class UserDto implements Serializable {

     /**
*
*/
private static final long serialVersionUID = 1L; private String userName; private String userPwd; private String reUserPwd; 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;
} public String getReUserPwd() {
return reUserPwd;
} public void setReUserPwd(String reUserPwd) {
this.reUserPwd = reUserPwd;
} public static long getSerialversionuid() {
return serialVersionUID;
} @Override
public String toString() {
return "UserDto [userName=" + userName + ", userPwd=" + userPwd + ", reUserPwd=" + reUserPwd + "]";
} }

UserDto

UserMapper.xml

  <!-- 通过用户名查询用户 -->
<select id="selectByName" parameterType="java.lang.String" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List" />
FROM user WHERE user_name=#{userName,jdbcType=VARCHAR}
</select>
<!-- 通过用户名密码查询 -->
<select id="selectByNamePwd" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from user
where user_name=#{userName,jdbcType=VARCHAR} and user_pwd=#{userPwd,jdbcType=VARCHAR}
</select>
<!-- 添加用户信息 -->
<insert id="insert" parameterType="com.maike.model.User">
INSERT INTO user(user_id, user_name, user_pwd) values(#{userId,jdbcType=INTEGER}, #{userName,jdbcType=VARCHAR}, #{userPwd,jdbcType=VARCHAR})
</insert>

UserMapper.java

     int insert(User user);

     User selectByName(String userName);

     User selectByNamePwd(@Param("userName") String userName,@Param("userPwd") String userPwd);
 package com.maike.service;

 import com.maike.dto.UserDto;

 public interface UserService {

     int addUser(UserDto userDto);

     int judgeLogin(UserDto userDto);

 }

UserService

 package com.maike.serviceImpl;

 import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import com.maike.dao.UserMapper;
import com.maike.dto.UserDto;
import com.maike.model.User;
import com.maike.service.UserService;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper; /**
* addUser: 添加用户<br/>
*/
public int addUser(UserDto userDto) {
// TODO Auto-generated method stub
int k = 0;
String userName = userDto.getUserName();
String userPwd = userDto.getUserPwd();
String reUserPwd = userDto.getReUserPwd();
if("" == userName || "" == userPwd|| "" == reUserPwd) {
return k;
}
if(!userPwd.equals(reUserPwd)) {
return k;
}
User u = userMapper.selectByName(userName);
if(null != u) {
return k;
}
User user = new User();
user.setUserName(userName);
user.setUserPwd(reUserPwd);
k = userMapper.insert(user);
return k;
} /**
* 登录判断
*/
public int judgeLogin(UserDto userDto) {
// TODO Auto-generated method stub
int k = 0;
String userName = userDto.getUserName();
String userPwd = userDto.getUserPwd();
if("" == userName || "" == userPwd) {
return 0;
}
User user = userMapper.selectByNamePwd(userName, userPwd);
if(null != user) {
k = 1;
return k;
}
return 0;
} }

UserServiceImpl

JSP

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>注册页面</title>
</head>
<body>
<br/>
<br/>
<br/>
<form action="addUser">
<table align = "center" >
<tr>
<td>用户名</td><td><input type = "text" name = "userName"></td>
</tr>
<tr>
<td>密码</td><td><input type = "password" name = "userPwd"></td>
</tr>
<tr>
<td>确认密码</td><td><input type = "password" name = "reUserPwd"></td>
</tr>
<tr>
<td colspan="2" align = "center"><input type = "submit" value = "注册" style = "background-color: Cyan;color:blue"></td>
</tr>
</table>
</form>
</body>
</html>

register

 <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>登录页面</title>
</head>
<body>
<br/>
<br/>
<br/>
<form action="user/judgeLogin">
<table align = "center">
<tr>
<td>用户名</td><td><input type = "text" name = "userName"></td>
</tr>
<tr>
<td>密码</td><td><input type = "password" name = "userPwd"></td>
</tr>
<tr>
<td align = "left"><input type = "submit" value = "登录" style = "background-color: Cyan;color:blue"></td>
<td align = "right" ><button style = "background-color: Cyan;color:blue"><a href = "/SSM/user/toRegister">注册</a></button></td>
</tr>
</table>
</form>
</body>
</html>

login

3.最好部署到Tomcat上 运行成功

SSM 实现登录注册功能的更多相关文章

  1. Java Spring+Mysql+Mybatis 实现用户登录注册功能

    前言: 最近在学习Java的编程,前辈让我写一个包含数据库和前端的用户登录功能,通过看博客等我先是写了一个最基础的servlet+jsp,再到后来开始用maven进行编程,最终的完成版是一个 Spri ...

  2. Node.js实现登录注册功能

    使用Node.js + Navicat for mysql实现的登录注册功能 数据库中存在有”user_id,user_name,password,user_img,user_number“字段,其中 ...

  3. flask 开发用户登录注册功能

    flask 开发用户登录注册功能 flask开发过程议案需要四个模块:html页面模板.form表单.db数据库操作.app视图函数 1.主程序 # app.py # Auther: hhh5460 ...

  4. vue koa2 mongodb 从零开始做个人博客(一) 登录注册功能前端部分

    0.效果演示 插入视频插不进来,就很烦.可以出门右拐去优酷看下(点我!). 1.准备工作 1.1前端框架 前端使用了基于vue.js的nuxt.js.为什么使用nuxt.js? 首先我做的是博客的项目 ...

  5. JAVAEE_Servlet_20_登录注册功能

    实现登录注册功能 注册功能 import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import j ...

  6. JAVAEE——宜立方商城11:sso登录注册功能实现、通过token获得用户信息、Ajax跨域请求(jsonp)

    1. 学习计划 第十一天: 1.sso注册功能实现 2.sso登录功能实现 3.通过token获得用户信息 4.Ajax跨域请求(jsonp) 2. Sso系统工程搭建 需要创建一个sso服务工程,可 ...

  7. App登录注册功能,怎样做到用户体验最佳?

    用户登录系统,可以细分为三项功能模块,分别是:登录.注册和密码找回.本文作者将结合自身经历,谈谈他在做这块的时候一些想法,主要是涉及业务流程. 登录和注册功能,不论是PC端还是移动端,大多数产品都会涉 ...

  8. PHP实现用户登录注册功能

    初学php做了一些比较常见且有用的页面,放在上面记录一下咯 我是用了bootstrap框架里面的模态框做注册登陆页面,这样页面比较美观 页面效果: 注册成功条件/功能: 1)用户名不能冲突 2)两次密 ...

  9. 一个关于vue+mysql+express的全栈项目(三)------ 登录注册功能的实现(已经密码安全的设计)

    本系列文章,主要是一个前端的视角来实现一些后端的功能,所以不会讲太多的前端东西,主要是分享做这个项目学到的一些东西,,,,, 好了闲话不多说,我们开始搭建后端服务,这里我们采用node的express ...

随机推荐

  1. 十分钟 CODING DevOps 全链路体验

    近期 CODING 团队在 2019 KubeCon 大会上发布 DevOps 一站式解决方案:CODING 2.0.此次 CODING 全新上线了持续集成与制品库模块,通过自动化与标准化的方式来帮助 ...

  2. 使用“npm init”初始化项目

    使用npm init初始化项目 为什么要使用npm init初始化项目 在node开发中使用npm init会生成一个pakeage.json文件,这个文件主要是用来记录这个项目的详细信息的,它会将我 ...

  3. centos重启出现type Control-D to continue【fsck使用】

    VMware vSphere克隆异常/dev/sda2:UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.(i.e.,without -a or -p optio ...

  4. 编辑器之神vim的一些常用快捷键整理

    yy:复制 光标所在的这一行 4yy:复制 光标所在行开始向下的4行 p:粘贴 dd:剪切(删除) 光标所在的这一行 4dd:剪切(删除) 光标所在行向下的4行 D:从当前的光标开始向后剪切,一直到行 ...

  5. python爬取网页数据

    一.利用webbrowser.open()打开一个网站: ? 1 2 3 >>> import webbrowser >>> webbrowser.open('ht ...

  6. 从壹开始[做贡献]之二 || 推荐VSCode多语言开发,支持一键JAVA

    缘起 哈喽大家周一好!好久不见鸭,最近在看一本书,很好,<人类简史>,适合夏日星空,仰观宇宙之大

  7. 朝花夕拾《精通CSS》三、对一些标签元素的使用

    一.背景 翻出我4年前看的<精通CSS>一书,可惜当初没有整理读书笔记的习惯,最近又很少写前端,遂很多东西.知识点遗忘了,恰且现在 css 也有些变化和进步,遂一起打包整理,输出成几篇 b ...

  8. IE浏览器远程代码执行高危漏洞(CVE-2019-1367)

    IE浏览器远程代码执行高危漏洞(CVE-2019-1367)加固遇到的问题 一.背景介绍 Internet Explorer,是微软公司推出的一款网页浏览器.用户量极大.9月23日微软紧急发布安全更新 ...

  9. VS2010到VS2019各个版本的密钥

    VS2019专业版和企业版的密钥 Visual Studio 2019 EnterpriseBF8Y8-GN2QH-T84XB-QVY3B-RC4DF Visual Studio 2019 Profe ...

  10. goweb-搭建服务

    web应用简介 Web 应用在我们的生活中无处不在.看看我们日常使用的各个应用程序,它们要 么是 Web 应用,要么是移动 App 这类 Web 应用的变种.无论哪一种编程语言,只要 它能够开发出与人 ...