java电商项目用户模块,JAVA项目实战开发电商项目案例(五)用户模块开发

电商网站用户必须登录账号才能发起购物,用户输入用户名和密码认证为唯一性,用户获取账号需要在网站中申请注册账号之后才能操作网站中的信息。

用户模块包含用户注册、用户登录、用户修改密码、用户个人中心信息查询

1用户注册界面

d892a5fe3d98?utm_campaign=haruki&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

在这里插入图片描述

2用户登录界面

d892a5fe3d98?utm_campaign=haruki&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

在这里插入图片描述

3用户个人中心界面

d892a5fe3d98?utm_campaign=haruki&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

在这里插入图片描述

4用户修改密码界面

d892a5fe3d98?utm_campaign=haruki&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

在这里插入图片描述

5用户模块开发

5.1数据库表设计

d892a5fe3d98?utm_campaign=haruki&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

在这里插入图片描述

表名:tb_member 商城会员表

字段

字段中文名

username

用户名

password

密码

nickname

用户昵称

phone

用户电话号码

status

用户状态

caeate_time

创建时间

5.2用户注册模块开发

用户输入用户名和密码以及再次输入确认密码和手机号信息,调用用户注册接口,用户接口mybaties将用户信息插入tb_member数据库表中,从而完成用户注册功能。(ps这应该是大学老师里面天天讲的一个登陆注册讲了4年)

关键代码分析

/***

* 会员注册接口

* 商城用户接口

*/

@RestController

@RequestMapping("api")

