jsp课程设计.docx
- 文档编号:9667573
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:48
- 大小:174.35KB
jsp课程设计.docx
《jsp课程设计.docx》由会员分享,可在线阅读,更多相关《jsp课程设计.docx(48页珍藏版)》请在冰豆网上搜索。
jsp课程设计
清华大学
计算机工程学院
《jsp课程设计》
项目名称:
博客系统
专业:
计算机科学与技术(软件工程方向)
班级:
计软07(3)
姓名:
马菲尔
学号:
20075463
指导老师:
比尔博士
得分
评阅老师
引言
BLOG诞生的时间并不长,国内常用的英文字典里面甚至找不到这个词,但最近通过互联网上彰显个性的BLOG个人主题站点被媒体关注而热了起来。
BLOG是近两年在美国出现,并迅速风靡全球的一种新的网络媒体形式。
所谓BLOG,即是WebLog(网页日志,简称“网志”)合并演化而来,主要是以日记的形式发布文章,并可以附加评论的个人网页。
随着克林顿白宫事件通过BLOG在网络上惊爆内幕并且迅速传播,这种新的网络媒体形式也流行开来,许多热衷网络写作的人加入了BLOG的行列,这些人就叫做BLOGGER(博客)。
BLOGGER就像当年的Hippy(嬉皮士)一样,已经成为对特定人群的一种称谓。
BLOG据说是一群海归人士引入中国的,国内最早的BLOG网站可能是方兴东先生创办的“博客中国”,他也是BLOG文化不遗余力的布道者。
早期的BLOG网站,定位主要还是在IT、信息化、经济、科学技术等领域,参与的人士大多是一些专家学者,形式和内容都比较专业,不太容易吸引普通的网民参与。
直到一些网站意识到BLOG可能带来的商业价值,开放了自助式的BLOG网页,才逐渐普及开来。
追溯BLOG的技术原型,可以说是简化的BBS和个人空间的组合。
互联网刚普及起来时,出现了很多有名的网络作家,不少人就是通过一些门户网站的社区BBS发表作品,这可以算是BLOG的雏形。
国内著名的网络原创作品站“榕树下”,它的文章发表方式,其实就很有些BLOG的味道。
虽然BLOG的商业价值不如短信、网游那么大,甚至在一段较长的时间里要“烧钱”,但以较小的代价,树立BLOG品牌,随着一批有影响的BLOG专栏站的诞生,其社会和广告效应都是可观的。
目录:
第1章绪论
1.1开发背景及意义
1.2系统开发软件简介
1.2.1JSP
1.2.2mySQL
1.2.3Tomcat
第2章系统分析
2.1系统功能需求
2.1.1前台
2.1.2后台
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.5servlet
4.6数据处理工具
第5章结论
第6章参考文献
第1章绪论
互联网技术的发展使得博客及博客文化成为热点。
博客以其自主性、开放性、共享性的特点,是满足了人们个人自由表达和出版,知识过滤与积累,深度交流沟通的网络新方式。
本章主要介绍该系统的开发背景及意义、系统的开发软件。
1.1开发背景及意义
近几年来,博客及博客文化正成为互联网的热点,并被视为继e-mail、bbs和icq之后出现的第四种网络交流方式。
在网络上发表Blog的构想始于1998年,但到了2000年才真正开始流行。
而2000年博客开始进入中国,并迅速发展,但都业绩平平。
直到2004年木子美事件,才让中国民众了解到了博客,并运用博客。
2005年,国内各门户网站,如新浪、搜狐,原不看好博客业务,也加入博客阵营,开始进入博客春秋战国时代。
起初,Bloggers将其每天浏览网站的心得和意见记录下来,并予以公开,来给其他人参考和遵循。
但随着Blogging快速扩张,它的目的与最初已相去甚远。
目前网络上数以千计的Bloggers发表和张贴Blog的目的有很大的差异。
不过,由于沟通方式比电子邮件、讨论群组更简单和容易,Blog已成为家庭、公司、部门和团队之间越来越盛行的沟通工具,因为它也逐渐被应用在企业内部网络(Intranet)。
博客正在改变社会交流方式。
目前,全球参与博客的人数已经达到千万之众,而且每几秒钟,都有一名新的博客用户加盟进来。
1.2系统开发软件简介
本博客采用jsp+servlet+javabeen+mysql技术,运用了mvc的设计思想做出的简单的博客系统,xp系统,myeclipse8.0,tomcat5.0,myqslserver4.1
JSP简介
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。
目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。
JSP2.0介绍
新的JSP规范版本包括新的用于提升程序员工作效率功能,主要有:
AnExpressionLanguage(EL)
允许开发者创建Velocity-样式templates(amongotherthings).更快更简单的创建新标签的方法。
Hello,${param.visitor}<%--sameas:
Hello,<%=request.getParameter("visitor")%>--%>
MVC模式
为了把表现层presentation从请求处理requestprocessing和数据存储datastorage中分离开来,SUN公司推荐在JSP文件中使用一种“模型-视图-控制器”Model-view-controller模式。
规范的SERVLET或者分离的JSP文件用于处理请求。
当请求处理完后,控制权交给一个只作为创建输出作用的JSP页。
有几种平台都基于服务于网络层的模-视图-控件模式(比如Struts和Springframework)。
JSP技术的强势
(1)一次编写,到处运行。
在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
JSP技术的弱势
(1)与ASP一样,Java的一些优势正是它致命的问题所在。
正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
(2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。
从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。
mysql技术
MySQL的概述
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracal收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL的官方网站的网址是:
MySQL的特性
1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性
2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统
3.为多种编程语言提供了API。
这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。
4.支持多线程,充分利用CPU资源
5.优化的SQL查询算法,有效地提高查询速度
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径
8.提供用于管理、检查、优化数据库操作的管理工具
9.可以处理拥有上千万条记录的大型数据库
MySQL的应用
与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。
由于这四个软件都是遵循GPL的开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。
MySQL管理
可以使用命令行工具管理MySQL数据库(命令mysql和mysqladmin),也可以从MySQL的网站下载图形管理工具MySQLAdministrator和MySQLQueryBrowser。
phpMyAdmin是由php写成的MySQL资料库系统管理程式,让管理者可用Web界面管理MySQL资料库。
phpMyBackupPro也是由PHP写成的,可以透过Web介面创建和管理数据库。
它可以创建伪cronjobs,可以用来自动在某个时间或周期备份MySQL数据库。
另外,还有其他的GUI管理工具,例如早先的mysql-front以及emsmysqlmanager,navicat等等。
Tomcat服务器
Tomcat服务器是一个免费的开放源代码的Web应用服务器,目前最新版本是6.0.20(截止到2009-03-20)。
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
这里的诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。
另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
不过,Tomcat处理静态HTML的能力不如Apache服务器。
第2章系统分析
2.1系统功能需求设计
2.1.1前台
菜单栏,文章列表,文章类型列表,友情链接,显示文章
2.1.2后台
添加菜单:
添加文章,添加分类,添加友情链接,添加用户
管理菜单:
文章管理,分类管理,用户管理,链接管理,评论管理
2.2系统流程
第3章系统设计
3.1系统B/S结构
3.2数据库设计
3.2.1.BlogVer1_0数据名称:
BlogVer1
3.2.2.数据库设计:
名称
表
备注
用户表
Blog
文章分类表
Sort
文章表
Article
友情连接表
Links
文章留言表
Feedback
3.2.3.数据表设计
用户表[blog]:
名称
字段
类型
长度
备注
编号
Id
Int
11(自动增长)
主键
用户名
Username
Varchar
20
密码
Password
Varchar
20
博客标题
Subject
Varchar
100
邮箱
Varchar
50
头像
Image
Varchar
100
访问次数
Visitcount
Int
11
文章分类表[sort]:
名称
字段
类型
长度
备注
编号
Id
Int
11
主键
分类名称
Name
Varchar
40
用户编号
Blogid
Int
11
文章表[article]:
名称
字段
类型
长度
备注
编号
Id
Int
11
主键
内容
Title
Varchar
20
发布日期
Pubtime
Datetime
用户编号
Blogid
Int
11
类别
Sortid
Int
11
友情链接表[links]:
名称
字段
类型
长度
备注
编号
Id
Int
11
主键
名称
Name
Varchar
40
网址
Url
Varchar
100
用户编号
Blogid
Int
11
文章留言表[feedback]:
名称
字段
类型
长度
备注
编号
Id
Int
11
主键
昵称
Uname
Varchar
20
内容
Content
Text
2000
发布日期
Pubtime
Datetime
文章编号
Articleid
Int
11
Ip地址
Ip
Varchar
30
3.2.4.数据库脚本
createdatabaseBlogVer1;
CREATETABLE`blog`(
`id`int(11)NOTNULLauto_increment,
`username`varchar(20)NOTNULL,
`password`varchar(20)NOTNULL,
`subject`varchar(100)NOTNULL,
`email`varchar(50)NOTNULL,
`image`varchar(100)defaultNULL,
`visitcount`int(11)defaultNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=gbk
CREATETABLE`sort`(
`id`int(11)NOTNULLauto_increment,
`name`varchar(40)NOTNULL,
`blogid`int(11)NOTNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=gbk
CREATETABLE`article`(
`id`int(11)NOTNULLauto_increment,
`title`varchar(20)NOTNULL,
`content`mediumtext,
`pubtime`datetimeNOTNULL,
`blogid`int(11)NOTNULL,
`sortid`int(11)defaultNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=gbk
CREATETABLE`feedback`(
`id`int(11)NOTNULLauto_increment,
`uname`varchar(20)NOTNULL,
`content`mediumtext,
`pubtime`datetimeNOTNULL,
`articleid`int(11)NOTNULL,
`ip`varchar(30)defaultNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=gbk
CREATETABLE`links`(
`id`int(11)NOTNULLauto_increment,
`name`varchar(40)NOTNULL,
`url`varchar(100)NOTNULL,
`blogid`int(11)NOTNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=gbk
第4章系统实现
4.1系统前台界面
Index.jsp
<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%>
<%@pagelanguage="java"import="com.blog.dao.ArticleDao,com.blog.dto.Article"%>
<%
Stringlist_con="";
ArticleDaodao=newArticleDao();
Listlista=dao.getList(0,10);
Iteratorita=lista.iterator();
while(ita.hasNext()){
Articlel=(Article)ita.next();
list_con+=" id="+l.getId()+"'>"+l.getTitle()+"" +" "+l.getPubtime()+"
+"
+"
“"+l.getContent()+"”
}
%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN""http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
//www.w3.org/1999/xhtml">
--startheader-->
玫瑰博客
RedRosesBlog
--endheader-->
<%@includefile="dh.jsp"%>
--startpage-->
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- jsp 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)