# 基于JSP和MySql的资讯网站的设计与开发
# 摘 要
互联网时代是一个资讯爆发的时代,人们每天都能接收到各种平台推送的各式各样的资讯,这些资讯有可能是用户感兴趣的,也有可能是用户所厌恶的,如何在各种各样的资讯中最高效的获取自己需要的内容成为一个普遍的问题。本课题研究了技术发展所带来的信息爆炸情况,论证了有效筛选信息的必要性,本文主要内容是设计和实现一个资讯网站,为互联网时代的用户提供信息过滤的功能。
本文对系统的可行性和用户需求进行了详细的描述,将设计的资讯网站定位为为用户收集和过滤资讯的一个资讯平台,利用协同算法针对用户偏好抓取最新的资讯,实现资讯展示、资讯推送、资讯搜索等功能。
本文以软件工程的基本理念为指导思想,将课题的需求调研、分析与项目的设计工作进行了严格的阶段划分,同时用面向对象的分析设计思想对系统进行用例建模。系统的实现主要以Java作为开发语言,使用MySQL数据库对系统信息进行统一管理。
**关键词**:信息爆炸;协同算法;用户偏好;信息筛选
# ABSTRACT
The Internet age is an era of information explosion. People can receive a wide range of information from various platforms every day. These information may be of interest to users, and may be disgusting to users. The most efficient way to get the content you need is the general problem. This topic studies the information explosion brought about by the development of technology and demonstrates the necessity of effectively screening information. The main content of this paper is to design and implement an information website to provide information filtering function for users in the Internet age.
This article describes the feasibility of the system and user requirements in detail. The designed information website is positioned as an information platform for users to collect and filter information. It uses collaborative algorithms to capture the latest information based on user preferences, and realizes information display and information. Push, information search and other functions.
This paper takes the basic idea of software engineering as the guiding ideology, divides the requirements research, analysis and project design work of the project into strict stages. At the same time, it uses the object-oriented analysis and design idea to model the use case of the system. The implementation of the system mainly uses Java as the development language, and uses the MySQL database to perform unified management of system information.
**Keywords**: information explosion; collaborative algorithm; user preference; information screening
# 第一章 前言
## 1.1 课题背景
随着科技的发展,互联网从1969年发展至今,从一开始的仅用于军事连接,到如今的家喻户晓,互联网承载着人们的信息需求、交易需求、交流需求、娱乐需求以及办公需求,而其中的信息需求占据着很大一部分。互联网的发展使得人们能够不受空间限制来进行信息交换,并且由于人们可以随时随地联入互联网,使得互联网的更新速度非常迅速,因为互联网的受众众多,加之使用成本低,整个互联网中的信息量是庞大的。现如今人们使用的智能设备每天都会收到众多的推送信息,如推送的聊天消息;推广活动;行业新闻;最新资讯等,蜂拥而来的信息给用户带来的将会是选择成本的影响,以及时间被碎片化。
资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,具有时效性和地域性。资讯不同于新闻,资讯和新闻的区别在于:资讯包括了新闻、供求、动态、技术、政策、评论、观点和学术的范畴,时效范围远宽于新闻,例如今天的新闻明天不再是新闻,但今天的资讯明天也可能作用依然。
互联网时代的用户已经不仅仅只是关注于此时此刻或者过去发生了什么事情,他们可能为了更好的自我发展,会将关注点放在那些能够提高自我的资讯上面,比如领域类的最新技术、发展历史以及他人的经验分享。互联网时代同时也是一个资讯爆发的时代,各式各样的资讯如大潮般涌向用户,例如百度每天的搜索量达到60亿次,产生数据量达到几十PB,新浪微博高峰期每秒达到百万次访问。与海量资讯蜂拥而至相矛盾的是用户获取资讯的时间始终是有限的,怎么有效的筛选有意义的讯息变成了一个相当棘手的问题。
本课题的核心内容就是利用协同算法为用户筛选出最合适的资讯,让用户在有限的时间里最大可能的接收到对自己最有价值的资讯。
## 1.2 课题目的与意义
互联网上有着许许多多的门户网站,如热点资讯、新浪新闻、搜狐新闻、腾讯新闻、网易新闻、央视新闻等,这些门户网站是现如今人们获取资讯的主要方式,但这些网站都有一个共同的特点,那就是页面元素过多,即使有相应的板块设置,但页面主体都是富含众多子栏目,这给用户的浏览带来极大的不便,眼花缭乱的页面元素使得用户不能专心于资讯的获取。并且页面中所包含的资讯可能是最新、最热或者是网站编辑所推送的,而不是用户可能感兴趣的资讯。
基于这些原因,国内出现了类似于今日头条这样的基于数据挖掘的推荐引擎产品,这类产品能更好的将用户感兴趣的资讯呈现给用户。今日头条的资讯来自于其他的门户网站,主要通过爬虫进行抓取,它将抓取到的资讯呈现给用户,并对用户的过往浏览情况进行分析,得出用户可能感兴趣的内容,推送给用户。
## 1.3 本文研究的内容
用户体验决定了一个产品的存在周期。本文将重点研究如何实现为用户推送可能感兴趣的内容。在充分论证系统可行性和用户需求的基础上利用所学的面向对象设计方法对系统进行模块设计、界面设计和数据库设计。
## 1.4 论文结构简介
本论文记录着对系统开发的前期的调研、设计到系统的开发、测试和总结的全过程。
- **前言**:本章主要介绍系统当前社会背景及开发目的与意义,同时对当前社会中已存在的资讯网站进行分析与阐述
- **算法介绍**:本章主要对当前社会较流行的推荐算法——协同过滤算法进行说明,分析其类型、优缺点及当前社会的应用实例
- **系统需求**:本章主要对系统进行开发的可行性进行分析,并对用户需求进行说明,结合现如今类似资讯网站对用户界面需求进行阐述,绘制数据流图,为系统设计打下基础
- **系统设计**:根据用户需求对系统进行该要设计,模块设计,绘制功能模块图,并对数据库进行设计,绘制数据库社物理模型图以及对数据库表进行说明,为系统实现提供指导
- **系统实现与测试**:对系统中的功能实现进行介绍,介绍同时展现所实现的UI界面展示。另外是对系统测试进行说明
- **结论**:对系统进行总结和自我总结。另外,论文还包括结论、参考文献及致谢三部分,最后附录了全文表索引和全文图索引及部分核心代码
# 第二章 算法介绍
## 2.1 算法背景
协同过滤算法是诞生最早,并且较为著名的推荐算法。主要功能是预测和推荐。协同过滤简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的回应(如评分)并记录下来