Java Web——基于Servlet、JSP(无框架版)电影网站项目总结 (二,完结版)

今天来谈谈项目的“基石”——数据库,在这个项目中,我设计了7张表,如下图所示:

allmovies:存放所有电影的相关信息

clicknumber:记录每一部电影的被点击次数,

collection:电影收藏表,记录用户收藏的电影

comments:电影评论表,记录电影的评论

history:浏览记录表,记录用户的浏览电影记录

score:评分表,记录用户对电影的评分(不过该表暂未用到)

users:用户信息表

电影表中呢,自然存放的是电影的相关字段,比如电影名啊、电影时长、电影海报图片啊等待字段,clicknumber表和collection表以及history表都是后期做电影推荐系统的一个"key",可以根据这些数据来我们的推荐更加的精准。

不得不说的是,数据库的设计真的是需要根据挺费脑的,在做需求分析的时候,虽然知道有“自顶向上的需求分析法”和“自底向上的需求分析法”,但是呢,还是做不到一下子就设计的比较完善,还是在做项目的途中修修改改,连带着代码也跟着变动。真的很耗费时间,希望下一个项目可以现把数据库设计好。

在项目中,自从使用了Ajax来处理消息的传递和接收以后,就非常想把之前的JSP页面改会HTML页面,全部使用Ajax来接收数据,但是悲催的发现,以现在的功力我还做不到,还是不能避免的要使用JSP页面,不过JSP的确挺方便的,真香!!!

在电影的分类页面,即下面这张图片所示页面:

使用了大量的Ajax,并且都是与后端的一个servlet进行通信,根据分类,评分,国家,年份来更改显示符合条件的电影。还有下方的分页,也是通过Ajax去实现,没有使用网上Java的分页插件,自己根据需求写了一个可以使用,但是很low的分页。

写到这里突然觉得没啥可总结的,项目写的并不是很好,自己觉得有一点特点的就是,加了个单点登录,即同一时间用户只能在一个浏览器登录,不能同时在两个浏览器登录。简单说一下这个单点登录实现的思路吧,首先用一个Map保存用户id和seesionId,记录这两者之间的关系,当一个用户登录时,判断这个用户是不是已经在map集合中,如果在,那么就把已经登录用户对应的Session给失效,并且提示用户,账户在别处登录,自己被踢下线;如果没有在map集合中,那么就很简单了,直接把这个用户和对应的Session存入到map集合中就可以了。

好了,不说了,大家看着玩吧,觉得项目还行的,就在码云上给个Star吧。

发布了34 篇原创文章 · 获赞 31 · 访问量 5036
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章