spring+springmvc+hibernate简单的电商网站流程(1)登录注册

不废话,直接开始教怎么做。本文章适用于学过ssm或ssh的程序员

先是介绍程序的大概实现思路,具体框架配置,数据库配置,后续会写出来。

本文章是教大家如何制作后台接口,返回json数据给前台做判断,任何跳转页面的操作全都交给前台处理。

一,登录

 登录使用的是邮箱

使用SpringMVC的注解:@RequestMapping 处理URL请求
@RequestMapping(value = "/xxx/xxx/login")
      public void login(HttpServletRequest requset HttpServletResponse response){

     //首先是接收到前台给后台传过来的数据,我们可以在参数列表里添些需要的数据参数,也可以像这样获取

     String password = request.getParameter("password");

     if(passowrd != null && !password.equals("")){//这个很重要记得判断,失败就返回错误信息}

     //这里你可以写一个RequsetUtils的工具类去实现你想要的取值效果。

     //好了我们取到了用户在前台输入的password,我们使用hibernate在数据库中查询是否有对应的账号以及密码是否正确。

    //下面是根据用户名获取用户信息。(User以及userService稍后会讲)

    User user = this.userService.getObjByProperty("email",RequsetUtils.getString(request,"email").trim());

    //我们获取到了前台传来的账号,现在该比较密码是否相同了, 记住细节密码在注册的时候是用MD5或其他手段加密的,这里我使   用了一个MD5加密的工具类,具体如何加密还请自己决定。     

     String encrptPassword = Md5Encrpt.md5(password).toLowerCase(); 

      if(encrptPassword.equals(user.getPassword)){

         LoginContext.SetSessionValueByLogin(request,user);

         returnData(response,getObject(user));

         return;

       } 

 //这里说明一下上面代码的意思:判断用户输入的密码和账号的密码是否一致,如果一致就把这个用户信息存到session返回给前端,这样前端在下次执行操作的时候带着这个session访问后台接口,就可以判断你是否登录了,returnData是给前端返回json数据用的,后面会讲到这个类怎么写的。 (提醒各位,在写接口的时候最好try{}catch一下,要不然很可能报错返回500,因为要返回json数据页面500前端是不知道报的什么错误,所以要注意下。而且一定要判断用户名,密码是否为空!这个很重要!!!)

      }

 

二,注册 

用户注册一定要注意,密码要加密,而且搞清楚你以后要用什么做登录的账号等等。

@RequsetMapping(value = "/xxx/xxx/register")

public void register(HttpServletRequest requset, HttpServletResponse response){

 //和登录一样先是获取到前台提交过来的数据

String username = RequestUtils.getString(request,"username");

String password = RequsetUtils.getString(request, "password");

//假如使用的是邮箱当账号,去写一个正则表达式工具类,判断传过来的账号是否是邮箱,我们接下来使用Hibernate 查询数据库中是否有当前账号,确保一个账号只注册一次。(我这里自己写的hql语句,你们可以自己设计一下)   

Map map = new HashMap();

map.clear();

map.put("username",username);

List userList = this.userService().query("select obj from User obj where obj.username=:username",map,-1,-1);

if(userList.size() > 0){//你可以直接返回错误信息了。}

User user = new User();

user.setUserName(username);

user.setPassword(Md5Encrpt.md5(password).toLowerCase());

user.setUserRole("BUYER");//这个是用户标识,区分买家卖家和管理员。

user.setAddTime(new Date());

...

//这里我们需要给用户赋予相应的权限,我们去权限数据库中查出来买家的所有权限然后交给这个账号。

map.clear();

map.put("type","BUYER");

List roles = this.roleService.query("select obj from Role obj where obj.type=:type",map,-1,-1);

user.getRoles().addAll(roles) //这里说明一下,getRoles会返回一个Set<Role>集合,到这里基本就成功了。

this.userService.save(user);

returnSuccessData(request,reponse,"注册成功");

return;

}

我知道大家看到这里,很多疑问,这个是第一篇文章,我会慢慢的写下面的内容,所以重要的内容都在后面呢!如果有兴趣了解电商网站的开发流程,您可以继续关注我后面的文章,或许那天你看懂我后面的东西,在回头看这里,你就明白很多了233。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值