论坛交流项目总结

该项目涵盖了用户注册、发送邮件验证、登录退出功能,以及开发了注册和登录功能,包括验证码生成、邮箱验证。核心模块为帖子管理,涉及敏感词过滤、发布、详情展示和评论功能。此外,还实现了私信、点赞、关注、系统通知和搜索引擎功能,其中点赞采用Redis存储,系统通知使用RabbitMQ实现,搜索引擎利用Elasticsearch进行搜索。
摘要由CSDN通过智能技术生成

注册模块: 用户进入首页之后,点击注册按钮,就跳转到了注册页面。注册主要包括,用户名,密码,以及邮箱。

发送邮件: 1.邮箱配置(启动客户端SMTP服务) 新浪邮箱
2.SpringEmail(导包,参数配置(谁发的、发送给谁、邮件内容等),使用 JavaMailSender发送邮件)
3.模板引擎(使用Thymeleaf发送HTML邮件)

开发注册功能:(三次请求)
第一次:访问注册页面 : 点击顶部区域内的链接,打开注册页面
第二次:填写数据,立即注册,注册之后发送邮箱连接。
第三次:点击连接,再次访问服务

	写一个工具类CommunityUtil:随机字符串  ;MD5密码进行加密+盐
	在Util中创建接口,设置激活的三种状态 (激活成功、激活失败、重复激活)

service: 	编写注册的方法:
		1.返回注册的情况,用Map封装,输入的账号密码进行非空判断,
		2.验证邮箱、账号是否为空,如果不为空,说明存在。
		3.都判断之后进行注册,将密码用 MD5加盐 进行加密处理,将加密后的密码存入数据库。
		4.设置随机字符串激活码。设置用户头像和创建时间。将User插入数据库。
		5.使用JavaMailSender发送激活邮件。将可能带有错误信息的Map返回。

controller:得到 Map 判断是否为空,为空则注册成功,发送邮件,同时跳转到第三方界面
	         map不为空,注册失败,返回map信息会显示原因,还是留在注册页面。
		

	激活注册账号    :点击邮箱中的链接,访问服务端的激活服务
		在LoginController(视图层),书写激活方法(根据邮箱中id和激活码的匹配,使得state置为1,即为激活成功):
			(id和激活码匹配)激活成功   跳转页面
			(id和激活码不匹配)激活失败   跳转页面
     	          	(state已经是1了)重复激活  跳转页面

生成验证码:
1.导入jar包:kaptcha
2.编写Kaptcha配置类KaptchaConfig(主要配置生成图片的长度,宽度,字体大小,字体颜色,字符范围)
3.在controller中 添加方法 getKaptcha:生成验证码图片,把验证码图片在session中保存,将图片输出给浏览器。

开发登录和退出功能:
1.访问登陆页面:点击顶部链接打开登陆页面
2.登录:验证账号密码和验证码是否正确 成功:生成登录凭证,发给客户端
失败:跳转回登录页面,返回错误信息
3.退出:将登陆凭证修改为失效状态,跳转至网站首页

	一张登录表: 默认id  、用户的id、登录的凭证、 状态(1:为已经激活   、0:为失效) 、过期时间

	dao:	        方法一:写一个添加方法:插入登录凭证数据
		        方法二:查看获取凭证对象
		        方法三:更新登录凭证状态
	
	service:    账号和密码的正确性检验(两者是否为空值,账号是否存在且已经激活,密码是否正确)
		        登录凭证:如果信息正确,生成登录凭证,并插入到数据库中,map的key为ticket,value为登录凭证信息。
	
	controller:把表单的验证码和存入session的验证码进行匹配。
		      返回结果为map,从map中获取登录成功与否信息。
			依靠上一步map的信息,然后再跳转到不同的界面。
			1)如果登录成功了,把登录凭证存到浏览器的cookie中,并调回首页;
			2)如果登录失败了,把错误原因返还,并调回到登录页面。

退出登录:   dao:		把登录凭证改为1
		service:	添加一个logout方法   就是把对应的登录凭证改为1  失效状态
		controller: 把连接改为退出登录块的连接

显示登录信息: 流程: 浏览器端的cookie中存有登录凭证,能够在根据登录凭证在数据库中找

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值