SSM 实现登录注册功能
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 实现登录注册功能的更多相关文章
- Java Spring+Mysql+Mybatis 实现用户登录注册功能
前言: 最近在学习Java的编程,前辈让我写一个包含数据库和前端的用户登录功能,通过看博客等我先是写了一个最基础的servlet+jsp,再到后来开始用maven进行编程,最终的完成版是一个 Spri ...
- Node.js实现登录注册功能
使用Node.js + Navicat for mysql实现的登录注册功能 数据库中存在有”user_id,user_name,password,user_img,user_number“字段,其中 ...
- flask 开发用户登录注册功能
flask 开发用户登录注册功能 flask开发过程议案需要四个模块:html页面模板.form表单.db数据库操作.app视图函数 1.主程序 # app.py # Auther: hhh5460 ...
- vue koa2 mongodb 从零开始做个人博客(一) 登录注册功能前端部分
0.效果演示 插入视频插不进来,就很烦.可以出门右拐去优酷看下(点我!). 1.准备工作 1.1前端框架 前端使用了基于vue.js的nuxt.js.为什么使用nuxt.js? 首先我做的是博客的项目 ...
- JAVAEE_Servlet_20_登录注册功能
实现登录注册功能 注册功能 import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import j ...
- JAVAEE——宜立方商城11:sso登录注册功能实现、通过token获得用户信息、Ajax跨域请求(jsonp)
1. 学习计划 第十一天: 1.sso注册功能实现 2.sso登录功能实现 3.通过token获得用户信息 4.Ajax跨域请求(jsonp) 2. Sso系统工程搭建 需要创建一个sso服务工程,可 ...
- App登录注册功能,怎样做到用户体验最佳?
用户登录系统,可以细分为三项功能模块,分别是:登录.注册和密码找回.本文作者将结合自身经历,谈谈他在做这块的时候一些想法,主要是涉及业务流程. 登录和注册功能,不论是PC端还是移动端,大多数产品都会涉 ...
- PHP实现用户登录注册功能
初学php做了一些比较常见且有用的页面,放在上面记录一下咯 我是用了bootstrap框架里面的模态框做注册登陆页面,这样页面比较美观 页面效果: 注册成功条件/功能: 1)用户名不能冲突 2)两次密 ...
- 一个关于vue+mysql+express的全栈项目(三)------ 登录注册功能的实现(已经密码安全的设计)
本系列文章,主要是一个前端的视角来实现一些后端的功能,所以不会讲太多的前端东西,主要是分享做这个项目学到的一些东西,,,,, 好了闲话不多说,我们开始搭建后端服务,这里我们采用node的express ...
随机推荐
- Python 标准类库-数字和数学模块之decimal使用简介
标准类库-数字和数学模块之decimal使用简介 by:授客 QQ:1033553122 例子 >>>from decimal import * >>>getcon ...
- Effect:Mobile ocd
Satisfy the following two Keep your phone at all times Check your phone even if there's no news Alwa ...
- 记录/objc2/object_setClass做了啥
inline Class objc_object::changeIsa(Class newCls) { // This is almost always true but there are // e ...
- log file sync等待超高案例浅析
监控工具DPA发现海外一台Oracle数据库服务器DB Commit Time指标告警,超过红色告警线(40毫秒左右,黄色告警是10毫秒,红色告警线是20毫秒),如下截图所示,生成了对应的时段的AWR ...
- MySQL语句使用。
目录 MySQL的DDL.DML.DQL语句和单表增.删.改.查 实验准备: 实验开始: DDL语句 DML语句 DQL语句 单表操作的分组统计 MySQL的DDL.DML.DQL语句和单表增.删.改 ...
- TICK技术栈(五)Kapacitor安装及使用
1.什么是Kapacitor? Kapacitor是InfluxData开源的数据处理引擎.它可以处理来自InfluxDB的流数据和批处理数据,并且用户可以用tickScript脚本来处理,监视和警报 ...
- MAC 下将libpomelo连接到cocos2d-x
摘要:借助GYP将libpomelo连接到Cocos2d-x项目并使项目能与服务端成功连接. 配置:OS X 10.9.4 + Xcode 6.0 + Cocos2d-x-3.2 一.部署GYP(Ge ...
- python模拟进程状态
python模拟进程状态 我在参考资料中看到了两种实现方式,都做了尝试 代码1 from transitions import Machine class Matter: pass model = M ...
- linux配置LAMP(CentOS7.4 Apache2.4 PHP5.6)
1.安装Apache 这个就不手动安装了,直接上脚本执行 bash apache.sh 以下为脚本的内容: #!/bin/bashversion=`lsb_release -a|grep Releas ...
- 随机的标识符GUID
Guid guid = Guid.NewGuid();Console.WriteLine(guid.ToString());