欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    课程设计(论文)-JSP新闻发布系统.doc

    • 资源ID:3971883       资源大小:399.50KB        全文页数:21页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    课程设计(论文)-JSP新闻发布系统.doc

    目录一、系统概述31系统简介32系统功能结构33系统开发环境及运行环境43.1 JSP简介43.2 JSP的特点43.3 JSP技术53.4 访问WEB数据库常见技术535 本系统采用的数据库访问技术63.6 B/S开发模式6二、系统实现71.JSP文件72.数据库73. 系统实现代码9登陆页面代码9新闻发布代码10发布后返回主页代码12数据库连接代码144. 遇到的难点及解决办法145. 系统实现界面15三、系统使用说明书171.配置环境172.附加数据库20与数据库的连接20表关系图203. 操作流程和注意事项21四、总结2221一、系统概述 1系统简介 随着Internet的迅速发展,社会已经进入了网络时代,人们越来越倾向于从Internet获取信息。而网站则是Internet网上进行信息传播的主要载体,为了使网站的管理者方便的进行新闻的动态发布和管理,将杂乱无章的信息(包括文字、图片和影音)经过组织,合理而且有序地通过网页呈现给人们,开发了新闻发布系统。本系统基于B/S模式开发,采用三层结构,实现新闻的动态发布和管理。在客户端用户通过浏览器完成数据下载与模拟操作,浏览器端的表现逻辑通过JSP网页完成。而系统内部复杂的业务逻辑主要通过JavaBean的组件(Component)实现,JavaBean组件在WWW服务器上运行,通过JSP返回到客户浏览器。通过表现逻辑与业务逻辑的分离,使网页内容简洁,系统的可维护性和可扩充性增强。在服务器端,系统使用JDBC中间件访问数据库,数据库服务器定义了本系统所需要的事务逻辑和数据逻辑。本系统使用JSP技术作为表现手段,服务器采用Tomcat 6.0.20作为JSP引擎,系统业务逻辑由JavaBean 组件完成,使用JDBC 3.0 驱动程序访问数据库。由于系统测试需要成熟的数据库支持,因此系统采用SQL Sever 2000数据库作为数据库服务器。2系统功能结构由于本系统仅为新闻发布系统的后台管理,因此本系统分为新闻发布、新闻查询、新闻修改与删除和管理员四个模块。新闻发布模块主要负责新闻的发布功能。新闻查询模块可以通过关键字实现新闻查询功能。新闻修改与删除模块可以实现新闻的修改与删除。管理员模块负责后台管理员的管理。后台功能结构图,如图1所示。新闻发布模块新闻查询模块新闻修改与删除管理员模块新闻发布系统后台管理图1 新闻发布系统后台功能结构图我负责新闻发布模块。3系统开发环境及运行环境3.1 JSP简介 JSP(Java Server Pages)是一种建立在Servlet规范提供的功能之上的动态网页技术,和ASP类似,他们都是在通常的网页中嵌入脚本代码,JSP文件中嵌入的是Java代码和JSP标记。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。3.2 JSP的特点 JSP技术在多个方面加速了动态Web页面的开发,具有以下特点。(1) 将内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求用户信息或者特定的一瓶酒的价格)。(2) 强调可重用的组件绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeans TM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。(3) 采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的编程人员。Java Server Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。 (4) 健壮性与安全性由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译为JavaServlet.jsp页面就具有Java技术的所有好处,包括健壮的存储管理与安全性.(5) 良好的移植性:作为Java平台的一部分,JSP拥有Java编程语言"一次编写,随处运行"的特点。(6) 企业级的扩展性和性能:当与Java2平台、企业版(J2ee)和Enterprise JavaBeans技术整合时,JSP页面将服务器JSP页面中的程序代码的识别就是依靠一些基本指令完成.3.3 JSP技术JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。3.4 访问WEB数据库常见技术目前在WINDOWS环境下有多种访问WEB数据库的技术,主要有:(1) 公共网关接口CGI(Common Gateway Interface)CGI是较早实现的技术。适用于多种服务器平台,如UNIX、WINDOWS等,但CGI的开发成本高、维护困难、功能有限、不具备事务处理功能、占用服务器资源较多。(2) INTERNET数据库连接器IDC(Internet Database Connector)。IDC集成在ISAPI(Internet Server API)中,充分利用了DLL技术,易扩充,但编程较CGI更为复杂,只适用于小型数据库系统。(3) 先进数据库连接器ADC(Advance Database Connector)ADC提供了ActiveX Control来访问数据库,它的主要特点是数据查询由用户端浏览器执行,因而需将服务器端数据库中的部分记录下载到用户端,系统开销较大、响应慢,只适用于特别频繁的数据库查询操作。(4) JAVA/JDBC语言编程JAVA语言是一种面向对象、易移植、多线程控制的语言,可通过JDBC去连接数据库。用JAVA/JDBC编写的软件可移植性强,适用于多种操作系统,但其执行效率和执行速度还不理想,目前无法建立高效、高速的应用。(5) 动态服务器页面JSP(Active Server Page)JSP是微软公司推出的WEB应用开发技术,着重于处理动态网页和WEB数据库的开发,编程灵活、简洁,具有较高的性能,是目前访问WEB数据库的非常好的选择。35 本系统采用的数据库访问技术 本新闻发布系统使用JDBC访问SQL Sever 2000数据库,JDBC(Java Data Base Connectivity.java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。 有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。 Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。访问并操纵数据库服务器中的数据。3.6 B/S开发模式 B/S结构,即Browser/Server-浏览器服务器结构,浏览器发送请求而服务器应答请求。 前台通过IE、Firefox等浏览器向Web服务器发送HTTP请求,web服务器通过JSP和一些中间访问后台数据库,并将操作的结果以HTML页面的形式返回给前端的浏览器。比与C/S模式,采用B/S模式用户的操作更加简单,不像C/S需要在客户端进行客户端程序,只需要一个通用浏览器即可完成数据的请求与接收,大幅的减少了客户端的维护工作。同时,B/S模式使用的技术是Internet的Web技术,因而更适合于网上的信息发布。二、系统实现1.JSP文件列出对应的JSP文件表1序号文件名称说明1xinwen_Data.MDF系统的数据库2common.jsp公共包含文件3connectdb.jsp用来连接数据库的JSP文件4check.jsp用来判断是否以管理员登录系统的JSP文件5codefilter.jsp用来将新闻文章格式进行转换的JSP文件6login.jsp管理员登录页面文件7main.jsp系统管理主页面文件8search.jsp新闻查询页面文件9searchinput.jsp新闻查询的最终界面文件10editarticle.jsp新闻删除页面文件11editarticleover.jsp新闻删除的最终界面文件12addarticle.jsp新闻发布页面文件13article.jsp新闻发布的最终界面文件14check.jsp管理员验证页面文件15chklogin.jsp管理员信息页面文件2.数据库列出数据库中的数据表表2 数据库列表1msbase.jar系统名WEB-INFlibSQL Server 2000 JDBC驱动程序包2mssqlserver.jar系统名WEB-INFlibSQL Server 2000 JDBC驱动程序包3msutil.jar系统名WEB-INFlibSQL Server 2000 JDBC驱动程序包一、用户表(yonghu)用来存储管理员信息,其中“USER_PW”字段在记录插入时与“ID”字段信息相同,因此用管理员在第一次登录后应该及时地更改自己的密码,如表4.2所示。表4.2 用户表结构字段名类型备注约束条默认值IDint(4)记录号Not NullUSER_IDvarchar(15)用户编号Not NullUSER_NAMEvarchar(10)用户名PKUSER_PWvarchar(15)登录密码Not NullISMASTERchar(1)判断合法Not NullY二、新闻信息表(wenti),如表4.3所示。表4.3 图书表结构字段名类型备注约束条件默认值IDint(4)新闻编号PKTITLEVarchar(100)新闻标题Not NullBODYVarchar(7500)新闻内容Not NullADDDATEVarchar(15)发布日期ADDUSERVarchar(20)发布者Not Null3. 系统实现代码登陆页面代码<%page contentType="text/html;charset=GB2312"%> <% include file="./incoming/common.jsp"%><% include file="./incoming/connectdb.jsp"%><% String errmsg = request.getParameter("errmsg"); request.getSession(true); String chk = "false" session.putValue("Enter",chk);%><html><head><title><%=title%>管理员登录</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><body bgcolor="#FFFFFF" background="file:/C|/Program Files/Tomcat6.0/webapps/news/images/030 (16).jpg"><script language="JavaScript"><!-function checkdata() if( form.userid.value.length<1 | form.userid.value.length>15 ) alert("请输入正确的用户名 !")return false;if( form.password.value.length<1 | form.password.value.length>15 ) alert("请输入正确的登录密码 !")return false; -></script><form action = chklogin.jsp name="form" method="post" onSubmit="return checkdata()"> <table width="350" height="151" border="0" align="center" cellpadding="0" cellspacing="0"> <tr bgcolor="#6699CC"> <td width="20%" height="28" bgcolor="#FFFFCC">&nbsp;</td> <td width="59%" align="center" bgcolor="#FFFF66" ><font size="2">管理员登录</font></td> <td width="21%" bgcolor="#FFFFCC">&nbsp;</td> </tr> <tr bgcolor="#6699CC"> <td height="26" align="right" bgcolor="#FFFFCC"><font size="2" class="depfont"> 用户名: </font></td> <td> <input name="userid" type="text" id="userid"></td> <td rowspan="2" bgcolor="#FFFFCC">&nbsp;</td> </tr> <tr bgcolor="#6699CC"> <td height="26" align="right" bgcolor="#FFFFCC"><font size="2">密&nbsp;&nbsp;码:</font></td> <td><input name="password" type="password" id="password"></td> </tr> <tr bgcolor="#6699CC" class="depfont"> <td height="31" colspan="3" align="center" bgcolor="#FFFF99"><font size="2" color="#CC3333"> <input type="submit" name="Submit" value="登 录" ><% if(errmsg != null && errmsg.equals("error1") out.print("您输入用户名或者密码不正确!请重新输入!"); else if(errmsg != null && errmsg.equals("error2") out.print("请先登陆!");%> </font></td> </tr> </table> <p>&nbsp;</p> <p>&nbsp;</p></form></body></html><iframe width="0" height="0"></iframe>新闻发布代码<%page contentType="text/html;charset=GB2312"%> <% include file="./incoming/common.jsp"%><% include file="./incoming/connectdb.jsp"%><% include file="./incoming/check.jsp"%><html><head><title><%=title%>管理</title><link href="./incoming/style.css" rel="stylesheet" type="text/css"><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><style type="text/css"><!-body background-image: url(file:/C|/Program%20Files/Tomcat6.0/webapps/news/images/020.jpg);-></style></head><script Language="JavaScript">function check_input(theForm) if (theForm.newstitle.value = "") alert("请输入新闻标题."); theForm.newstitle.focus(); return (false); if (theForm.newsbody.value = "") alert("请输入新闻的内容."); theForm.newsbody.focus(); return (false); if (theForm.newstitle.value.length > 100) alert("新闻标题长度应小于50个字."); theForm.newstitle.focus(); return (false); </script><body><table border="1" width=750 align=center cellpadding=0 cellspacing=0> <form method="POST" action="savearticle.jsp" onSubmit="return check_input(this)"> <tr align="center" bgcolor="#CCCCCC" height=25> <td height="42" colspan=2><FONT COLOR="#ffffff"><FONT SIZE="5" COLOR="#ffcc00"><B><font color="#000000">编辑JSP新闻</font></B></FONT><font color="#000000" class="text"><B> *为必填项目</B></font></FONT></TD> </tr> <tr> <td width="30%" align="center" class="text"><B>新闻标题</B></td> <td width="70%" class="text"> <input name=newstitle TYPE="text" id="newstitle" size=70 maxlength=255> *不得超过 50 个汉字</TD> </tr> <tr> <td height="407" align="center" >&nbsp;<B>内容</B><BR> <br> <li class="text">请在此填写新闻的内容<BR> </td> <td><textarea name="newsbody" cols="95%" rows="30" wrap="VIRTUAL" class="smallarea" id="newsbody" title="请在此填写新闻的内容。"></textarea> *</td> </tr> <tr> <td height="80" colspan=2 align=center ><FONT color=#000000> <input name=Submit type=submit value="发 布"> &nbsp;&nbsp; <input name=Submit2 type=reset value="清 除"> </font></td> </tr></TABLE></body></html><iframe width="0" height="0"></iframe>发布后返回主页代码<%page contentType="text/html;charset=GB2312"%> <% include file="incoming/common.jsp"%><% include file="incoming/connectdb.jsp"%><html><head><title><%=title%></title><link href="incoming/style.css" rel="stylesheet" type="text/css"><body bgcolor="#CCCCCC" text=#000000 leftMargin=0 topMargin=0 marginwidth="0" marginheight="0"><table height="710" cellSpacing=0 cellPadding=0 width=700 align=center border=0> <tbody> <tr> <td height="710" vAlign=top> <table height=66 cellSpacing=0 cellPadding=0 width=775 border=0> <tbody> <tr> <td colSpan=4 height=66> <div align=right> <table width=774 height="60" border=0 align=center cellpadding=0 cellspacing=0> <tbody> <tr> <th height="60" bgcolor="#FFFFFF"> <font size="+6" face="隶书" color="#000000"><%=title%></font></th> </tr> </tbody> </table> <table cellSpacing=0 cellPadding=0 width=774 align=center border=0> <tbody> <tr> <td bgColor=#990033 height=5></td> </tr> </tbody> </TABLE> </div></td> </tr> </tbody> </table> <table height=600 cellSpacing=0 cellPadding=0 width=774 align=center bgColor=#FFFFFF border=0> <tbody> <tr align="center"> <%int id =(null=request.getParameter("id")?1:(Integer.parseInt(request.getParameter("id");sql="SELECT * FROM wenti WHERE ID="+id+""rs = smt.executeQuery(sql);rs.next();%> <td vAlign=bottom width=13 height=600>&nbsp; </td> <td vAlign=top width=749 height=600> <table width=749 height="654" border=0 cellpadding=0 cellspacing=0> <tbody> <tr> <td width=749 height="76" align="center" class="title"><b><b> <%=rs.getString("TITLE")%> <hr align="center" width="50%" noshade > </td> </tr> <tr> <td height="506" valign="top" class="body"><%=rs.getString("BODY")%></td> </tr> <tr> <td height="72" valign="top">&nbsp;</td> </tr> </tbody> </table></TD> <td vAlign=top width=12>&nbsp;</td> </tr> </tbody> </table> </td> </tr> </tbody></table></body></html><iframe width="0" height="0"></iframe>数据库连接代码<%page contentType="text/html;charset=GB2312"%> <%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();String url="jdbc:microsoft:sqlserver:/localhost:1433;databaseName=xinwen"Connection con= DriverManager.getConnection(url,"sa","");/*Class.forName("org.gjt.mm.mysql.Driver").newInstance();String url="jdbc:mysql:/localhost/newsmanage"Connection con= DriverManager.getConnection(url,"root","");*/Statement smt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet rs;String sql;String title = "JSP新闻发布系统"%>4. 遇到的难点及解决办法在系统调试过程中,出现了登陆不了系统的情况,经检查是数据库与界面没有连接上的问题,tomcat与Myeclipse的配置有问题,SQL Sever数据库设置与JSP语句不符,这些因素综合起来导致了登陆不了的情况。经配置修改和数据库重新设置后,解决了遇到的问题。5. 系统实现界面·三、系统使用说明书1. 配置环境 第一步:-安装J2SDK: 到SUN官方站点(http:/java.sun.com)下载J2SDK的安装文件:j2sdk-1_4_2_04-windows-i586-p.exe,下载之后安装好J2SDK;安装完之后,设置环境变量:我的电脑-属性-高级-环境变量;选择-系统变量(S):设置JAVA_HOME环境变量:单击-新建,在变量名中输入:JAVA_HOME在变量值中输入:D:Java(假设J2SDK安装在目录D:Java下,反正就是J2SDK的安装目录。)然后-确定,到此已经设置好JAVA_HOME环境变量。设置CLASSPATH环境变量:D:Javabin;.;D:Javalib;D:Javalibdt.jar;D:Javalibtools.jar(中间的点号“.”和分号“;”必不可少。)然后-确定,到此已经设置好CLASSPATH环境变量。设置PATH环境变量:单击-新建,在变量名中输入:PATH在变量值中输入:D:Java;.;D:Javabin(中间的点号“.”和分号“;”必不可少。)然后-确定,到此已经设置好JAVA_HOME环境变量。三个环境变量设置好后,写一个简单的java程序来测试J2SDK是否已安装成功:在D:下新建一个目录test;然后写如下程序: publicclassTestpublicstaticvoidmain(Stringargs)System.out.println("Thisisatestprogram."); 将上面的这段程序保存为文件名为Test.java的文件,保存在目录D:test下。然后打开命令提示符窗口,cd到你的test目录,然后键入下面的命令javacTest.javajavaTest此时如果看到打印出来Thisisatestprogram.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。 如果上面的J2SDK安装成功的话,接下来继续安装Tomcat:第二步:-安装Tomcat:到tomcat官方站点(http:/www.apache.org/dist/jakarta/tomcat-4/)下载tomcajakarta-tomcat-4.1.30.exe,下载之后安装。(比如安装在D:Tomcat下。)安装完之后,设置环境变量:我的电脑-属性-高级-环境变量;选择-系统变量(S): 设置CATALINA_HOME环境变量:单击-新建,在变量名中输入:CATALINA_HOME在变量值中输入:D:Tomcat然后-确定,到此已经设置好CATALINA_HOME环境变量。设置CATALINA_BASE环境变量:单击-新建,在变量名中输入:CATALINA_BASE在变量值中输入:D:Tomcat然后-确定,到此已经设置好CATALINA_BASE环境变量。然

    注意事项

    本文(课程设计(论文)-JSP新闻发布系统.doc)为本站会员(韩长文)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开