用户模块之激活功能完成 | 学习笔记-阿里云开发者社区

开发者社区> 学堂小助手> 正文

用户模块之激活功能完成 | 学习笔记

简介: 快速学习用户模块之激活功能完成
+关注继续查看

开发者学堂课程【Java Web项目实战2:图书商城用户模块之激活功能完成】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/35/detail/768


用户模块之激活功能完成


内容介绍:

一、什么是模板

二、可变参数

三、占位符举例

四、 用户激活流程

五、按激活码查询

六、修改指定用户的指定状态

七、激活功能

 

 一、什么是模板

包含了占位符的字符串就是模板!


二、 可变参数

需要指定模板中的占位符的值!有几个占位符就要提供几个参数。


三、占位符举例

例如:String s=Message.format (“{0}或{1}错误!“,”用户名“,”密码“);

——用户名或密码错误!


四、用户激活流程

UserServlet#active()

1.获取参数:激活码

2.使用激活码来调用 service#active(String code) 方法

>保存异常信息到 reqeust 中

>转发到 msg.jsp

3.保存激活成功信息到 reqeust 中

4.转发到 msg.jsp


UserService#active(String code)

1.使用 code 去查询数据库,得到 User 对象

>如果数据库返回的是 null ,抛出异常

2.查看用户的状态

> true : 抛出异常

>false : 修改用户的状态为 true


UserDao

1. User findByCode(String code)

2. void updateState(String uid, boolean state)


msg.jsp


五、按激活码查询

public User findByCode(String code){

try {

String sql="select * from tb_user where code=?";

return qr.query(sql,new Beanhandler<User>(User.class),code);

} catch(SQLException e) {

throw new RuntimeExceptiop(e);

}

}


​六、 ​修改指定用户的指定状态​

* @param uid

* @param state

*/

public void updatestate(String uid, boolean state) (

try {

String sql = "update tb_user set state=? where uid=?";qr.update(sql,state,uid);

} catch(SQLException e) {

throw new RuntimeException(e);

}

}

}


​七、​​激活功能​

* @throws UserException

public void active(String code) throws UserException {

/*

*1.使用code查询数据库,得到user

User user = userDao.findByCode(code);

*2.如果user不存在,说明激活码错误

if(user==null)throw new UserException("激活码无效!");

*3.校验用户的状态是否为未激活状态,如果已激活,说明是二次激活,抛出异常

if(user.isstate())throw new UserException("您已经激活过了,不要再激活了");

*4.修改用户的状态

userDao.updatestate(user.getUid(),true);

*激活功能

* @param request

*@param response*

* @return

*@throws ServletException

* @throws IOException

*/

public String active(HttpServletRequest request,HttpservletResponse response)

throws ServletException,IOException {

*1.获取参数激活码

*2.调用service方法完成激活

*>保存异常信息到request域,转发到msg-jsp

*3.保存成功信息到xequest域,转发到msg-jsp

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

try {

userService.active(code);

request.setAttribute("msg”,"恭喜,您激活成功了!请马上登录!");

} catch (UserException e) {

request.setAttribute("msg",e.getMessage());

}

return"f:/jsps";

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9495 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13183 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
11508 0
QML学习笔记(四)-Canva画板画图功能-跟随鼠标位置进行随笔画
参考博主文章进行整理了代码,实现功能参考:https://blog.csdn.net/UbuntuTouch/article/details/46375697 源码:https://github.com/sueRimn/QML-ExampleDemos 更多的鼠标实时画图-画直线画圆画矩形等看下...
1714 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
6893 0
1214
文章
0
问答
来源圈子
更多
技术图谱:由专家组参与技术图谱的绘制与编写,知识与实践的结合让开发者们掌握学习路线与逻辑,快速提升技能 电子书:电子书由阿里内外专家打造,供开发者们下载学习,更与课程相结合,使用户更易理解掌握课程内容 训练营:学习训练营 深入浅出,专家授课,带领开发者们快速上云 精品课程:汇集知识碎片,解决技术难题,体系化学习场景,深入浅出,易于理解 技能自测:提供免费测试,摸底自查 体验实验室:学完即练,云资源免费使用
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载