毕业设计(论文)JSP俄文主页信息管理系统

上传人:仙*** 文档编号:27670974 上传时间:2021-08-19 格式:DOC 页数:43 大小:469.52KB
返回 下载 相关 举报
毕业设计(论文)JSP俄文主页信息管理系统_第1页
第1页 / 共43页
毕业设计(论文)JSP俄文主页信息管理系统_第2页
第2页 / 共43页
毕业设计(论文)JSP俄文主页信息管理系统_第3页
第3页 / 共43页
点击查看更多>>
资源描述
俄文主页信息管理系统第一章 绪论1.1 JSP简介1.1.1 JSP介绍JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,网址为1.1.2 JSP的特点1将内容的生成和显示进行分离 使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。 在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。 2强调可重用的组件 绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。 3采用标识简化页面开发 Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。 通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。 JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。 由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。 作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。1.2新闻发布系统简介 随着社会的发展和信息技术的进步,全球信息化的趋势越来越明显。互连网以前所未有的速度发展,成为与报纸、广播、电视并肩的第四媒体,同时正以其便捷的信息传输形式改变着人们的消费模式。在过去,新闻传媒渠道仅仅限于报纸、广播等,现在随着高科技的不断发展,传媒路径也更加多样化,其中网上新闻系统已成为目前最快捷、最迅速的传播途径之一。网站新闻发布系统,又称信息管理系统,广泛应用于大型专业网站、政府网站、企业网站等几乎所有的网站上,是将新闻、信息栏目和业界动态等信息集中起来发布、管理、查询等的一种网站应用程序。无论管理人员身处何地,只要能够上网就能对网站信息进行更新及维护。所有的操作可以通过浏览器完成,不需要掌握其他应用软件,用户不需培训。新闻发布系统(News Release System)是上个世纪九十年代互连网技术发展以后才出现的技术,最初表现是解决一些网站的信息动态发布而开发,最初只是简单的发布和显示,应用对于各种不同的站点需要构建不同的系统来满足需要,而且功能十分单一,在九十年代后期,互连网技术进一步发展,网络作为新起的新闻媒介工具,其用户大大增加,对系统的要求也越来越高,新闻发布系统在这样的一个环境中提出、开发、并改进,到现在,新闻系统开发的成功案例已经不计其数,而且已经应用到各种站点上,可以说,各行各业的绝大部分的网站都使用到了新闻系统,大量的用户引发了新闻系统功能的进一步扩大和深化,给新闻系统提出了更高的要求。1.3 新闻发布系统功能 本新闻发布系统所完成的主要功能有以下几点。1 前台客户界面部分l 首页界面设计。l 界面一级栏目显示。l 界面二级栏目显示。l 界面三级栏目显示。l 单条新闻的显示。l 相关新闻的显示。l 新闻搜索。2 后台管理界面部分l 管理员登录。l 用户管理。l 一级栏目管理。l 二级栏目管理。l 三级栏目管理。l 添加新闻。1.4新闻发布系统特点本系统具有以下特点:l 页面模块化:本系统在界面设计上都采用了模块化处理思想,把很多模块共有的部分集成一个模块,例如页面的头和尾,数据库的连接等,这样在开发时遇到这些相似的页面部分,就不需要从新编写,重用这部分即可,大大提高了开发效率。l 新闻内容的格式转换:系统在进行新闻录入时,为了便于在新闻浏览中显示方便,将录入的新闻内容进行了格式转换,将普通新闻内容转变成了网页形式的新闻内容,而在新闻修改中又进行了相反的转换,在保存修改信息时又进行了同样的转换。这样做的目的是为了能在新闻浏览中显示出更多的信息,包括回车,空格,图片等在数据库中不能直接保存的信息。第二章 需求分析2.1背景 新闻发布系统(News Release System)是上个世纪九十年代互连网技术发展以后才出现的技术,最初表现是解决一些网站的信息动态发布而开发,最初只是简单的发布和显示,应用对于各种不同的站点需要构建不同的系统来满足需要,而且功能十分单一,在九十年代后期,互连网技术进一步发展,网络作为新起的新闻媒介工具,其用户大大增加,对系统的要求也越来越高,新闻发布系统在这样的一个环境中提出、开发、并改进,到现在,新闻系统开发的成功案例已经不计其数,而且已经应用到各种站点上,可以说,各行各业的绝大部分的网站都使用到了新闻系统,大量的用户引发了新闻系统功能的进一步扩大和深化,给新闻系统提出了更高的要求。2.2 需求分析2.2.1 对结构的规定:新闻快递 - 校情总览 . . 院系介绍 . . 国际交流 . 留学黑大 . . 科学研究 校园生活 . 咨询信箱 . 黑大视频 .国际交流 二级目录:l 国际交流项目 l 外籍教师聘请 l 校际合作 留学黑大 二级目录:l 招生简章 l 博士生申请 l 硕士生申请 l 本科生申请 l 语言生申请 l 专业进修 l 研究学者 l 短期班 l 奖学金 l 申请表下载 l 留学咨询 2.2.2对性能的规定1、操作应该方便、灵活。2、系统应有较高的稳定性。3、系统应有较高的安全性。4、系统应有较高的容错性。5、速度上要求前台要能够很快地反应用户,后台操作不能出现超时现象。2.2.3数据管理能力要求1、能处理大量的新闻数据。2、安全指数高,防止黑客攻击。3、负荷能力强,防止数据量过大,而影响速度。4、采用日志备份,追查非法用户5、遵循数据完整性规则,保证数据实际有效。6、保证发送数据库引擎的数据得以可靠存储。7、密码管理,为了保证系统数据的安全性,系统对用户登陆进行了加密限定(MD5)。2.2.4 运行环境1.硬件要求:CPU:P3或者以上;内存:64MB或者以上硬盘:500M或者以上2.软件要求:数据库环境:MySQL Server 4.1服务器环境:Windows 2003 server+JDK 1.5.0_01-b08+ tomcat5.0.282.2.5 所用工具:JAVA代码编写工具:JCreator LE 3.0、UltraEdit-32JSP编写:Macromedia Dreamweaver MX数据库管理: SQLyog Enterprise第三章 概要设计3.1 系统的体系结构JAVABEANWEB browserClientClientMYSQLSERVERDB SERVER本新闻系统根据后台管理员设置的栏目和模板自动生成前台新闻主页、栏目浏览页面和新闻浏览页面,同时后台提供了栏目、模板、新闻的编辑、修改、和删除功能,完成了新闻系统的所有功能。图3-1:系统结构图本新闻系统设计采用典型的三层结构模式:第一层JSP页面主要实现对管理界面的显示和解释、中间层JAVABEAN组件实现对数据库的操作和前台页面的生成工作,第三层数据库服务器主要对系统提高数据服务。中间层的JAVABEAN组件主要封装了对数据库的查询、修改、删除以及页面生成工作,实现了本系统的全部中间业务逻辑,在系统中起关键作用。MYSQLSERVER DB SERVER新闻录入JAVABEANJAVABEAN生成静态页面前台浏览用户图3-1:系统设计方案本系统栏目管理-文章管理-模板管理-生成HTML页面形成一个完整的新闻发布过程,主要通过JAVA类库中的java.sql.*和java.io.*2个包内的相关类实现了数据库的管理和静态文件的生成操作。WEB Browser数据库服务器管理用户登录登录验证失败失败提示&日志记录权限验证权限验证文章管理生成管理账号管理系统数据添加文章编辑文章删除文章菜单级别所属菜单审批管理生成主页生成所有栏目生成所有文章账号管理修改密码系统设置系统空间占用数据库备份数据库恢复数据库收缩SQL语句执行日志管理前台新闻浏览用户浏览 检索图3-2:系统业务流图3.2 系统业务流图后台管理员通过登录验证获得后台管理权限,可以通过:设置栏目-添加文章-菜单级别-所属菜单-审批-生成文件等一系列的系统业务来完成一个新闻系统的设置和新闻的发布,图3-2为本系统的业务流程图。3.3 数据流程图数据库服务器栏目模板新闻添加栏目添加新闻添加模板生成静态页面图3-3:系统数据流程图3.4系统模块以及功能设计模块详细功能描述文章管理添加文章:主要是用于发布新闻。编辑文章:对已发布的新闻进行审核、修改、删除等操作。栏目管理:对新闻的栏目进行增加、修改、删除。生成管理生成所有文章 :生成所有新闻的浏览页面。生成各栏目主页:生成所有栏目的浏览页面。模板绑定:对主页、栏目、新闻浏览分别绑定HTML模板,便于生成。模板管理:修改、删除HTML模板(已经绑定模板不能删除)。账号管理账号管理:增加、删除。修改密码:修改当前管理员的登录密码日志管理日志管理:对系统的一些重要操作的记录第四章 数据库设计4.1 数据库类型:MySQL Server 4.14.2 数据库简介:MySQL由瑞典的T.c.X公司负责开发和维护,是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。 MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提 供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。MySQL数据库服务器是一个客户/服务器系统,它由多线程SQL服务器组成,支持不同的后端、多个不同的客户程序和库、管理工具和广泛的应用程序接口(APIs)。 MySQL也可以是一个嵌入的多线程库,你可以把它连接到你的应用中而得到一个小、快且易于管理的产品。 从此可以看出本数据库的有点所在,因此本系统中选用了该数据库。4.3 数据库设计原则4.3.1 数据文件结构的设置应满足管理上的要求设计数据文件结构时应考虑到管理的要求和实际处理的方便将某一层次、某一方面的管理所要处理的数据相对集中的组织在一起,以简化后续工作对实际问题的处理过程。4.3.2 数据记录要反映各级管理的需要数据的存储是为了管理的需要,如果记录的内容不足以反映管理上的需要,那么这个文件的记录是不完善的。所以在设计数据库结构时,不但要保证事务各个方面的信息,而且要尽量使同一方面,同一管理层次上的内容要相对集中的组织在一起,既全面反映客观事物,又集中反映出它的每一个侧面。4.3.3 使得数据的冗余度尽量减少数据冗余度是衡量数据的结构的指标之一,这个指标与上述相对集中的在同一文件结构中反映事物的各个侧面是相矛盾的,因为从整体上来看,反映这些侧面的数据集合会存在交叉的情况,不可避免地出现数据的冗余,所以我们所考虑的是在二者折中的情况下选择最优解或满意解。4.3.4 保持数据的独立性在添加、修改、删除数据时,数据的结构、相互关系和属性保持不变,并且应用程序不依赖于数据库中数据的组织方式和存储位置,也就是说不同的应用程序可按其所需的数据结构去访问数据库中的数据。当数据的组织方式发生变更时,不需要重新编写或修改应有程序4.3.5 保证数据的完整性和安全性系统对数据库中的数据的进行访问,采取设置访问权限、身份验证、数据流加密等措施,防止无关的用户对数据的非法访问和破坏,并提过各种保护手段,以防止各种破坏数据完整性的行为发生。4.3.6 维护方便有不断扩充和更新的能力设计好的数据库要想永远使用,一成不变是不现实的。因为事物总是发展变化的,因此设计好的数据库系统不仅能满足用户目前的需求,还要对远期的需求又一定的扩充和更新能力,有相应的处理方案。4.4数据库需求分析本数据库要求保存以下信息:一级栏目信息、二级栏目信息、三级栏目信息、新闻信息、用户信息等;根据需要设计如下数据项和数据结构:一级栏目信息表:唯一编号、栏目名称、登陆页中的链接地址、登陆页中的图片、二级栏目图片、审批通过则使用;二级栏目信息表:唯一编号、栏目名称、一级栏目编号、链接地址、审批通过则使用;三级栏目信息表: 唯一编号、栏目名称、二级栏目编号、链接地址、审批通过则使用;新闻信息表:唯一编号、名称、审批通过则使用、所属栏目、栏目级别、发表时间、修改时间、新闻标题、新闻副标题、新闻作者、新闻记者、新闻来源、文件名、操作人;用户信息表:唯一编号、用户名、密码、备注、锁定.第五章 系统主要功能演示5.1 管理登录模块该模块访问页面login.jsp该模块登录时进行用户名和密码的有效性验证.查询用户表,如果该用户存在,则进入后台主页面 index.jsp;如果不能通过,则不给予提示.该校验过程使用servlet.java组件,存储该用户的编号在Session中,以便维持该用户的有效性连接.图5-1: 系统登录效果图5.2 后台用户管理模块后台用户管理模块的设计是对人员数据的维护.系统有个默认的后台管理员,该用户登陆后台管理模块后,负责新建后台的系统用户.新建的用户如果状态为”使用状态”则使用该新用户登陆后可以使用后台的系统,如果状态为”挂起状态”,则该用户不能登陆直到系统管理员修改该用户的状态为”使用状态”时方有效. 该模块访问页面是user.jsp.5.2图: 后台用户管理模块5.3 后台管理模块该模块分类中有用户管理,主页管理,退出等功能.实现了对前台新闻信息和各级栏目的增加,修改,删除等功能. 该模块访问页面是menu.jsp.5.3图: 后台管理模块5.4 文章管理模块该模块用于维护前台中的新闻内容,是系统的主要模块,该模块的基础是上面的三个栏目模块,可以增加,修改,删除新闻, 该模块访问页面是list.jsp.其主界面如图:5.4图: 文章管理模块5.5 前台生成页面效果图系统的前台为新闻发布系统的完全表现层,后台维护的模块设计都是根据前台的实际需要来进行的.后台的部分主要表现在栏目,新闻.其中一级栏目不一定有二级栏目,二级栏目不一定有三级栏目,这种设计也是为了灵活方便,满足升级的需要.5.5图: 前台生成页面效果图第六章 关键技术设计详解及源代码6.1系统公用代码 6.1.1 数据库连接JAVABEAN 数据库生成后就要与网页建立动态链接.系统为了方便起见,将数据库接口语句写在了一个bean文件里面,凡是涉及数据库操作的bean只要继承这个bean就行了.其数据库接口语句的源代码如下: /*取得连接池*/public void getConnPool()tryContext initCtx = new InitialContext();Context ctx = (Context)initCtx.lookup(java:comp/env);/*获取连接池对象*/Object obj = (Object)ctx.lookup(jdbc/OracleDB);/*类型转换*/javax.sql.DataSource ds = (javax.sql.DataSource)obj;conn = ds.getConnection();/*测试连接计数*/ParentBean.curnum+;/ParentBean.sumnum+;ParentBean.showConnNUM(true);catch(NamingException e)System.out.println(从数据池取得数据库连接时出错;rn错误为: + e);catch(SQLException e)System.out.println(从数据池取得数据库连接时出错;rn错误为: + e);有了数据库接口语句,我们对数据库进行增加,删除,修改,检查等的操作都封装在bean里,只要继承database.java这个父类就可以了.在其他涉及数据库操作的网页文件中加上”就可以建立网页与数据库的连接了.6.1.2 系统字符串处理JAVABEAN 该函数类为常用的字符串处理类,进行字符串的输入输出处理.因为一般的程序使用的数据表现形式都为字符串,对数字和时间等的正确处理和显示,以及字符编码的处理是十分重要的功能,对不同的系统有不同的要求,这个问题常常成为各个系统的通用需要,所以本系统专门设计了该类,方便了系统的编写,而且可以在以后的系统中复用该组件.源代码如下:/*把null转化为*/public String toString(String str)if(str=null)str = ;if(str.equals(null)str = ;str = str.trim();return str;/*转换编码*/public String toGBK(String str)trystr=new String(str.getBytes(ISO-8859-1),GBK);catch (Exception e) return str;/*UTF8*/public String toUtf8String(String src)byte b = src.getBytes();char c = new charb.length;for(int i=0;ib.length;i+)ci = (char)(bi&0x00FF);return new String(c);public String toASCII(String str)trystr=new String(str.getBytes(GBK),ISO-8859-1);catch (Exception e) return str;/*分割字符串*/public String splitStr(String str,char c)str+=c;int n=0;for(int i=0;istr.length();i+)if(str.charAt(i)=c)n+;String out = new Stringn;for(int i=0;i= 0) output.append(source.substring(posStart, pos);output.append(newString);posStart = pos + lengthOfOld;if (posStart lengthOfSource) output.append(source.substring(posStart);return output.toString();/*取得两个日期的天数之差*/public long getDaysInterval(Date d1,Date d2)return (d2.getTime()-d1.getTime()/86400000;/*将字符串格式化为固定长度*/public String toLengthStr(String instr,int len)int n = instr.length();for(int i=0;i(len-n);i+)instr = +instr;return instr;/*将字符串格式化为固定长度(右边补空格)*/public String toLengthStrRight(String instr,int len)int n = instr.length();for(int i=0;i(len-n);i+)instr = instr+ ;return instr;6.2 文件生成JAVABEAN6.2.1 生成主页JAVABEAN该类的功能用于为系统主页提供服务功能.需要提取一级栏目的新闻列表时调用函数getmenu1list(),需要提取二级栏目的新闻列表时调用函数getmenu2list(),需要提取三级栏目的新闻列表时调用函数getmenu3list().主要代码如下:package com.ideas.bean;import java.lang.*;import java.util.*;import java.sql.*;public class mainBean extends ParentBean String id = -1;public void setID(String id) this.id = id; public String login(String loginimg) String sql = select href from menu1 where loginimg=+loginimg+ and isuse=1; String href = ; Vector v = getDataBySql(sql); if(v.size()=1) href = (String)(Hashtable)v.get(0).get(href); return href; public Vector getMenu1List() String sql = select * from menu1 where isuse=1 order by id; return getDataBySql(sql); public Vector getMenu2List(String menu1id) String sql = select id,name from menu2 where isuse=1 and id1=+menu1id+ order by id; return getDataBySql(sql); public Vector getMenu3List(String menu2id) String sql = select id,name from menu3 where isuse=1 and id2=+menu2id+ order by id; return getDataBySql(sql);6.2.2 生成一级栏目JAVABEAN该类的功能用于对系统前台的一级栏目名称进行维护.添加栏目时调用函数add(),修改栏目属性时调用函数mod(),删除一个栏目时调用函数del().在每一次进行调用函数之前,需要使用函数setid()来设置接下来的操作是对哪一个栏目进行操作.另外,该组件提供查询功能,如果需要查询一个栏目的相关属性,则调用函数getonedate();如果需要查询所有的栏目列表,则调用函数getonepage(),该函数为分页函数,负责提取第几页的数据,并且接受每一页显示行数的设置参数.主要代码如下: package com.ideas.bean;import java.lang.*;import java.util.*;import java.sql.*;public class menu1Bean extends ParentBean String id = -1; public void setID(String id) this.id = id; public Vector getCurPage(int cur,int records) return getOnePage(SELECT * FROM menu1,cur,records); /取得数据表中的某一条记录 public Vector getOneData() throws Exception String sql = select * from menu1 where id= +id; return getResultSetData(selectRecord(sql); public int add(Hashtable hash) throws Exception String name = ds.toString(String)hash.get(name); String href = ds.toString(String)hash.get(href); String loginimg=ds.toString(String)hash.get(loginimg); String rect=ds.toString(String)hash.get(rect); String menu2img=ds.toString(String)hash.get(menu2img); String isuse= ds.toString(String)hash.get(isuse); Vector vect =new Vector(); vect.add(menu1); vect.add(addVector(name,name,CHAR); vect.add(addVector(href,href,CHAR); vect.add(addVector(loginimg,loginimg,CHAR); vect.add(addVector(rect,rect,CHAR); vect.add(addVector(menu2img,menu2img,CHAR); vect.add(addVector(isuse,isuse,CHAR); String sql = select * from menu1 where name=+name+; if(getResultSetData(selectRecord(sql).size()!=0) return 1; return insertRecord(vect); public int mod(Hashtable hash) throws Exception String name = ds.toString(String)hash.get(name); String href = ds.toString(String)hash.get(href); Stringloginimg=ds.toString(String)hash.get(loginimg); String rect = ds.toString(String)hash.get(rect); Stringmenu2img=ds.toString(String)hash.get(menu2img); String issue =ds.toString(String)hash.get(isuse); Vector vect =new Vector(); vect.add(menu1); vect.add(addVector(name,name,CHAR); vect.add(addVector(href,href,CHAR); vect.add(addVector(loginimg,loginimg,CHAR); vect.add(addVector(rect,rect,CHAR); vect.add(addVector(menu2img,menu2img,CHAR); vect.add(addVector(isuse,isuse,CHAR); vect.add(ID=+id+); String sql = select * from menu1 where id!=+id+ and name=+name+; if(getResultSetData(selectRecord(sql).size()!=0) return 1; return updateRecord(vect); public void del() deleteRecord(delete from menu1 where id=+id); ;6.2.3 生成二级栏目JAVABEAN该类的功能用于对系统前台的二级栏目名称进行维护.添加栏目时调用函数add(),修改栏目属性时调用函数mod(),删除一个栏目时调用函数del().在每一次进行调用函数之前,需要使用函数setid()来设置接下来的操作是对哪一个栏目进行操作.另外,该组件提供查询功能,如果需要查询一个栏目的相关属性,则调用函数getonedate();如果需要查询所有的栏目列表,则调用函数getonepage(),该函数为分页函数,负责提取第几页的数据,并且接受每一页显示行数的设置参数.主要代码如下:package com.ideas.bean;import java.lang.*;import java.util.*;import java.sql.*;public class menu2Bean extends ParentBean String id = -1; public void setID(String id) this.id = id; public Vector getCurPage(int cur,int records) return getOnePage(SELECT menu2.*,menu1.name as menu1name FROM menu2,menu1 where menu2.id1=menu1.id order by id1,id,cur,records); /取得数据表中的某一条记录 public Vector getOneData() throws Exception String sql = select * from menu2 where id= +id; return getResultSetData(selectRecord(sql); public int add(Hashtable hash) throws Exception String name = ds.toString(String)hash.get(name); String id1= ds.toString(String)hash.get(id1); String href = ds.toString(String)hash.get(href); String rect= ds.toString(String)hash.get(rect); String isuse= ds.toString(String)hash.get(isuse); Vector vect =new Vector(); vect.add(menu2); vect.add(addVector(name,name,CHAR); vect.add(addVector(id1,id1,NUM); vect.add(addVector(href,href,CHAR); vect.add(addVector(rect,rect,CHAR); vect.add(addVector(isuse,isuse,CHAR); String sql = select * from menu2 where name=+name+; if(getResultSetData(selectRecord(sql).size()!=0) return 1; return insertRecord(vect); public int mod(Hashtable hash) throws Exception String name = ds.toString(String)hash.get(name); String id1= ds.toString(String)hash.get(id1); String href = ds.toString(String)hash.get(href); String rect = ds.toString(String)hash.get(rect); String issue= ds.toString(String)hash.get(isuse); Vector vect =new Vector(); vect.add(menu2); vect.add(addVector(name,name,CHAR); vect.add(addVector(id1,id1,NUM); vect.add(addVector(href,href,CHAR); vect.add(addVector(rect,rect,CHAR); vect.add(addVector(isuse,isuse,CHAR); vect.add(ID=+id+); String sql = select * from menu2 where id!=+id+ and name=+name+; if(getResultSetData(selectRecord(sql).size()!=0) return 1; return updateRecord(vect); public void del() deleteRecord(delete from menu2 where id=+id); ;6.2.4 生成三级栏目JAVABEAN该类的功能用于对系统前台的三级栏目名称进行维护.添加栏目时调用函数add(),修改栏目属性时调用函数mod(),删除一个栏目时调用函数del().在每一次进行调用函数之前,需要使用函数setid()来设置接下来的操作是对哪一个栏目进行操作.另外,该组件提供查询功能,如果需要查询一个栏目的相关属性,则调用函数getonedate();如果需要查询所有的栏目列表,则调用函数getonepage(),该函数为分页函数,负责提取第几页的数据,并且接受每一页显示行数的设置参数.主要代码如下:package com.ideas.bean;import java.lang.*;import java.util.*;import java.sql.*;public class menu3Bean extends ParentBean String id = -1; public void setID(String id) this.id = id; public Vector getCurPage(int cur,int records) return getOnePage(SELECT menu3.*,menu1.name as menu1name,menu2.name as menu2name FROM menu3,menu2,menu1 where menu3.id2=menu2.id and menu2.id1=menu1.id order by id1,id2,menu3.id,cur,records); /取得数据表中的某一条记录 public Vector getOneData() throws Exception String sql = select * from menu3 where id= +id; return getResultSetData(selectRecord(sql); public int add(Hashtable hash) throws Exception String name = ds.toString(String)hash.get(name); String id2 = ds.toString(String)hash.get(id2); String href =
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸下载 > CAD图纸下载


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!