educoder平台《博客系统 - 用户模块》

本文详细介绍了使用SSM(Spring、SpringMVC、MyBatis)框架实现用户注册和登录的步骤。在注册过程中,对用户名和手机号进行了校验,密码进行MD5加密,并设置了默认头像。登录时,通过查询用户信息并比对密码来验证用户身份。同时,提供了对应的XML映射文件和Java服务、控制器层的代码实现。
摘要由CSDN通过智能技术生成

第1关:用户注册

SSM_proj_user/resource/mappers/UserMapper.xml

<insert id="insert" parameterType="com.pojo.User" >

    <!-- 在这里编写插入用户的sql语句 第一关请在此编写代码 -->

  insert into t_user (username, password, phone,avatar,last_login, user_register_time )  

  values (#{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR},   

  #{phone,jdbcType=INTEGER},   

  #{avatar,jdbcType=VARCHAR},   

  now(), now())  

  </insert>

SSM_proj_user/src/com/service/impl/UserServiceImpl.java

//注册

  public ServerResponse register(User user) {

    

    //校验用户名是否存在

    ServerResponse response = checkValid(user.getUsername(),USER_TYPE);

    if (response.getStatus() == ServerResponse.ERROR) {

      return response;

    }

    

    //校验手机号是否存在

    response = checkValid(user.getPhone(), PHONE_TYPE);

      if (response.getStatus() == ServerResponse.ERROR) {  

    return response;  

    }  



    //MD5加密

    user.setPassword(MD5Util.getMD5(user.getPassword()));

    //设置默认头像

    user.setAvatar("/img/image.jpg");

    //实现用户注册

    int result = userMapper.insert(user);  

    if (result == 0) {  

    return new ServerResponse("注册失败", ServerResponse.ERROR);  

    }  

    return new ServerResponse("注册成功", ServerResponse.SUCCESS);  

    

  }

SSM_proj_user/src/com/controller/UserController.java

@RequestMapping("register.do")
	@ResponseBody
	public ServerResponse register(User user) {
		//实现注册功能
    ServerResponse response = userService.register(user);  
    return response;  
	}

第2关:用户登陆

SSM_proj_user/resource/mappers/UserMapper.xml

<select id="selectByUserInfo" resultMap="BaseResultMap" parameterType="map" >
	<!-- 在这里编写查询用户的sql语句  第二关请在此编写代码 -->
 select   
    <include refid="Base_Column_List" />  
    from t_user  
    where (username = #{username} OR email = #{username} OR phone = #{password}) AND password = #{password}

  </select>

SSM_proj_user/src/com/service/impl/UserServiceImpl.java

// 登陆
	public ServerResponse loginByUserNameAndPwd(String username, String password) {
		password = MD5Util.getMD5(password);  
        User user = userMapper.selectByUserInfo(username, password);  
        if (user != null) {  
            // 登录成功  
            return new ServerResponse("登录成功", ServerResponse.SUCCESS, user);  
        }  
        return new ServerResponse("登录失败,用户名或密码错误!", ServerResponse.ERROR);  
	}

SSM_proj_user/src/com/controller/UserController.java

	@RequestMapping("login.do")
	@ResponseBody
	public ServerResponse login(@RequestParam("username") String username,@RequestParam("password") String password, HttpSession session, HttpServletRequest request) {
		//实现登陆功能
		ServerResponse response = userService.loginByUserNameAndPwd(username, password);  
        if (response.getStatus() == ServerResponse.SUCCESS) {  
            session.setAttribute("userInfo", response.getData());  
        }  
        return response;  
	}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值