public class MemberController {

@Autowired

private MerberService merberService;

/****

* 校验用户是否存在

*/

@RequestMapping("/vilidateUser")

public CommonResult vilidateUser(String username){

int result=merberService.vilideUser(username);

if(result==0){

return CommonResult.success(result);

}else if(result==1){

//code大于200业务失败。

return CommonResult.failed(ResultCode.USEREXIT);

}

return null;

}

/***

* 注册用户

*/

@RequestMapping("/user/register")

public CommonResult registerUser(TbMember member){

int result=merberService.registerUser(member);

if(result>0){

return CommonResult.success(result);

}

return CommonResult.failed();

}

5.3用户登录模块

用户输入用户名和密码,后台首先校验用户用户名是否不存在,不存在则直接提示不存在用户,如果用户存在进行对密码的一个加密,根据加密后的密码以及用户名查询数据库用户密码是否正确,如果正确则用户可以登录

关键代码分析

/***

* 会员注册接口

* 商城用户接口

*/

@RestController

@RequestMapping("api")

public class MemberController {

@Autowired

private MerberService merberService;

/****

* 校验用户是否存在

*/

@RequestMapping("/vilidateUser")

public CommonResult vilidateUser(String username){

int result=merberService.vilideUser(username);

if(result==0){

return CommonResult.success(result);

}else if(result==1){

//code大于200业务失败。

return CommonResult.failed(ResultCode.USEREXIT);

}

return null;

}

/***

* 注册用户

*/

@RequestMapping("/user/register")

public CommonResult registerUser(TbMember member){

int result=merberService.registerUser(member);

if(result>0){

return CommonResult.success(result);

}

return CommonResult.failed();

}

/***

* 会员登录

*/

@RequestMapping("/meberuser/login")

public CommonResult loginUser(TbMember member, HttpServletRequest request, HttpServletResponse response){

HttpSession session= request.getSession();

System.out.println("seesionID"+session.getId());

TbMember tbMember=merberService.login(member);

System.out.println(session);

String uuid = UUID.randomUUID().toString();

if(tbMember==null){

return CommonResult.failed(ResultCode.LOGINFAIL);

}else{

//登录成功将用户信息放入session中2019年1021号加入

session.setAttribute(Constant.CURRENT_LOGIN_USER,tbMember);

session.setAttribute("a","hello");

//放入cokie

CookieUtil.set(response,Constant.TOKEN,uuid,Constant.EXPIRE);

return CommonResult.success(tbMember);

}

}

5.4用户个人中心模块

从session中获取用户信息然后将session中的用户信息获取出来进而返回用户个人信息页面

关键代码分析

/***

* 会员注册接口

* 商城用户接口

*/

@RestController

@RequestMapping("api")

public class MemberController {

@Autowired

private MerberService merberService;

/****

* 校验用户是否存在

*/

@RequestMapping("/vilidateUser")

public CommonResult vilidateUser(String username){

int result=merberService.vilideUser(username);

if(result==0){

return CommonResult.success(result);

}else if(result==1){

//code大于200业务失败。

return CommonResult.failed(ResultCode.USEREXIT);

}

return null;

}

/***

* 注册用户

*/

@RequestMapping("/user/register")

public CommonResult registerUser(TbMember member){

int result=merberService.registerUser(member);

if(result>0){

return CommonResult.success(result);

}

return CommonResult.failed();

}

/***

* 会员登录

*/

@RequestMapping("/meberuser/login")

public CommonResult loginUser(TbMember member, HttpServletRequest request, HttpServletResponse response){

HttpSession session= request.getSession();

System.out.println("seesionID"+session.getId());

TbMember tbMember=merberService.login(member);

System.out.println(session);

String uuid = UUID.randomUUID().toString();

if(tbMember==null){

return CommonResult.failed(ResultCode.LOGINFAIL);

}else{

//登录成功将用户信息放入session中2019年1021号加入

session.setAttribute(Constant.CURRENT_LOGIN_USER,tbMember);

session.setAttribute("a","hello");

//放入cokie

CookieUtil.set(response,Constant.TOKEN,uuid,Constant.EXPIRE);

return CommonResult.success(tbMember);

}

}

@RequestMapping("/meberuser/logout")

public CommonResult loginUser(HttpSession session){

//登录成功将用户信息放入session中2019年1021号加入

session.removeAttribute(Constant.CURRENT_LOGIN_USER);

return CommonResult.success(1);

}

@RequestMapping("/meberuser/getinfo")

public CommonResult getinfo( HttpSession session){

TbMember tbMember= (TbMember) session.getAttribute(Constant.CURRENT_LOGIN_USER);

if(tbMember==null){

//未登录返回0 啊

return CommonResult.failed(ResultCode.NOLOGIN);

}

return CommonResult.success(tbMember);

}

/***

* 获取用户信息

* @param session

* @return

*/

@RequestMapping(value = "/meberuser/getinformation")

public CommonResult get_information(HttpSession session){

TbMember currentUser = (TbMember)session.getAttribute(Constant.CURRENT_LOGIN_USER);

if(currentUser == null){

return CommonResult.failed(ResultCode.UNAUTHORIZED);

}

return CommonResult.success(merberService.getInformation(currentUser.getId()));

}

5.5修改密码

用户输入原密码和新密码,后台修改密码接口将用户新密码更新到登录用户的信息表中从而完成用户修改密码功能

关键代码分析

/***

* 会员注册接口

* 商城用户接口

*/

@RestController

@RequestMapping("api")

public class MemberController {

@Autowired

private MerberService merberService;

/****

* 校验用户是否存在

*/

@RequestMapping("/vilidateUser")

public CommonResult vilidateUser(String username){

int result=merberService.vilideUser(username);

if(result==0){

return CommonResult.success(result);

}else if(result==1){

//code大于200业务失败。

return CommonResult.failed(ResultCode.USEREXIT);

}

return null;

}

/***

* 注册用户

*/

@RequestMapping("/user/register")

public CommonResult registerUser(TbMember member){

int result=merberService.registerUser(member);

if(result>0){

return CommonResult.success(result);

}

return CommonResult.failed();

}

/***

* 会员登录

*/

@RequestMapping("/meberuser/login")

public CommonResult loginUser(TbMember member, HttpServletRequest request, HttpServletResponse response){

HttpSession session= request.getSession();

System.out.println("seesionID"+session.getId());

TbMember tbMember=merberService.login(member);

System.out.println(session);

String uuid = UUID.randomUUID().toString();

if(tbMember==null){

return CommonResult.failed(ResultCode.LOGINFAIL);

}else{

//登录成功将用户信息放入session中2019年1021号加入

session.setAttribute(Constant.CURRENT_LOGIN_USER,tbMember);

session.setAttribute("a","hello");

//放入cokie

CookieUtil.set(response,Constant.TOKEN,uuid,Constant.EXPIRE);

return CommonResult.success(tbMember);

}

}

@RequestMapping("/meberuser/logout")

public CommonResult loginUser(HttpSession session){

//登录成功将用户信息放入session中2019年1021号加入

session.removeAttribute(Constant.CURRENT_LOGIN_USER);

return CommonResult.success(1);

}

@RequestMapping("/meberuser/getinfo")

public CommonResult getinfo( HttpSession session){

TbMember tbMember= (TbMember) session.getAttribute(Constant.CURRENT_LOGIN_USER);

if(tbMember==null){

//未登录返回0 啊

return CommonResult.failed(ResultCode.NOLOGIN);

}

return CommonResult.success(tbMember);

}

/***

* 获取用户信息

* @param session

* @return

*/

@RequestMapping(value = "/meberuser/getinformation")

public CommonResult get_information(HttpSession session){

TbMember currentUser = (TbMember)session.getAttribute(Constant.CURRENT_LOGIN_USER);

if(currentUser == null){

return CommonResult.failed(ResultCode.UNAUTHORIZED);

}

return CommonResult.success(merberService.getInformation(currentUser.getId()));

}

/***

*

* @param session

* @param passwordOld

* @param passwordNew

* @return

*/

@RequestMapping(value = "/meberuser/updatepassword")

public CommonResult resetPassword(HttpSession session,String passwordOld,String passwordNew){

TbMember user = (TbMember)session.getAttribute(Constant.CURRENT_LOGIN_USER);

if(user == null){

return CommonResult.failed(ResultCode.UNAUTHORIZED);

}

return CommonResult.success(merberService.resetPassword(passwordOld,passwordNew,user));

}

}

6总结

用户模块,单纯的用户登录和注册相对来说比较简单,本系统由于使用前后端分离的情况,所以还是使用了session来存储用户的信息,利用了后台解决ajax跨域问题,用户信息存储在session中,方便判断用户是否属于登录状态。

8个人说明

经验是由一点一点积累的,思维也是由一天一天训练出来的。

持续更新分享此项目电商在线演示地址为:演示地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值