- 浏览: 7935782 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
一 设计概述
其实整个设计为学校服务,包括
A 学生的自主个性化学习系统
将智能理论引入教学系统,模仿教师的教学思想有选择地提供路径供学生学习,并且
实现学生与教师的双向选择。教材和教程的安排是提高教学质量、激发学习兴趣的关键。系统分为以下几个部分:
1 学生自主学习:系统根据学生的学历,生成不同的学习章节安排,分为强制学习和自由学习两种方式。强制学习是指学生在浏览课程内容的时候,必须按照章节的指定顺序从头开始学习,在学习完一章后通过自我检测后再进入到下一章的学习;而自由学习方式中,学生可以按任意的顺序浏览课程的内容。
2 事件提醒功能:
该模块可以让学生在日历中设置自己的事件提醒,学习计划定制,还可以随时记录自己感兴趣的内容,做学习笔记;可以做书签,标记所感兴趣的内容,以后再查看。学生可以通过系统提供的webmail电子邮件功能向教师发送邮件,提问问题。
B 学习答疑系统
答疑系统分为实时答疑系统和非实时答疑系统。
非实时答疑系统设计为一个论坛,学生在学习中遇到问题的时候,可以提出问题,可以上传问题的附件。老师可以很方便地解答学生的各种问题,并反馈给学生;学生可以对教师解答的问题予以投票评价,
实时答疑系统是一个聊天室,教师和学生可以在指定的时间内在聊天室中进行问题交流。
C 在线自我测试系统
学生在学习完一定课程后,将可以进行测试,系统提供自动组卷和手动组卷两种方式供教师进行组卷。学生在进行自我测试后可以立即查看成绩答案,可以知道自己在某个知识领域方面的掌握情况,教师可以对学生的测试成绩进行简单的统计,以图表形式展示。
D 教案管理系统
教师可以上传教案,教案可以是纯文本输入的方式,可以是已经做好的ppt,还可以利用系统本身的简单网页编辑器进行教案的编辑,修改,可以上传到服务器指定位置。
E 课件管理系统
教师可以将自己制作的优秀课件上传到课件资源库,供学生下载,此外,该系统通过XML WebService的方式,将该系统与其他不同平台的系统相连;教师可以在查询教学资源时,可以将请求发送到不同站点的系统中,不同的系统通过xml的方式返回结果,从而缩小了搜索的范围,大大方便了教学资源的网上共享。
其实,我们当初为了学习JAVA/JSP,所以多提出了很多要实现的东西。而在毕业设计完成后,也惊奇的发现,我们这个系统里,可谓用到了很多技术点,如jsp,javabean,servlet,asp.net,xml,webservice,第三方组件,mobile开发,而至于什么关于JAVA/JSP的技术应用也汇集了,
比如什么树型结构,文件上传,聊天室,论坛,JSP的图形,日历,JAVAMAIL。。。,唯一实现失败的是利用JAVA搞语音聊天室失败了。
二 基于XML WebSerivce的课件搜索系统
其实,现在看来,当初搞这个系统,根本只是纯粹应老师要求,加上自己爱好,想研究WEBSERVICE的,实际上至少目前为止,还不会这样使用。下面就详细讲下,摘录原论文的部分。我当初的目的时,通过JAVA和。NET的WEBSERVICE互相调用,了解其实现方法,以体现WEBSERVICE的跨平台特性,可惜现在看回来,当初我的实现方法出现很多错漏和明显的问题,但毕竟还是初步实现了,嘿嘿,所以打算原始呈现给大家。
4.1.1 课件资源库的概况<o:p></o:p>
在远程教育系统中,教师可以在用Powerpoint,Flash,Authorware等软件在制作课件后予以上传到服务器,以供下载使用。传统的远程教育站点课件资源库就是采用简单的“上传――搜索-下载”的模式实现的。但随着Internet技术的不断发展,互联网上的优秀课件资源变得越来越丰富,教师在进行教学备课,学生在学习中,不再单单局限在某一站点上搜索课件教学资源,因为单一站点上的课件资源不能满足要求。教师或者学生往往要通过其他搜索引擎(如google,yahoo等),但往往搜索出来的结果可以说是海量的,要再次在其中逐一查找,浪费了时间,而且现在的搜索引擎搜索出来的结果,很多都不是十分准确的,包含了其他无用的信息。
4.1.2 新系统解决方案概述
在新系统的解决方案中,本人提出了使用XML WebService技术构建共享课件资源库。就是使用当今最新的XML WebService技术,从而可以使即使是不同平台(unix/liux,Widows nt/server平台),使用不同语言(asp.net,jsp)构建的远程教育网站站点之间,能够互相访问对方的课件资源库的资源。<o:p></o:p>
其中,在本人的设计中,使用C#,asp.net分别模拟构建了另外两个远程教育网站的课件资源库部分,分别为网站A,网站B,它们分别提供了其自身的课件资源库的WebService接口,接收来自其他网站发送的查询请求,而称这次我们毕业设计小组设计的JSP网站为本地网站。系统的整个工作流程概述如下:
(1) 当用户要搜索课件时,首先将查询的请求格式化为SQL语句。之后将请求发送到WebService课件代理中心(UDDI)
(2) 在UDDI注册中心中,注册了A,B两个网站的WebService的有关信息,当收到本地网站的请求后,UDDI中心调用A,B两个网站的Webservice,将用户的请求分别发送到它们的WebService。
(3)A,B网站的WebService分别收到了用户的请求,并调用自己的搜索方法,再将请求发送到各自的数据库A,B。<o:p></o:p>
(4) A,B网站分别将数据库搜索出来的结果以XML的形式返回到UDDI注册中心的课件WebService课件代理。而UDDI中心的课件代理则将A,B网站返回的XML加以整理,再返回给本地网站。
(5) 本地网站将返回的XML加以解释,提取结点的内容,再以一定的样式显示在用户面前。<o:p></o:p>
上面的流程用结构图表示如下:
<o:p></o:p>
<o:p></o:p>
<o:p></o:p> 由于这次我们小组设计的系统是使用Java技术构造的,通过WebService,可以成功地与其他两个.net架构的远程教育课件库系统相连。这样一来,当学生或教师要搜索课件的时候,搜索到的就不单单是一个网站的课件资源,而是有可能搜索到若干个同类型网站的课件资源,而搜索出来的结果是十分有效的,没有冗余的信息,十分方便并且有效。而且这种模式可以有效地推广到其他网站的经营模式上去。<o:p></o:p>
<o:p></o:p>
4.2 .NET和Java 的WebService概述
(1) 微软.NET简介
2000年6月22日,微软正式推出了其.net战略,2002年,VS.NET 2002 正式推出。<o:p></o:p>
.NET的最终目的就是让用户在任何地方、任何时间,以及利用任何设备都能访问他们所需要的信息、文件和程序。而用户不需要知道这些东西存在什么地方,甚至连如何获得等具体细节都不知道。他们只需发出请求,然后只管接收就是了,而所有后台的复杂性是完全屏蔽起来的。<o:p></o:p>
(2) .NET 对WEBSERVICE的支持
.NET平台内建了对WebService的支持,包括WebService的构建和使用。 与其它开发平台不同,使用.NET平台,不需要其他的工具或者SDK就可以完成WebService的开发。.NET Framework本身就全面支持WebService,包括服务器端的请求处理器和对客户端发送和接受SOAP消息的支持。
(3) Java 对WebService的支持
由于这次毕业设计我研究的部分设计到JAVA与.net上平台上的WebService的互连,因此我对JAVA中对WEBSERVICE的支持进行了研究。
然而,在设计中,我发现如IBM,Sun,Bea,Oracle,Apache等公司或组织都纷纷提出了基于WebService的开发标准和工具,而当中有的是很复杂的。有的虽然功能强大,但在和.NET平台上的WebService的互操作性上不强。最后,我选用了apache组织免费的开源项目Axis。
Axis(Apache extensible Interaction System)的前身是著名开源组织Apache开发的Apache Soap的最新一代产品,目前最新的版本是1.1。Axis有以下特点:
1 使用SAX解释器对XML进行解释,速度比用DOM解释快,灵活性高。
2 能自动对原有的Java文件生成对应的wsdl文件。
3 能方便地对发布的WebService部署。
4 具有十分良好的互操作性,能与其他语言编写的WEB服务进行相互操作调用。
4.3 .NET端WebService的设计
4.3.1 .NET端的websevice
首先,我先讲下.NET端的WebService设计。在设计中,A网站采用的是ms sql server 2000数据库,而B网站采用access 2000设计。对A,B网站的数据库的设计如下,分别命名为kejiana,kejianb。其数字字典见附录的表4。
建立数据库后,就可以建立.Net端的Webservice,下面以网站A为例介绍(网站B的构建类似):
主要编程思想:
1) 引入.Net中的有关WebService的类库,如System.Web.Service等;
2) 根据传入的sql语句,查询Kejiana的数据库,返回有关的查询结果。
3) 对查询的结果进行xml格式化,转化为统一的xml。
其中,在asp.net中,对数据库的操作的结果是以dataset来表示的。DataSet是在ADO.NET中的一个重要组成部分,ADO.NET让程序开发人员可以在下一代的Web上进行数据存取更为简单,并且更有效率。ADO.NET可以达成这些目的的最重要的两个改进为:Disconnected DataSet(离线数据集)和XML支持。简单来说,DataSet对象就是RecordSet的集合,ADO.NET Framework会提供所有的RecordSet数据库特性,例如排序、分页、检视表、关联性、索引,和主键等,它是一种简单的,驻留在内存中的数据存储方式,实际上它是以XML格式存储的,所以无论是哪种平台或者是哪种语言,都可以使用DATASET。在设计中,我充分利用了dataset的这个功能,先将数据库查询结果转化为dataset,然后再整理为XML。主要代码如下:
[WebMethod]<o:p></o:p>
public XmlDataDocument Query(string querystring)<o:p></o:p>
{<o:p></o:p>
string str;<o:p></o:p>
TextWriter writer = new StringWriter();<o:p></o:p>
XmlDataDocument doc=new XmlDataDocument();<o:p></o:p>
string sql="select * from kejiana"+" where "+querystring;<o:p></o:p>
cnn.Open();<o:p></o:p>
SqlDataAdapter da=new SqlDataAdapter(sql,cnn);<o:p></o:p>
DataSet ds = new DataSet();<o:p></o:p>
da.Fill(ds,"kejian");//以上代码将查询的结果放到dataset中去。<o:p></o:p>
if (ds.Tables["kejian"].Rows.Count==0) //如果数据集为空<o:p></o:p>
{<o:p></o:p>
doc1=new XmlDataDocument(ds);<o:p></o:p>
str="<root>"+doc1.InnerXml+"</root>";<o:p></o:p>
doc1.LoadXml(str);<o:p></o:p>
return doc1;<o:p></o:p>
}<o:p></o:p>
else //如果结果不为空<o:p></o:p>
{<o:p></o:p>
doc=new XmlDataDocument(ds);<o:p></o:p>
XmlNode root1=doc.DocumentElement;<o:p></o:p>
XmlNodeList roots=root1.SelectNodes("kejian");<o:p></o:p>
foreach(XmlNode roota in roots) //为XML增加结点fromnet<o:p></o:p>
{<o:p></o:p>
XmlElement fromnet=doc.CreateElement("fromnet");<o:p></o:p>
XmlElement link=doc.CreateElement("A");<o:p></o:p>
link.SetAttribute("HREF","http://localhost/kejiana/");<o:p></o:p>
fromnet.AppendChild(link);<o:p></o:p>
roota.AppendChild(fromnet);<o:p></o:p>
}<o:p></o:p>
return doc;<o:p></o:p>
}<o:p></o:p>
}
在上面的代码中,在查询出数据库的内容之后,首先要判断数据集的内容是否为空,如果数据集的内容为空,则返回空的XML。如果数据集不为空,则首先将数据集转化为xmldatadocument,xmldatadocument是xmldocument的子类,它的功能是实现XML和DATASET的转化。同时,由于最后要告诉用户,课件是来自于哪一个网站的,所以要在生成的xml中加入一个结点fromnet,表示搜索出来的结点来自于哪一个网站。
编译该WebService,可以看到如下界面:
<v:shapetype id="_x0000_t75"><v:stroke></v:stroke><v:formulas><v:f></v:f><v:f></v:f><v:f></v:f><v:f></v:f><v:f></v:f><v:f></v:f><v:f></v:f><v:f></v:f><v:f></v:f><v:f></v:f><v:f></v:f><v:f></v:f></v:formulas><v:path></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype>
上面的界面中,就是WebService的初始界面,其中querystring就是要输入的参数,该参数实际上是来自外部系统的。比如,在这里,输入sql语句的一部分kname like ‘%vb%’,表示要查询的是课件名中包含VB字样的所有记录,在提交请求后,WebService便会调用数据库查询,将查询的结果以XML的形式返回。<o:p></o:p>
<o:p></o:p>
发表评论
-
很高兴能入住博客园
2005-01-15 19:24 1618很高兴申请能被批准,十分高兴。因为我主要搞WEB编程的 ... -
一些我翻译或原作的文章
2005-01-15 19:50 1335平时有空的话,比较喜欢看外国的.net站点,因此也翻译些好 ... -
asp.net 中对datagrid中的BUTTON应用CSS样式
2005-01-15 20:02 2486在asp.net中,如果要对某个按钮,TEXTBOX应用样式, ... -
asp.net 2.0中的ValidationGroup
2005-01-15 20:04 1536在asp.net 1.1中,对于验证类控件,在使用时,遇到有的 ... -
asp.net 2.0中的弹出对话框
2005-01-15 20:05 1346在asp.net 1.1中,要做1个弹出的对话框的话,一般是在 ... -
asp.net 2.0中设定默认焦点按钮
2005-01-15 20:05 1578在asp.net 1.1中,当要在page_load页面中,设 ... -
asp.net 2.0中使用sitemapDATAsource做页面导航
2005-01-15 20:07 1715在ASP.NET 2.0中,没有专门的页面导航控件,但可以使用 ... -
asp.net 2.0中TREEVIEW中动态增加结点
2005-01-15 20:08 2040在asp.net 2.0中,要动态从数据库中取出内容,动态增加 ... -
一个.net实现的ubb类
2005-01-15 20:09 1501using System; using System.Text ... -
ASP.NET 2.0中改变passwordrecovery发邮件时的信息
2005-01-15 20:11 1387在ASP.NET 2.0的登陆控件中(详细见我的文章,www. ... -
asp.net 2.0中的Cross PAGE REQUEST
2005-01-15 20:12 1324大家还记得吧,在ASP中,一个页面里,只要有一个Form表单, ... -
asp.net 2.0中一次性更新所有GRIDVIEW的记录 (翻译)
2005-01-15 20:13 1335在asp.net 2.0中,gridview控件是十分不错的控 ... -
ASP.NET 2.0中GRIDVIEW排序
2005-01-15 20:15 1964虽然是BETA 1的,但原理其实和。NET 1。1的差不多,下 ... -
即将有很多介绍WEBSERVICE互相整合的录象
2005-01-15 23:07 1211如何做到JAVA和。NET之间相互使用WEBSERVICE呢? ... -
asp.net 2.0的又一新特性
2005-01-16 20:49 1150ASP.NET 2.0真是多新特性呀,今天看资料才发现的。比如 ... -
上周听SMARTCLIENT讲座感受
2005-01-20 13:01 1381上周,在广州的SMARTCLIENT讲座上,终于见到了开心 ... -
BOXING AND UNBOXING FOR BEGINNER
2005-01-20 21:04 1392看了CODEPROJECT上篇讲BOXING的文章,觉得不错, ... -
基于WEBSERVICE的课件搜索系统(二)
2005-01-28 22:50 12444.3.2 WebService代理中 ... -
基于WEBSERVICE的课件系统(三)
2005-01-28 22:58 1666在前面的<<基于WEBSERVICE的课件系统(1 ... -
基于WEBSERVICE的课件系统(四,后记)
2005-01-28 23:06 1160由于是直接从WORD上COPY到BLOG的,所以难免在排版 ...
相关推荐
在IT行业中,Web服务是应用程序之间进行通信的一种方式,它允许不同系统间的数据交换。WSDL(Web Services Description Language)是一种XML格式,用于定义网络服务的接口,描述了服务的位置、消息格式以及如何调用...
在IT行业中,Web Service是一种基于网络的、松散耦合的软件模块,它提供了一种标准的方法来使得不同的系统之间可以互相通信。本主题聚焦于如何利用Web Service服务将上海市的城建地址转换为经纬度坐标,这在地理信息...
tables-3.6.1-cp39-cp39-win_amd64.whl
基于springboot大学生心理咨询平台源码数据库文档.zip
基于Java web 实现的仓库管理系统源码,适用于初学者了解Java web的开发过程以及仓库管理系统的实现。
基于springboot智能推荐旅游平台源码数据库文档.zip
内容概要:本文是一份详尽的Ruby语言教程,首先介绍了Ruby语言的基本信息和发展背景。接着详细讲解了Ruby的基础语法,如变量、数据类型、运算符、控制流等,并深入探讨了面向对象编程的关键概念,包括类、对象、继承、封装和多态。随后介绍了Ruby的一些高级特性,如模块、异常处理、迭代器和文件I/O操作。最后,讨论了Ruby在Web开发中的应用,尤其是与Rails框架的结合。每个部分都配有相应的代码示例,帮助读者更好地理解和实践。 适合人群:适用于初学者和有一定基础的程序员,特别是对Ruby语言感兴趣的人。 使用场景及目标:学习和掌握Ruby语言的各项基础知识和高级特性,为进一步进行Web开发或其他相关编程打下坚实的基础。 其他说明:教程中的每一部分内容都有详细的解释和代码示例,非常适合自学和教学使用。
GEE训练教程——Landsat5、8和Sentinel-2、DEM和各2哦想指数下载
基于springboot在线问诊系统源码数据库文档.zip
基于springboot的流浪猫狗救助系统源码数据库文档.zip
GEE训练教程
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
本教程帮助您了解什么是 SQLite,它与 SQL 之间的不同,为什么需要它,以及它的应用程序数据库处理方式。需要的朋友们可以参考看看! SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite是一个增长最快的数据库引擎,这是在普及方面的增长,与它的尺寸大小无关。SQLite 源代码不受版权限制。 什么是 SQLite? SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。 就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。 为什么要用 SQLite? 不需要一个单独的服务器进程或操作的系统(无服务器的)。 SQLite 不需要配置,这意味着不需要安装或管理。 一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。 SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250K
基于springboot学生选课系统源码数据库文档.zip
【Android UI】SurfaceView中使用 Canvas 绘制可缩放大图 ( 拖动和缩放相关的变量 | Canvas 绘图函数 | 手势识别 多点触控流程 | 拖动图片 | 缩放图片 ) 博客链接:https://blog.csdn.net/shulianghan/article/details/143950948 一、需求分析 和 核心要点 说明 1、需求说明 2、核心要点 - 拖动和缩放相关的变量 3、核心要点 - Canvas 绘图函数 4、核心要点 - 手势识别 多点触控流程 5、核心要点 - 拖动图片 6、核心要点 - 缩放图片 二、完整代码示例 1、环境说明 2、SurfaceView 完整代码 3、运行结果
基于springboot+web的二手闲置交易系统源码数据库文档.zip
GEE训练教程
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
基于SpringBoot的宠物寄领养网站源码数据库文档.zip
基于springboot的电影院售票管理系统源码数据库文档.zip