仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2131|回复: 20
打印 上一主题 下一主题

[学习教程] JAVA网页设计关于JSP公布舆图服务

[复制链接]
逍遥一派 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:32:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
手机用到的是用j2me所编出来的小程序。js<b>关于JSP公布舆图服务</b>
起首先容下用于公布舆图服务的ArsIMS
ArsIMS是一个由Presentation层,BusinessLogic层,data层构成的多层架构,别的,它另有一个用于办理舆图网页公布的使用程序集.
(1)presentation层是ArcIMS的客户端,能够取得,扫瞄和剖析地舆数据(geographicdata)
(2)businesslogic层的组件用于哀求处置和ArcIMS的网页办理
(3)data层包括了一切ArcIMS可用的数据源
(4)使用程序集为businesslogic层Authoring,Designing,AdminiseringArcIMSService供应出口

businesslogic层是全部ArcIMS的中心,是卖力客户端和数据源交互的两头历程,包含服务启动和处置哀求(request)和反响(response).
一个哀求处置的历程是:
当一个包括地舆数据剖析的哀求从客户端抵达WebServer(Tomcat,IIS等)时,WebServer必要将哀求传送给ArcIMSApplicationServer,它是一个背景实行的程序,传送哀求到ArcIMSSpatialServer,并列出ArcIMSSpatialServer正在运转的服务.后者处置哀求,前往一个Response,这个Response逆序传到客户端,由客户端剖析
(parse)并出现.
这个过程当中因为WebServer从客户端取得的哀求多是多种言语情势的,而ArcIMSApplicationServer和ArcIMSSpatialServer之间的交互是经由过程ArcXML(animplementationofXMLusedwithArcIMS)来举行的.以是在WebServer和ArcIMSApplicationServer之间必要有一个connector作为ArcXML的翻译器,ArcIMS自带了四种可选的connector:
ArcIMSServletConnectorArcIMS默许的connector,HTML,JavaCustom,andJavaStandard视图都可.ArcIMS自带的ArcExplorer,ArcMap,和ArcPad也用这个connector.
ArcIMSColdFusionConnector不懂
ArcIMSActiveXConnector撑持ASP
ArcIMSJavaConnector撑持JSP

接纳甚么connector这内里除有个选择的开辟言语外,另有功能的成绩(即ClientSideversusServerSideProcessing).
选用ArcIMSServletConnector,是ClientSideProcessing,应当就是所谓的"胖客户"吧,客户端发生间接ArcXML情势的哀求,connector没有任何剖析感化,只是传送ArcXML哀求和回应,客户端必要剖析ArcXML回应以出现舆图.
选用JavaConnector,是所谓的"瘦客户",ArcXML的一切处置,包含哀求和回应,都是在服务器端完成的.Jsp传送一个哀求,WebServer先承受这个哀求,JavaConnector将这个哀求翻译为ArcXML,然后传交给ApplicationServer和ArcIMSSpatialServer.当ArcIMSSpatialServer发生回应,原路前往到JavaConnector时,JavaConnector又将这个ArcXML情势的回应翻译为JSP的回应,再经由过程WebServer传给客户端,并静态更新JSP.

很分明利用JavaConector客户真个速率会快良多,由于舆图的矢量数据对照年夜,一切的哀求和回应都在客户端举行将影响功能.



下文会商用JSP公布舆图网页的两种情势.
利用Java框架来公布ArcIMS,必要有JavaVM,WebServer和Servlet引擎.在我的电脑上,利用的是java1.4sdk,Tomcat,JavaConnector.
因为我本人对Servlet懂得不深,说一点本人的看法,以期举一反三.
<b>Servlet是嵌进在WebServer中的,经由过程一组servletAPI使JavaVM和WebServer毗连起来,以完成对JSP等包括JAVA言语的哀求的处置.</b>以是这里的JavaVM不克不及利用JRE(JavaRuntimeEnviroment),由于它只运转java的class文件,不举行编译,而必要JDK(JavaDevelopingKit).
ArcIMS中自带了JavaConnector,它是以.jar情势存在的,利用时应将它放在WEB-INF下的lib文件下.

JavaConnector自带了一组JavaBean和一个JSPTag库.二者总的功效都是将JSP的哀求转化成ArcXML.
这些Javabean是编写自力和可重用的组件成为大概.它们都有一系列优秀封装的Set,Get办法,我们能够使用这些JavaBean和它们的办法来完成舆图的各类显现功效,刻画舆图标记(点,线等),增添静态图层,查询相干数据,办理和判别服务等,我的了解是ArcGIS等地舆画图软件能够做到的功效,在这些JavaBean中都可找到响应的办法.这些JavaBean组成了ArcIMSJavaConnectorObjectModel.
JSPTag库是创建在ArcIMSJavaConnectorObjectModel上的JSP标志的汇合.这些标志供应了ObjectModel的接口.我们能够以为这个标志是JavaConnector中的Connector.由于它毗连了JSP和JavaBean.用这类标志言语Tag的写的JSP哀求由JSPTag库转化成JavaBean可以辨认的对象,这些JavaBean再将哀求转化成ArcXML.
JSPTag库包括标志(Tag)的称号,属性,和嵌套的标志(Tag).
上面给出一个利用JSPTag库的JSP例子,可以用JSP公布一幅舆图有缩小功效.

