版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、清华大学计算机工程学院jsp课程设计项目名称: 博客系统 专 业: 计算机科学与技术(软件工程方向) 班 级: 计软07(3) 姓 名: 马菲尔 学 号: 指导老师: 比尔博士 得分评阅老师引言BLOG诞生的时间并不长,国内常用的英文字典里面甚至找不到这个词,但最近通过互联网上彰显个性的BLOG个人主题站点被媒体关注而热了起来。BLOG是近两年在美国出现,并迅速风靡全球的一种新的网络媒体形式。 所谓BLOG,即是Web Log(网页日志,简称“网志”)合并演化而来,主要是以日记的形式发布文章,并可以附加评论的个人网页。 随着克林顿白宫事件通过BLOG在网络上惊爆内幕并且迅速传播,这种新的网络媒
2、体形式也流行开来,许多热衷网络写作的人加入了BLOG的行列,这些人就叫做BLOGGER(博客)。BLOGGER就像当年的Hippy(嬉皮士)一样,已经成为对特定人群的一种称谓。 BLOG据说是一群海归人士引入中国的,国内最早的BLOG网站可能是方兴东先生创办的“博客中国”,他也是BLOG文化不遗余力的布道者。早期的BLOG网站,定位主要还是在IT、信息化、经济、科学技术等领域,参与的人士大多是一些专家学者,形式和内容都比较专业,不太容易吸引普通的网民参与。直到一些网站意识到BLOG可能带来的商业价值,开放了自助式的BLOG网页,才逐渐普及开来。追溯BLOG的技术原型,可以说是简化的BBS和个人
3、空间的组合。互联网刚普及起来时,出现了很多有名的网络作家,不少人就是通过一些门户网站的社区BBS发表作品,这可以算是BLOG的雏形。国内著名的网络原创作品站“榕树下”,它的文章发表方式,其实就很有些BLOG的味道。虽然BLOG的商业价值不如短信、网游那么大,甚至在一段较长的时间里要“烧钱”,但以较小的代价,树立BLOG品牌,随着一批有影响的BLOG专栏站的诞生,其社会和广告效应都是可观的。目录:第1章 绪论 1.1 开发背景及意义 1.2 系统开发软件简介 1.2.1 JSP 1.2.2 mySQL 1.2.3 Tomcat 第2章 系统分析 2.1 系统功能需求 2.1.1 前台2.1.2
4、后台 2.2 系统流程 第3章 系统设计 3.1 系统B/S结构 3.2 数据库设计 3.2.1 数据库名称 3.2.2 数据库设计 3.2.3 数据表设计3.2.4 数据库脚本第4章 系统实现 4.1 系统前台界面 4.2 系统后台界面 4.3 数据访问对象 4.4 数据对象4.5 servlet4.6 数据处理工具 第5章 结 论 第6章 参考文献 第1章 绪论 互联网技术的发展使得博客及博客文化成为热点。博客以其自主性、开放性、共享性的特点,是满足了人们个人自由表达和出版,知识过滤与积累,深度交流沟通的网络新方式。本章主要介绍该系统的开发背景及意义、系统的开发软件。 1.1 开发背景及意
5、义 近几年来,博客及博客文化正成为互联网的热点,并被视为继email、bbs和icq之后出现的第四种网络交流方式。 在网络上发表Blog的构想始于1998年,但到了2000年才真正开始流行。而2000年博客开始进入中国,并迅速发展,但都业绩平平。直到2004年木子美事件,才让中国民众了解到了博客,并运用博客。2005年,国内各门户网站,如新浪、搜狐,原不看好博客业务,也加入博客阵营,开始进入博客春秋战国时代。起初,Bloggers将其每天浏览网站的心得和意见记录下来,并予以公开,来给其他人参考和遵循。但随着Blogging快速扩张,它的目的与最初已相去甚远。目前网络上数以千计的Bloggers
6、发表和张贴Blog的目的有很大的差异。不过,由于沟通方式比电子邮件、讨论群组更简单和容易,Blog已成为家庭、公司、部门和团队之间越来越盛行的沟通工具,因为它也逐渐被应用在企业内部网络(Intranet)。 博客正在改变社会交流方式。目前,全球参与博客的人数已经达到千万之众,而且每几秒钟,都有一名新的博客用户加盟进来。 1.2 系统开发软件简介 本博客采用 jsp + servlet + javabeen + mysql 技术,运用了mvc的设计思想做出的简单的博客系统,xp系统,myeclipse8.0,tomcat5.0,myqsl server 4.1JSP简介JSP(Java Serv
7、er Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离
8、,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的
9、Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。JSP 2.0介绍新的JSP规范版本包括新的用于提升程序员工作效率功能,主要有:An Expression Lan
10、guage (EL) 允许开发者创建 Velocity-样式 templates (among other things).更快更简单的创建新标签的方法。Hello, $param.visitor %- same as: Hello, -%MVC 模式为了把表现层presentation从请求处理request processing 和数据存储data storage中分离开来,SUN公司推荐在JSP文件中使用一种“模型-视图-控制器”Model-view-controller 模式。规范的SERVLET或者分离的JSP文件用于处理请求。当请求处理完后,控制权交给一个只作为创建输出作用的JSP
11、页。有几种平台都基于服务于网络层的模-视图-控件 模式(比如Struts 和Spring framework)。JSP技术的强势(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 (
12、4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。JSP技术的弱势(1) 与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。 (2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。mysql技术MySQL的概述MySQL是一个小型关
13、系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracal收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址是:MySQL的特性1.使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性 2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Nove
14、ll Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 3.为多种编程语言提供了API。这些编程语言包括C、C+、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。 4.支持多线程,充分利用CPU资源 5.优化的SQL查询算法,有效地提高查询速度 6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径 8.
15、提供用于管理、检查、优化数据库操作的管理工具 9.可以处理拥有上千万条记录的大型数据库MySQL的应用与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为We
16、b服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是遵循GPL的开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。MySQL管理可以使用命令行工具管理MySQL数据库(命令mysql 和 mysqladmin),也可以从MySQL的网站下载图形管理工具MySQL Administrator和MySQL Query Browser。phpMyAdmin是由php写成的MySQL资料库系统管理程式,让管理者可用Web界面管理MySQL资料库。phpMyBackupPro也是由PHP写成的,可以透过Web介面创建和管理数据库。它可以创建伪cr
17、onjobs,可以用来自动在某个时间或周期备份MySQL 数据库。另外,还有其他的GUI管理工具,例如早先的mysql-front 以及 ems mysql manager,navicat 等等。Tomcat 服务器Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,目前最新版本是6.0.20(截止到2009-03-20)。Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是
18、能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个
19、初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的
20、能力不如Apache服务器。第2章 系统分析 2.1 系统功能需求设计 2.1.1 前台菜单栏,文章列表,文章类型列表,友情链接,显示文章2.1.2 后台添加菜单:添加文章,添加分类,添加友情链接,添加用户管理菜单:文章管理,分类管理,用户管理,链接管理,评论管理2.2 系统流程 第3章 系统设计 3.1 系统B/S结构 3.2 数据库设计 3.2.1.BlogVer1_0数据名称: BlogVer13.2.2.数据库设计:名称表备注用户表Blog文章分类表Sort文章表Article 友情连接表Links文章留言表Feedback3.2.3.数据表设计用户表blog:名称字段类型长度备注编号
21、IdInt11(自动增长)主键用户名UsernameVarchar20密码PasswordVarchar20博客标题SubjectVarchar100邮箱EmailVarchar50头像ImageVarchar100访问次数VisitcountInt11 文章分类表sort:名称字段类型长度备注编号IdInt11主键分类名称NameVarchar40用户编号BlogidInt11 文章表article:名称字段类型长度备注编号IdInt11主键内容TitleVarchar20发布日期PubtimeDatetime用户编号BlogidInt11类别SortidInt11 友情链接表links:名
22、称字段类型长度备注编号IdInt11主键名称NameVarchar40网址UrlVarchar100用户编号BlogidInt11 文章留言表feedback:名称字段类型长度备注编号IdInt11主键昵称UnameVarchar20内容ContentText2000发布日期PubtimeDatetime文章编号ArticleidInt11Ip地址IpVarchar303.2.4.数据库脚本create database BlogVer1; CREATE TABLE blog ( id int(11) NOT NULL auto_increment, username varchar(20)
23、NOT NULL, password varchar(20) NOT NULL, subject varchar(100) NOT NULL, email varchar(50) NOT NULL, image varchar(100) default NULL, visitcount int(11) default NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=gbk CREATE TABLE sort ( id int(11) NOT NULL auto_increment, name varchar(40) NOT NULL
24、, blogid int(11) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=gbk CREATE TABLE article ( id int(11) NOT NULL auto_increment, title varchar(20) NOT NULL, content mediumtext, pubtime datetime NOT NULL, blogid int(11) NOT NULL, sortid int(11) default NULL, PRIMARY KEY (id) ) ENGINE=InnoDB
25、 DEFAULT CHARSET=gbk CREATE TABLE feedback ( id int(11) NOT NULL auto_increment, uname varchar(20) NOT NULL, content mediumtext, pubtime datetime NOT NULL, articleid int(11) NOT NULL, ip varchar(30) default NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=gbk CREATE TABLE links ( id int(11) NO
26、T NULL auto_increment, name varchar(40) NOT NULL, url varchar(100) NOT NULL, blogid int(11) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=gbk 第4章 系统实现 4.1 系统前台界面 Index.jsp% String list_con = ; ArticleDao dao = new ArticleDao(); List lista = dao.getList(0,10); Iterator ita = lista.iterat
27、or(); while(ita.hasNext() Article l = (Article)ita.next(); list_con += +l.getTitle()+ + 日期:+l.getPubtime()+ + +l.getContent()+ ; %玫瑰博客玫瑰博客 Red Roses Blog关于本站Posted on Jan 9th, 2011 by 宋文 | Edit 博客的标题的得来还是很想了一下,在想的过程中,看自己想的也太多,所以何不简单一点呢?就叫简单生活好了。诚然我们在生活中过的也太复杂,太辛苦,所以在网络上简单一点也好,尽管可能被人骂,被人看不起。如果有人觉得我的博
28、客不好,但愿也只有指教而不是漫骂。 最新文章列表 最新文章列表 其他页面代码参见/WebRoot4.2 系统后台界面 Main.jsp管理首页 管理首页 文章管理 分类管理 用户管理 评论管理 友情链接 退出系统 添加菜单 返回首页 新建文章 添加分类 添加用户 添加友情链接 系统配置 版权所有 宋文其他页面代码参见/webRoot/admin4.3 数据访问对象 daoUserDao.javapackage com.blog.dao;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLExceptio
29、n;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import com.blog.dto.User;import com.blog.tools.*;/blogpublic class UserDao DBcon dba = new DBcon(); DataDAO dao = new DataDAO(); String sql = ; / Invalidate public int isUser(String username,String password) sql = select id
30、 from blog where username= +username + and password =+password+; int flag = 0;/默认为falseConnection conn = null;Statement stmt = null;ResultSet rs = null;try conn = dba.getConnection();stmt = conn.createStatement();rs = stmt.executeQuery(sql);if(rs.next()flag =rs.getInt(1); catch (SQLException e) Syst
31、em.out.println(DataDAO-isExist()+e.getMessage();finallyDBcon.close(conn,null,stmt,rs);return flag; / add public int add(User link) String username = ; String password = ; String subject = ; String email = ; String image = ; int visitcount = 0; username = dao.changSqlStr(link.getUsername(); password
32、= dao.changSqlStr(link.getPassword(); subject = dao.changSqlStr(link.getSubject(); email = dao.changSqlStr(link.getEmail(); image = dao.changSqlStr(link.getImage(); visitcount = link.getVisitcount(); sql = insert into blog (username,password,subject,email,image,visitcount) values ( + username + ,+pa
33、ssword+,+ subject + ,+email+,+image+,+visitcount+); return dao.executeUpdate(sql); / update public int update(User link) String username = ; String password = ; String subject = ; String email = ;/ String image = ;/ int visitcount = 0; int id = 0; username = dao.changSqlStr(link.getUsername(); passw
34、ord = dao.changSqlStr(link.getPassword(); subject = dao.changSqlStr(link.getSubject(); email = dao.changSqlStr(link.getEmail();/ image = dao.changSqlStr(link.getImage();/ visitcount = link.getVisitcount(); id = link.getId(); sql = update blog set username=+username+,password=+password +,subject=+sub
35、ject+,email=+email+ where id = +id; return dao.executeUpdate(sql); / update logo 更新logo public int updateLogo(String image,String id) sql = update blog set image=+image+ where id = +id; return dao.executeUpdate(sql); / updateVister public int updateVisiter(int id) sql = update blog set visitcount +=
36、 1 where id = +id; return dao.executeUpdate(sql); / delete public int delete(int id) sql = delete from blog id = +id; return dao.executeUpdate(sql); / List public List getList() List list = new ArrayList();Connection conn = null;Statement stmt = null;ResultSet rs = null;sql = select id,username,pass
37、word,subject,email,image,visitcount from blog;try conn = dba.getConnection();stmt = conn.createStatement();rs = stmt.executeQuery(sql);while(rs.next()User link = new User();link.setId(rs.getInt(1); link.setUsername(rs.getString(2); link.setPassword(rs.getString(3); link.setSubject(rs.getString(4); link.setEmail(rs.getString(5); link.setImage(rs.getString(6); link.setVisitcount(rs.getInt(7);list.add(link); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); return list; / Link public User getLink(Strin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年车轮拆卸的教学设计
- 1.2 网页中的信息编码说课稿2025学年初中信息科技电子工业版2022第二册七年级下-电子工业版2022
- 中班科学活动好玩的电线教案反思
- 2026年年度急诊科护士长年度重点任务完成情况汇报课件
- 2026届高考英语考向核心卷含答案(全国二卷)
- 2026年5G通信技术在物联网行业创新应用分析报告
- 2026年金融科技创新发展报告:金融服务的未来图景
- 2026年互联网+教育行业创新发展趋势报告
- 高三历史一轮复习明至清中叶的经济与文化教学设计
- 高三地理水循环教案
- 2026年秋人教版新八年级英语上册 八年级英语上册 Unit 2(单元测试卷)
- GB/T 6480-2026凿岩用钎头和连接钎杆
- 2025~2026学年北京市海淀区七年级上学期期中考试英语试卷
- 《教育管理》专业考试题及答案
- 制度修订情况汇报
- 公司显示屏管理制度
- GJB9001C-2017标准介绍及不符合项案例分析试题与答案
- 中华民族共同体概论课件专家版10第十讲 中外会通与中华民族巩固壮大(明朝时期)
- 小儿重症肺炎合并心衰呼衰护理查房
- 世界现代设计史 课件
- 诊疗科目、床位(牙椅)等执业登记项目以及卫生技术人员、业务科室变更情况和大型医用设备变更情况
评论
0/150
提交评论