Web_demo_01(一)

1,一个B2C网站最开始的工作(除了浏览基本信息之外)就是注册和登录(UserServlet)
1.1 注册
在这里插入图片描述
调用MailUtils给注册用户发一封激活邮件(有激活码. ) —> UserServlet/active方法去数据库查看激活码是否正确----> 跳转到longin.html 。
跟验证码的思路一样,只是一个存在session中,一个存在数据库中。都是服务端生成一个数字,一份保存,一份发客户端,客户端手抄一份过来一对比。

1.2 登录
在这里插入图片描述
1.3 退出
干掉session request.getSession().invalidate();
干掉cookie 存活时间设置为0.

1.4 封装
封装BaseServlet 和 ContextFactory 没啥说的。
BaseServlet 已知方法名通过反射 调用方法(this), 方法执行完成返回结果ResultInfo, 然后统一转json再response回去。
ContextFactory 已知类名,解析xml文件获得路径,通过反射new obj 返回。

2 ,信息展示 CategoryServlet
2.1 CategoryServlet 实在没啥说的加个redis。点击跳到RouteServlet

3, 线路查询RouteServlet
3.1 routeCareChoose 定义一个map<String, List>放到resultInfo.data中.在service调用三次dao(人气,最新,主题) 加到 map.put()。
3.2 findRouteListByCid 分页显示 一个PageBean的事。带两个条件(cid && 搜索框的 内容 keyword, 在dao层做拼接,不为空就加上 (like keyword) )
在这里插入图片描述
3.3 findRouteByRid 某一路线的详情 dao层三表联查放到map中。service层用
在这里插入图片描述
3.4 isFavoriteByRid 看是否能够收藏,给页面显示
a, 用户是否登录:登录才能收藏
b, 看用户是否已经收藏:tab_user 和 tab_route之间是多对多的关系,一个用户可以收藏多条线路,一条线路也可以被多个用户收藏,so有张中间表tab_favorite。查uid - rid有没有就行了。

4,FavoriteServlet 我的收藏
4.1 addFavorite(经过上面的判断,能点肯定能收藏)
判断用户是否登录 —>
在这里插入图片描述
重点:线程安全(多个网页可能同时收藏某一条线路,同时去修改Route里面的count)。开启事务
在这里插入图片描述
在这里插入图片描述
4.2 findFavoriteByPage 查看我的收藏(分页)
通过uid查tab_favorite 得到rid[] 联合 tab_route limit(,)。把结果封装成favoriteList 放到PageBean中传给页面。封装还有点繁琐,多表查询一般是得到多个表的key–value 只能放在map中,template最多把map封装成list。只能自己定义bean用BeanUtils.populate(xxx,map)封装。
在这里插入图片描述
4.3 收藏排行榜 favoriteRank
在这里插入图片描述
分页(PageBean) + 多条件查询(curPage, keyword,minPrice,maxPrice)单表。条件拼接和结果封装。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值