example.jsp
<%@pagecontentType="text/html"%>
<%@tagliburi="arcims_taglib.tld"prefix="aims"%>
<%
StringtheMapAction=request.getParameter("mapaction");
Stringx=request.getParameter("map.x");
Stringy=request.getParameter("map.y");

StringmapMaxX=null;
StringmapMaxY=null;
StringmapMinX=null;
StringmapMinY=null;

if(request.getParameter("maxx")!=null){
if(!request.getParameter("maxx").equalsIgnoreCase("")){
mapMaxX=request.getParameter("maxx");
mapMaxY=request.getParameter("maxy");
mapMinX=request.getParameter("minx");
mapMinY=request.getParameter("miny");
}
}
%>

<aims:tcpConnectionid="myConnection"host="localhost"port="5300"debug="true"/>
<aims:mapServiceid="myMapService"connectionId="<%=myConnection%>"name="NetUniversity"loadEnvelope="false"loadExtensions="false"loadRecordset="false"loadRenderer="false"/>
<aims:mapid="myMap"serviceId="<%=myMapService%>"width="500"height="350"envelope="myEnvelope">
<%
if(request.getParameter("maxx")!=null){
if(!request.getParameter("maxx").equalsIgnoreCase("")){%>
<aims:envelopeminx="<%=mapMinX%>"miny="<%=mapMinY%>"maxx=">%=mapMaxX%<"maxy="<%=mapMaxY%>"/>
<%
}
}

if(theMapAction!=null){
if(theMapAction.equals("zoomin")){
%>
<aims:zoomfactor="2"x="<%=x%>"y="<%=y%>"/>
<%
}
}
%>
</aims:map>

<html><head><title>SimpleZoomIn</title></head><body>
<palign="center">
<formaction="example.jsp"method="post">
<tableborder="1"cellpadding="5"width="500"align="center">
<tr><tdalign="center">
<inputtype="image"name="map"src="<%=myMap%>">
</td></tr>
</table>
<inputtype="hidden"name="mapaction"value="zoomin">
<inputtype="hidden"name="maxx"value="<%=myEnvelope.getMaxX()%>">
<inputtype="hidden"name="maxy"value="<%=myEnvelope.getMaxY()%>">
<inputtype="hidden"name="minx"value="<%=myEnvelope.getMinX()%>">
<inputtype="hidden"name="miny"value="<%=myEnvelope.getMinY()%>">
</form>
</p>
</body>
</html>


用JSP公布舆图上风是分明的,毗连Oacle数据库只需写一个数据库毗连的JavaBean就能够完成,也能够读取舆图上Symbol的信息作为查询前提,设想的远景是优美的.

临时先写到这里,因为库中JavaBean较多,相干办法也不分明,大概是分明办法不克不及写程序,如今十分忧郁.还请人人出格是师兄们给我指导迷津.



你精通任何一门语言就最强大。现在来看,java的市场比C#大,C#容易入手,比较简单,java比较难
飘飘悠悠 该用户已被删除
沙发
发表于 2015-1-21 09:38:10 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
小女巫 该用户已被删除
板凳
发表于 2015-1-30 14:00:11 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
蒙在股里 该用户已被删除
地板
发表于 2015-2-5 12:23:58 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
简单生活 该用户已被删除
5#
发表于 2015-2-7 02:21:14 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
莫相离 该用户已被删除
6#
发表于 2015-2-9 20:54:31 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
爱飞 该用户已被删除
7#
发表于 2015-2-17 02:54:28 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
谁可相欹 该用户已被删除
8#
发表于 2015-3-2 13:52:38 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
老尸 该用户已被删除
9#
发表于 2015-3-11 03:53:12 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
admin 该用户已被删除
10#
发表于 2015-3-11 07:06:17 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
变相怪杰 该用户已被删除
11#
发表于 2015-3-17 06:10:19 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
兰色精灵 该用户已被删除
12#
发表于 2015-3-20 22:35:34 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
若天明 该用户已被删除
13#
发表于 2015-3-21 00:09:03 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
灵魂腐蚀 该用户已被删除
14#
发表于 2015-3-27 09:09:32 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
不帅 该用户已被删除
15#
发表于 2015-3-29 05:14:32 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
活着的死人 该用户已被删除
16#
发表于 2015-4-1 20:10:10 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
小妖女 该用户已被删除
17#
发表于 2015-4-15 19:46:02 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
逍遥一派 该用户已被删除
18#
 楼主| 发表于 2015-4-26 10:46:07 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
飘灵儿 该用户已被删除
19#
发表于 2015-4-27 08:51:34 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
小魔女 该用户已被删除
20#
发表于 2015-5-9 18:06:23 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 12:51

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表