??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲无成人网77777,亚洲日本视频在线观看,亚洲日本va在线观看http://www.tkk7.com/qiyadeng/专注于JavaCZ及教E?/description>zh-cnSat, 10 May 2025 00:32:42 GMTSat, 10 May 2025 00:32:42 GMT60云监控服务比?/title><link>http://www.tkk7.com/qiyadeng/archive/2014/11/25/420575.html</link><dc:creator>qiyadeng</dc:creator><author>qiyadeng</author><pubDate>Tue, 25 Nov 2014 09:49:00 GMT</pubDate><guid>http://www.tkk7.com/qiyadeng/archive/2014/11/25/420575.html</guid><wfw:comment>http://www.tkk7.com/qiyadeng/comments/420575.html</wfw:comment><comments>http://www.tkk7.com/qiyadeng/archive/2014/11/25/420575.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.tkk7.com/qiyadeng/comments/commentRss/420575.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/qiyadeng/services/trackbacks/420575.html</trackback:ping><description><![CDATA[<br /> <p style="margin-bottom: 1.3em; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">现在做互联网产品的团队都比较?yu),也可能没有特别多q维人员。因此特别需要用一些系l或是工h监控服务器或者是服务是否正常。之前比较直接的做法是自己搭Z套开源的监控pȝQ现在随着云服务器的流行,也有来多的h用户会用云端的监控q_?/p> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">从我的经验来看,云服务器监控是有些特别的好处的:</div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">1.自徏的监控^収ͼ有一部分问题是没办法发出警报。比如,一般监控服务器也会在内部网l中Q如果出现外部网l问题,监控服务是没办法通知到相关h员(因ؓ发邮件或者是发短信的通\也会出现问题Q?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">2.自徏的监控^収ͼ只能到一个点的访问情c阿里云监控q_可以杭州和青岛两个节点Q这是我的帐L到的Q,可以比较有效C解非监测点的一个访问情c?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">3.云监控^台都有一套不错的理界面Q可有效减少部vl护和用成本?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;"><br /> </div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">下面我介l一下,我用过的一些云监控q_Qƈ对他们的优点和缺点进行比较?/div> <h3 style="color: #333333; font-family: Helvetica, Arial, sans-serif; line-height: 30px; background-color: #ffffff;">阉K云监?/h3> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">阉K的云服务器在市场中是做的很不错的Q我的很多朋友都购买了阿里的云服务器。以阉K的公司实力,做一ƾ云监控的品应该不会差到哪里去?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">优点Q?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">1.产品体验好,q入住界面就能轻而易举找C惌的功能?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">2.监控功能全,包括站点监控、服务器监控和自定义监控?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">3.多点监控Q可以在全国提供几个点的监控。从用户的角度了解服务是否可用?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">4.站点监控功能也很全面Q包含SMTP、POP3、FTP监控?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">5.免费Q且监控站点数没限制?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">~点Q?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">1.服务器监控和自定义监控,要求是云服务器,如果不是云服务器Q只能用站Ҏ(gu)功能?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;"><br /> </div> <h3 style="color: #333333; font-family: Helvetica, Arial, sans-serif; line-height: 30px; background-color: #ffffff;">360|站服务监控</h3> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">360的个人用户品很用,但是360的企业品还真有不少做的不错的。说?60监控的优~点?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">优点Q?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">1.提供服务器监控。可以监控到服务器的盘QCPUQ内存等情况?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">2.UI和告警都设计的不错?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">3.免费?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">~点Q?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">1.需要在服务器上开SNMP协议。(不过360提供很多脚本工具Q可以一键安装)</div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">2.?0台服务器的限制。(q个基本上够用,过20台服务器Q可以购买服务了Q?/div> <h3 style="color: #333333; font-family: Helvetica, Arial, sans-serif; line-height: 30px; background-color: #ffffff;">监控?/h3> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">名字很专一Q一看就知道是专业做监控的?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">优点Q?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">1.专注监控Q界面设计还可以?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">2.监控功能全面Q内|采集的方式较多。可以采集数据库数据?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">~点Q?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">1.免费用户Q服务器和网站监控都有限Ӟ而且数量极少2台服务器监控Q?台网站监控?/div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;"><br /> </div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;"><hr /> </div> <div style="color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 17px; line-height: 30px; background-color: #ffffff;">作者简介:<a target="_blank" data-mce->qiyadeng</a>(www.qiyadeng.com)对互联网技术、运营及市场领域有浓厚的兴趣Q喜爱思考、阅诅R讨论;擅长Java开发及分布式技术。现专注于互联网的创C?#8211;<a target="_blank" data-mce->老来?/a>(http://www.laolaibao.com)Q帮助年ȝ戯得补充养老金Qƈ提供养老金增g品?/div><img src ="http://www.tkk7.com/qiyadeng/aggbug/420575.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/qiyadeng/" target="_blank">qiyadeng</a> 2014-11-25 17:49 <a href="http://www.tkk7.com/qiyadeng/archive/2014/11/25/420575.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2014 中华架构师大?回顾http://www.tkk7.com/qiyadeng/archive/2014/11/17/420181.htmlqiyadengqiyadengMon, 17 Nov 2014 06:57:00 GMThttp://www.tkk7.com/qiyadeng/archive/2014/11/17/420181.htmlhttp://www.tkk7.com/qiyadeng/comments/420181.htmlhttp://www.tkk7.com/qiyadeng/archive/2014/11/17/420181.html#Feedback0http://www.tkk7.com/qiyadeng/comments/commentRss/420181.htmlhttp://www.tkk7.com/qiyadeng/services/trackbacks/420181.html 
比较?yu)参加这cd型的会议Q进C场的W一|发现会议室已l全部坐满,后来d方发现站的h太多了,找来了一些小板凳Q我快速找C个小板凳坐下。坐下开始认真听Q非常开心地听到q告旉l束Q和我计划的旉完美一致?/div>

回顾一下我比较关系的几个主?/div>

Z用户d的大数据实例

演讲嘉宾是联通沃商店的大数据技术经理,该大数据实例主要是通过联通营q商的数据和沃商店进行分析,通过l制用户d的Ş式,在其他应用场景,如广告、游戏下载中为用h荐用户喜Ƣ的产品。可以看出来嘉宾技术实例及基础功是十分不错Q至是一个硕士毕业。近些年被大家挂在嘴边的机器学习法、推荐算法、语义分析都有部分介l,实在是接受不q来Q比较熟(zhn)的q是我们当初士的专业方向推荐算法,看到了简单的介绍觉得很亲切。不q后来提问环节看Q现是很多高人,有不是做这个领域的。不q归Ҏ(gu)国有企业和类似研I机构,是否能生非常大的h(hun)|我表C怀疑,不过q些法一|列Q对l费的分配还是很有好处的?/div>

?sh)商pȝ的心得分?/span>

q又是一个国有企业,L是线上卖大力丸的人(国药1健康Q。从技术成长ؓȝ理,有很多心得体会。感觉和我有那么一点像Q有一些体会也q不及待的分析给q些q轻的IT从业者,Zh严肃QL会把困难估计的充分一点(估计q轻也没教学费Q。演讲中说了构徏pȝ中的四个原则
权限独立Q相互制U?/div>
非常务实的看到某些大型企业的Q部门斗争。从pȝ层面开始设计制U(q个应该非常W合老板心意Q。这个对很多型企业在成才过E中是非常有帮助的?/div>
设计程  减少犯错
在电(sh)商行业非常清楚客服和仓库的员工流动性,以及普遍受教育程度偏低,通过程设计Q而不是提高对用h的要求。这也是非常务实的方法。回之前在pȝ层面独自设计支持中央预订pȝQ设计出来的自动传真Q当时网l不如现在易得)及新订单提醒Q感谢施ȝ支持Q增加音响进行声韻I{等Q简直觉得找C知音?/div>
多了解一些胦务知识?/div>
谈到的两Ҏ(gu)数据之间需要有勄关系和不能修改历史数据,很骄傲我对胦务的理解q是不错Q从未犯q这U不靠谱的错误?/div>

跨^台大型在U客服系l的技术构?/span>

嘉宾谈了的是一套客服系l,比较多的关键字是客服妹子Q可以看出IT从业者苦中作乐的_。给我的体会是,客服pȝ都可以做成这栗从一个项目到一个品,在云计算的世界,可以好一个客服的lgQ也是有很大的h(hun)倹{和我的理想事业很接q,可以׃一生中最_֍的时_做好一个有价值的众专业的行业?/div>

阉K分布式数据库服务实践

阉K的h是高调Q上场就调戏京东?1前系l崩溃。我也经历过很多pȝ崩溃Q简直是开发h员的噩梦Q也是IT人员信用受损的严重事Ӟ因此我一直比较注意防止崩溃及崩溃后的快速恢复)。回到分布式数据库,q个是收h大的一个演讌Ӏ虽然这个演讲看上去是再l阿里云的DRDS做宣传,但是嘉宾演讲的很q行Q深入浅出地介绍了分布式数据库和单机数据库的区别。对分布式事务的重新认识是一个很大的收获Q以前一直把教程中的数据库原理中的事务定义,作ؓ分布式事务需要解决的问题Q其实不是。需要更加务实,在淘宝阿里这c订单处理系l中Q有一cd分布式事务的模式Q异步消息机ӞQ在其他领域会有其他模式分布式的事务模型Q这些分布式模型肯定都不满单机的事务模型,但是可以满和解决相应领域的问题?/div>

q_架构的服务器监控

一个APP的监控模型,猜测目立项的原因,有两个。一个是和竞争对手的数据比较QUPYUN的对手主要是七牛Q,一个其实可以真正从用户的角度看Q用L体检速度如何Q以及媄响用户体验速度的真实原因。目前一般行业还不会做的q么l,因ؓUPYUN是技术支持公司,因此一定需要用q些数据去说服和支持用户。我们现在做的比较多的服务器的可用性、性能和应用的可用性、性能监控。前端时间刚好再比较Q发C联网上有不少好的监控q_Q一般的创业公司Q可以无需自己搭徏监控q_Q接入到相应的监控^台即可。下ơ再开文进行讨论?/div>


作者简介:qiyadeng(www.qiyadeng.com)对互联网技术、运营及市场领域有浓厚的兴趣Q喜爱思考、阅诅R讨论;擅长Java开发及分布式技术。现专注于互联网的创C?-老来?/a>(http://www.laolaibao.com)Q立志于帮助q大凤凰QdiaoQ男QsiQ提供补充养老金理q_?/em>



qiyadeng 2014-11-17 14:57 发表评论
]]>google guava使用例子/C(一)http://www.tkk7.com/qiyadeng/archive/2013/06/13/400529.htmlqiyadengqiyadengThu, 13 Jun 2013 15:18:00 GMThttp://www.tkk7.com/qiyadeng/archive/2013/06/13/400529.htmlhttp://www.tkk7.com/qiyadeng/comments/400529.htmlhttp://www.tkk7.com/qiyadeng/archive/2013/06/13/400529.html#Feedback1http://www.tkk7.com/qiyadeng/comments/commentRss/400529.htmlhttp://www.tkk7.com/qiyadeng/services/trackbacks/400529.html阅读全文

qiyadeng 2013-06-13 23:18 发表评论
]]>
你应该知道的8个Java牛hhttp://www.tkk7.com/qiyadeng/archive/2013/05/08/399025.htmlqiyadengqiyadengWed, 08 May 2013 13:56:00 GMThttp://www.tkk7.com/qiyadeng/archive/2013/05/08/399025.htmlhttp://www.tkk7.com/qiyadeng/comments/399025.htmlhttp://www.tkk7.com/qiyadeng/archive/2013/05/08/399025.html#Feedback1http://www.tkk7.com/qiyadeng/comments/commentRss/399025.htmlhttp://www.tkk7.com/qiyadeng/services/trackbacks/399025.html单介l一?个Java牛hQ他们ؓJavaC֌Q创Z框架QframeworkQ?产品或者是写书Q媄响甚x变了Java开发的Ҏ(gu)(Ҏ(gu)个h喜好排序)?

8.Tomcat创始?

James Duncan DavidsonQ是当时Sun公司的Y件工E师Q?997-2001Q,创徏了Java的Web服务器TomcatQTomcatq泛应用于Java Web开发的各个领域?

7.试驱动开发JUnit创始?

Kent Beck,极限~程和测试驱动开发方法的~造者。此外,他还创造了JUnit,JUnit目前一ơ成为Java开发测试的事实标准。基于测试驱动的开发方法和JUnitlJava开发的Ҏ(gu)带了巨大的变化?

6.Java Collections框架设计?

Joshua Bloch,领导设计了Javaq_的许多功能,包括Java 5.0 版本中饱受赞誉的Java Collections框架?004q他dSun公司Q成为Google的首席Java架构师,此外他的著作“Effective Java”基本上是学习Java的必M书?

5.JBoss创始?

Marc Fleury,?001q创造了JBossQJBoss是一个Java开源的应用服务器,也已l成为Java Web应用部v中的事实标准。后来他把JBoss买给了RedHatQ之后l从事JBoss的开发工作。不q?007q他d了RedHat去追求他的个人爱好?

4.Struts创始?

Craig Mcclanahan,创徏了StrutsQ一个流行的ZJava的MVC开源框Ӟ基本上很多Java开发者都知道如何开发Struts的应用程序?

3.Spring创始?

Rod JohnsonQSpring框架的创始hQSpring Source的CEO。Spring是一个非常流行的Java应用E序开发的开源框架。此外,他的著作Expert One-to-One J2EE Design and DevelopmentQ是J2EE最有媄响力的一本书?

2.Hibernate创始?

Gavin KingQHibernate的创始hQ一个流行的Java ORM解决Ҏ(gu)Q同时他也是Seam的创始hQ此外他为EJB3.0和JPA也做ZH出的A献?

1.Java之父

James Gosling,1994q发明了Java语言Q他创徏了Java~译器和虚拟机。在2010q_当Oracle收购Sun公司Ӟ他离开了Sun公司?

原创文章Q作者:qiyadengQ{载请注明Q?/strong> 转蝲?a >http://www.qiyadeng.com/

本文链接地址: 你应该知道的8个Java牛h

qiyadeng 2013-05-08 21:56 发表评论
]]>
癑ֺ开发者中心BAE新徏Java应用http://www.tkk7.com/qiyadeng/archive/2013/04/21/398153.htmlqiyadengqiyadengSun, 21 Apr 2013 05:35:00 GMThttp://www.tkk7.com/qiyadeng/archive/2013/04/21/398153.htmlhttp://www.tkk7.com/qiyadeng/comments/398153.htmlhttp://www.tkk7.com/qiyadeng/archive/2013/04/21/398153.html#Feedback0http://www.tkk7.com/qiyadeng/comments/commentRss/398153.htmlhttp://www.tkk7.com/qiyadeng/services/trackbacks/398153.html1.甌开发者帐?/h4>

首先注册癑ֺ的帐P然后甌成ؓ癑ֺ开发者(需要通过手机q行w䆾证验证)?/p>

2.新徏应用

点击菜单中的创徏应用Q我们目前选择的是Web应用?/p>

应用创徏之后Q选择左边菜单的云环境Q环境类型需要选择JAVA?/p>

q新创徏一个版本,输入1作ؓ版本?/p>

3.在百度集成开发环境中开始开?/h4>

癑ֺ提供了基于Eclipse的插Ӟ׃该插件不能支持最新的Eclipse版本。徏议下载百度的一键安装版?/a>。百度文档中介绍了如何用开发环境,详细L集成开发环境?/a>?/p>

打开癑ֺ集成开发环境,在Eclipse左下角点击Login to BaiduQ用你的̎L陆。然后点dh中百度LogoQ选择Import BAE ProjectQ填入application和version

之后选择Java作ؓProject Language?/p>

4.解决目错误

刚导入的BAE projectQ在Eclipse中会报错。通过problems view可以看到是因为JRE环境配置不正和Webq行环境讄不正?/p>

A.右键目属?-选择JavaBuildPath,在Libraries中选择Add Library,之后再选择JRE System Library?/p>

B.接下来把Java project转换为Java Web ProjectQ?a >Eclipse中Java Project转换为Java web ProjectQ,注意如果你的tomcat?版本的话Q请注意选择Dynamic web Module的版本不过2.5?/p>

讄Web应用的运行环境,在servers view中新Z个tomcat服务器?/p>

C.和AcMQ在Java Build Path中加?Server RuntimeQ选择Tomcat?/p>

D.修改hello.jspQ在hello.jsp中加入如下代?/p>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

E.把项目部|到tomcat中?/p>

x目错误全部解决Q应该可以看到运行结果?/p>

5.新徏Servert试

新徏一个ServletQHomeServletQEclipse会自动在web.xml中加入配|信?HomeServet.java和web.xml的部分代码如下:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("<h1>BAE Servlet Test.</h1>");
}

web.xml中部分代?/p>

<servlet>
<description></description>
<display-name>HomeServlet</display-name>
<servlet-name>HomeServlet</servlet-name>
<servlet-class>com.qiyadeng.HomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HomeServlet</servlet-name>
<url-pattern>/HomeServlet</url-pattern>
</servlet-mapping>

q行tomcatQ可以看到如下运行成功,q样你就可以像一般的Java Web Project一栯行开发?

6.最?/h4>

BAE中Java环境中百度用的JettyQ而不是tomcatQJetty的好处是不需要频J的重启Q修改的代码x可看到q行l果?/p>

通过SVN提交代码到BAEQ如果有需要做的修改Q可以通过癑ֺ的在U编辑工L接修攏V?/p>

原创文章Q{载请注明Q?/strong> 转蝲?a >http://www.qiyadeng.com/

本文链接地址: 癑ֺ开发者中心BAE新徏Java应用



qiyadeng 2013-04-21 13:35 发表评论
]]>癑ֺ开发者中心BAE新徏Java应用http://www.tkk7.com/qiyadeng/archive/2013/04/21/398152.htmlqiyadengqiyadengSun, 21 Apr 2013 05:33:00 GMThttp://www.tkk7.com/qiyadeng/archive/2013/04/21/398152.htmlhttp://www.tkk7.com/qiyadeng/comments/398152.htmlhttp://www.tkk7.com/qiyadeng/archive/2013/04/21/398152.html#Feedback12http://www.tkk7.com/qiyadeng/comments/commentRss/398152.htmlhttp://www.tkk7.com/qiyadeng/services/trackbacks/398152.html1.甌开发者帐?/h4>

首先注册癑ֺ的帐P然后甌成ؓ癑ֺ开发者(需要通过手机q行w䆾证验证)?

2.新徏应用

点击菜单中的创徏应用Q我们目前选择的是Web应用?

应用创徏之后Q选择左边菜单的云环境Q环境类型需要选择JAVA?

q新创徏一个版本,输入1作ؓ版本?

3.在百度集成开发环境中开始开?/h4>

癑ֺ提供了基于Eclipse的插Ӟ׃该插件不能支持最新的Eclipse版本。徏议下载百度的一键安装版?/a>。百度文档中介绍了如何用开发环境,详细L集成开发环境?/a>?

打开癑ֺ集成开发环境,在Eclipse左下角点击Login to BaiduQ用你的̎L陆。然后点dh中百度LogoQ选择Import BAE ProjectQ填入application和version

之后选择Java作ؓProject Language?

4.解决目错误

刚导入的BAE projectQ在Eclipse中会报错。通过problems view可以看到是因为JRE环境配置不正和Webq行环境讄不正?

A.右键目属?-选择JavaBuildPath,在Libraries中选择Add Library,之后再选择JRE System Library?

B.接下来把Java project转换为Java Web ProjectQ?a >Eclipse中Java Project转换为Java web ProjectQ,注意如果你的tomcat?版本的话Q请注意选择Dynamic web Module的版本不过2.5?

讄Web应用的运行环境,在servers view中新Z个tomcat服务器?

C.和AcMQ在Java Build Path中加?Server RuntimeQ选择Tomcat?

D.修改hello.jspQ在hello.jsp中加入如下代?/p>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

E.把项目部|到tomcat中?

x目错误全部解决Q应该可以看到运行结果?

5.新徏Servert试

新徏一个ServletQHomeServletQEclipse会自动在web.xml中加入配|信?HomeServet.java和web.xml的部分代码如下:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("<h1>BAE Servlet Test.</h1>");
}

web.xml中部分代?/p>

<servlet>
<description></description>
<display-name>HomeServlet</display-name>
<servlet-name>HomeServlet</servlet-name>
<servlet-class>com.qiyadeng.HomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HomeServlet</servlet-name>
<url-pattern>/HomeServlet</url-pattern>
</servlet-mapping>
q行tomcatQ可以看到如下运行成功,q样你就可以像一般的Java Web Project一栯行开发?

6.最?/h4>

BAE中Java环境中百度用的JettyQ而不是tomcatQJetty的好处是不需要频J的重启Q修改的代码x可看到q行l果?

通过SVN提交代码到BAEQ如果有需要做的修改Q可以通过癑ֺ的在U编辑工L接修攏V?


原创文章Q{载请注明Q?/strong> 转蝲?a >http://www.qiyadeng.com/

本文链接地址: 癑ֺ开发者中心BAE新徏Java应用




qiyadeng 2013-04-21 13:33 发表评论
]]>在Java中避免空指针异常(Null Pointer Exception)http://www.tkk7.com/qiyadeng/archive/2013/04/11/397721.htmlqiyadengqiyadengThu, 11 Apr 2013 15:08:00 GMThttp://www.tkk7.com/qiyadeng/archive/2013/04/11/397721.htmlhttp://www.tkk7.com/qiyadeng/comments/397721.htmlhttp://www.tkk7.com/qiyadeng/archive/2013/04/11/397721.html#Feedback0http://www.tkk7.com/qiyadeng/comments/commentRss/397721.htmlhttp://www.tkk7.com/qiyadeng/services/trackbacks/397721.htmlI指针异?Null Pointer Exception)是我们^时最Ҏ(gu)到的,也是最令h讨厌的异常。本文介l如何避免出现空指针异常?

首先我们看如下的CZ

private Boolean isFinished(String status) {  
if (status.equalsIgnoreCase("Finish")) {
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}


如果status的gؓI的话,那么会出现I指针异常(本例W?行)。所以我们应该用如下的Ҏ(gu)
private Boolean isFinished(String status) {
if ("Finish".equalsIgnoreCase(status)) {
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}

q样的话Q如果status为空Q也不会出现I指针异常。相信我们大多数朋友已经知道q样的方法了Q如果一个对象可能ؓnullQ那么不需要直接调用它的方法?

接下来我接着提供几种避免I指针的?

1.判断Collection是否为空?

2.使用一些判断方法?

3.assert关键字?

4.AssertcR?

5.异常处理?

6.太多的点.操作语法?

7.使用StringUtilsc?

1.判断Collection是否为空

Collection 为空是指Collection中没有元素。一些开发者如果碰到Collection中没有元素的时候,l常return nullQ更好的做法是,你应该return Collections.EMPTY_LIST,Collections.EMPTY_SET或者是Collections.EMPTY_MAP.

错误的代?/p>

public static List getEmployees() {  
List list = null;
return list;
}

正确的代?/p>

public static List getEmployees() {  
List list = Collections.EMPTY_LIST;
return list;
}


2.使用一些判断方?/h4>

使用一些方法如contains(),indexOf(),isEmpty(),containsKey(),ContainsValue和hasNext(){来判断Q确保不存在I倹{?

CZQ?/p>

String myName = "qiyadeng";  

List list = Collections.EMPTY_LIST;
boolean exist = list.contains(myName);
int index = list.indexOf(myName);
boolean isEmpty =list.isEmpty();

Map map =Collections.EMPTY_MAP;
exist=map.containsKey(myName);
exist=map.containsValue(myName);
isEmpty=map.isEmpty();

Set set=Collections.EMPTY_SET;
exist=set.contains(myName);
isEmpty=set.isEmpty();

Iterator iterator;
exist = iterator.hasNext();

3.assert关键?/h4>

在Java1.4版本之后Q提供了断言assert来确定你的代码中的假设。用的语法如下Q?/p>

assert expression1

expression1是一个boolean表达式,如果expression1q回的falseQ系l将会抛出AssertError(没有详细信息)?

另外一U用方?/p>

assert expression1:expression2

如果expression1q回falseQ那么系l将会抛出AssertErrorQƈ且详l信息ؓexpression2?

CZQ?/p>

public static String getManager(String employeeId) {  
assert (employeeId != null) : "employeeId must be not null";
return "qiyadeng";
}

我用getManager(null)来调用getMangerҎ(gu)Q最后运行的l果?java.lang.AssertionError:employeedId must be not null"
注意记得使用java选项中加?enableassertion开启assertion功能?/blockquote>

4.Assertc?/h4>

Assertcdcom.bea.core.repackaged.springframework.util包中Q有许多Ҏ(gu)可以用于断言?/p>

public static String getManager(String employeeId) {  
Assert.notNull(employeeId, "employeeId must be not null");
Assert.hasLength(employeeId, "employeeId must has length greater than 0");
return "qiyadeng";
}

当我同样使用getManager(null)来调用getManagerҎ(gu)Q将获得信息"java.lang.IllegalArgumentException: employeeId must be not null"?

5.异常处理

使用try catch处理异常或是查变量是否ؓI?/p>

public static String getManager(String employeeId) {  
return null;
}

如上代码Q我使用下面Ҏ(gu)调用
String managerId = getManager("A015");  
System.out.println(managerId.toString());

会发生"java.lang.NullPointerException",Z处理q个异常Q我们应该用try catch来处理异常或者是查变量是否ؓnull?

try-catchҎ(gu)

String managerId = getManager("A015");  
try {
System.out.println(managerId.toString());
} catch (NullPointerException npe) {
//write your code here
}

或者是对变量进行检?
String managerId = getManager("A015");  
if (managerId != null) {
System.out.println(managerId.toString());
} else {
//write your code here
}

6.不要太多的点.操作语法

一些开发者用太多的q样的方法来减少代码Q但是这个对后面的维护和异常处理都是不太好的?

错误的写?/p>

String attrValue = (String)findViewObject("VO_NAME").getCurrentRow().getAttribute("Attribute_NAME");

正确的写?
ViewObject vo = findViewObject("VO_NAME");  
Row row = vo.getCurrentRow();
String attrValue = (String)row.getAttribute("Attribute_NAME");

7.使用StringUtilsc?/h4>

StringUtil是org.apache.commns.lang包中的类Q我们可以用该cL避免I指针异常?

例如 StringUtils.isEmpty(),StringUtils.isBlank,StringUtils.equals(){等Q更多的你可以参?a >文档?

Z不出现空指针异常Q在写代码的q程中需要时L查你的代码是否会抛出NullPointerExceptionQ如果你没有旉及时调整的话Q?/TODO标记Q便于你后面解决问题?/p>

原创文章Q{载请注明Q?/strong> 转蝲?a >http://www.qiyadeng.com/

本文链接地址: 在Java中避免空指针异常(Null Pointer Exception)



qiyadeng 2013-04-11 23:08 发表评论
]]>定路名、标志性徏{和商场名的l度U度http://www.tkk7.com/qiyadeng/archive/2013/03/27/397075.htmlqiyadengqiyadengWed, 27 Mar 2013 14:08:00 GMThttp://www.tkk7.com/qiyadeng/archive/2013/03/27/397075.htmlhttp://www.tkk7.com/qiyadeng/comments/397075.htmlhttp://www.tkk7.com/qiyadeng/archive/2013/03/27/397075.html#Feedback0http://www.tkk7.com/qiyadeng/comments/commentRss/397075.htmlhttp://www.tkk7.com/qiyadeng/services/trackbacks/397075.html

现在l常需要根据用h供的位置Q提供一些和位置相关的信息。有时可以直接确定用Ll度和纬度,有时不一定可以确定用Ll度和纬度信息,用户?通过输入一些\名、标志性徏{或是商场名{位|,但是我们的数据库可能q没有存法用户可能输入的q些位置信息的经度纬度,q时候可以用一些地图提供的 API来确定,用户所输入的位|信息的l度和纬度?/p>我们使用癑ֺ地图提供的GeoCoding API实现从位|信息到l度U度的{换,详细的用说明可以参?a target="_blank" data-ke-src="http://developer.baidu.com/map/geocoding-api.htm">GeoCoding API。我们这里做一个简单的演示


    public String getGeoCode(String query) throws ClientProtocolException, IOException{
        HttpClient httpClient 
= new DefaultHttpClient();
        String url 
= geoCodeRequestUrl(query);
        logger.log(Level.INFO, url);
        HttpGet httpget 
= new HttpGet(url);
        ResponseHandler
<String> responseHandler = new BasicResponseHandler();
        String responseBody 
= httpClient.execute(httpget, responseHandler);//癑ֺq回的经度纬度信息xml
        logger.log(Level.INFO,"baidu response:"+responseBody);
        
return responseBody;
    }
    
    
public String geoCodeRequestUrl(String query) throws UnsupportedEncodingException{
        String url 
= WeChatConstant.BASEURL + "geocoder?address=" + URLEncoder.encode(query,"UTF-8"+ "&key="
                
+ WeChatConstant.MAPKEY + "&output=" + WeChatConstant.OUTPUTFORMAT;
        
return url;
    }

使用JUnitq行试
    @Test
    
public void testGeoCode() throws Exception {
        BaiduMapService bms 
= new BaiduMapService();
        String response 
= bms.getGeoCode("上地十街十号");
        BaiduGeoCodeResponse res 
= BaiduGeoCodeResponse.getBaiduGeoCode(response);//解析xml
        System.out.println(res.toString());
    }


输出的结?/div>
<GeocoderSearchResponse> 
    
<status>OK</status>
    
<result>
                    
<location>
                
<lat>40.057098</lat>
                
<lng>116.307175</lng>
            
</location>    
            
<precise>1</precise>
            
<confidence>80</confidence>
            
<level>道\</level>
            
</result>    
</GeocoderSearchResponse>
BaiduGeoCodeResponse [lat
=40.057098, lng=116.307175]

原创文章Q{载请注明Q?/strong> 转蝲?a >http://www.qiyadeng.com/

本文链接地址: 定路名、标志性徏{和商场名的l度U度




qiyadeng 2013-03-27 22:08 发表评论
]]>周边信息查询http://www.tkk7.com/qiyadeng/archive/2013/03/26/397023.htmlqiyadengqiyadengTue, 26 Mar 2013 14:45:00 GMThttp://www.tkk7.com/qiyadeng/archive/2013/03/26/397023.htmlhttp://www.tkk7.com/qiyadeng/comments/397023.htmlhttp://www.tkk7.com/qiyadeng/archive/2013/03/26/397023.html#Feedback0http://www.tkk7.com/qiyadeng/comments/commentRss/397023.htmlhttp://www.tkk7.com/qiyadeng/services/trackbacks/397023.htmlC一个较陌生的环境,l常会在周边找一些基设施Q比如银行,商场Q餐厅等Q还有一U更急切的是扑֎所Q。通过癑ֺ提供的地图APIQ可以在你的应用中简单做刎ͼ详情可阅?a target="_blank" data-ke-src="http://developer.baidu.com/map/place-api.htm">Place API。我们以查找周边银行作ؓCZQ需定的参数至有三个Q要查找的位|的l度和纬度,需要查扄内容的类型或是关键字?/div>
    public String getPalace(String query,String lat,String lng) throws ClientProtocolException, IOException{
        HttpClient httpClient 
= new DefaultHttpClient();
        String url 
= palceRequestUrl(query,lat,lng);
        logger.log(Level.INFO, url);
        HttpGet httpget 
= new HttpGet(url);
        ResponseHandler
<String> responseHandler = new BasicResponseHandler();
        String responseBody 
= httpClient.execute(httpget, responseHandler);//位置xml
        logger.log(Level.INFO,"baidu response:"+responseBody);
        
return responseBody;
    }
    
    
public String palceRequestUrl(String query,String lat,String lng) throws UnsupportedEncodingException {
        String url 
= WeChatConstant.BASEURL + "place/search?query=" + URLEncoder.encode(query,"UTF-8"+ "&key="
                
+ WeChatConstant.MAPKEY +"&location="+lat+","+lng +"&radius=2000"+"&output=" + WeChatConstant.OUTPUTFORMAT;
        
return url;
    }

Junit试

    @Test
    
public void testGetBaiduPlace() throws Exception{
        BaiduMapService bms 
= new BaiduMapService();
        String response 
= bms.getPalace("银行""39.915""116.404");
        List
<BaiduPlaceResponse> list = BaiduPlaceResponse.getBaiduPlace(response);
        
for(BaiduPlaceResponse res:list){
            System.out.println(res.toString());
        }
    }

输出内容(省略部分内容)

<?xml version="1.0" encoding="utf-8" ?>
<PlaceSearchResponse>
<status>OK</status>
<results>
<result>
<name>中国工商银行东长安街支行</name>
<location>
<lat>39.915891</lat>
<lng>116.41867</lng>
</location>
<address>东城Z长安?号东方广三办公楼1?/span></address>
<uid>a025683c73033c35a21de987</uid>
<detail_url>http://api.map.baidu.com/place/detail?uid=a025683c73033c35a21de987&amp;amp;output=html&amp;amp;source=placeapi</detail_url>
<tag>银行,王府?东单</tag>
</result>
</results>
</PlaceSearchResponse>
BaiduPlaceResponse [name=中国工商银行东长安街支行, telephone=null, address=东城Z长安?号东方广三办公楼1? lat=39.915891, lng=116.41867, tag=null, detailUrl=http://api.map.baidu.com/place/detail?uid=a025683c73033c35a21de987
&amp;output=html&amp;source=placeapi]

原创文章Q{载请注明Q?/strong> 转蝲?a >http://www.qiyadeng.com/

本文链接地址: 周边信息查询




qiyadeng 2013-03-26 22:45 发表评论
]]>
微信公众q_开发(三)--位置信息的识?/title><link>http://www.tkk7.com/qiyadeng/archive/2013/03/25/396983.html</link><dc:creator>qiyadeng</dc:creator><author>qiyadeng</author><pubDate>Mon, 25 Mar 2013 13:37:00 GMT</pubDate><guid>http://www.tkk7.com/qiyadeng/archive/2013/03/25/396983.html</guid><wfw:comment>http://www.tkk7.com/qiyadeng/comments/396983.html</wfw:comment><comments>http://www.tkk7.com/qiyadeng/archive/2013/03/25/396983.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/qiyadeng/comments/commentRss/396983.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/qiyadeng/services/trackbacks/396983.html</trackback:ping><description><![CDATA[<div><p>位置识别q是实际应用l常应用的消息,特别是很多商Ӟ通过了解用户位置Q给用户提供特别的品或是商场的推荐。其中用户可能发送两U类型的消息Q?/p><p>1.微信地理位置信息</p><p>2.路名、标志性徏{或是商场名U?/p><h2>1.微信地理位置消息</h2><p>认识一下,微信地理位置消息Q包含一些什么信?/p></div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; "><</span><span style="color: #800000; ">xml</span><span style="color: #0000FF; ">></span><span style="color: #000000; "><br /></span><span style="color: #0000FF; "><</span><span style="color: #800000; ">ToUserName</span><span style="color: #0000FF; ">></span><span style="color: #0000FF; "><![CDATA[</span><span style="color: #808080; ">toUser</span><span style="color: #0000FF; ">]]></span><span style="color: #0000FF; "></</span><span style="color: #800000; ">ToUserName</span><span style="color: #0000FF; ">></span><span style="color: #000000; "><br /></span><span style="color: #0000FF; "><</span><span style="color: #800000; ">FromUserName</span><span style="color: #0000FF; ">></span><span style="color: #0000FF; "><![CDATA[</span><span style="color: #808080; ">fromUser</span><span style="color: #0000FF; ">]]></span><span style="color: #0000FF; "></</span><span style="color: #800000; ">FromUserName</span><span style="color: #0000FF; ">></span><span style="color: #000000; "><br /></span><span style="color: #0000FF; "><</span><span style="color: #800000; ">CreateTime</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">1351776360</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">CreateTime</span><span style="color: #0000FF; ">></span><span style="color: #000000; "><br /></span><span style="color: #0000FF; "><</span><span style="color: #800000; ">MsgType</span><span style="color: #0000FF; ">></span><span style="color: #0000FF; "><![CDATA[</span><span style="color: #808080; ">location</span><span style="color: #0000FF; ">]]></span><span style="color: #0000FF; "></</span><span style="color: #800000; ">MsgType</span><span style="color: #0000FF; ">></span><span style="color: #000000; "><br /></span><span style="color: #0000FF; "><</span><span style="color: #800000; ">Location_X</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">23.134521</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">Location_X</span><span style="color: #0000FF; ">></span><span style="color: #000000; "><br /></span><span style="color: #0000FF; "><</span><span style="color: #800000; ">Location_Y</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">113.358803</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">Location_Y</span><span style="color: #0000FF; ">></span><span style="color: #000000; "><br /></span><span style="color: #0000FF; "><</span><span style="color: #800000; ">Scale</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">20</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">Scale</span><span style="color: #0000FF; ">></span><span style="color: #000000; "><br /></span><span style="color: #0000FF; "><</span><span style="color: #800000; ">Label</span><span style="color: #0000FF; ">></span><span style="color: #0000FF; "><![CDATA[</span><span style="color: #808080; ">位置信息</span><span style="color: #0000FF; ">]]></span><span style="color: #0000FF; "></</span><span style="color: #800000; ">Label</span><span style="color: #0000FF; ">></span><span style="color: #000000; "><br /></span><span style="color: #0000FF; "><</span><span style="color: #800000; ">MsgId</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">1234567890123456</span><span style="color: #0000FF; "></</span><span style="color: #800000; ">MsgId</span><span style="color: #0000FF; ">></span><span style="color: #000000; "><br /></span><span style="color: #0000FF; "></</span><span style="color: #800000; ">xml</span><span style="color: #0000FF; ">></span><span style="color: #000000; "> <br /></span></div><div><p>包含的主要信息有l度U度和Label的位|。可以根据label中描q的位置信息Q提供给用户对应的服务。也可根据用Ll度U度信息Q提供你最q的产品或是有地域性的产品?/p><p><img src="http://www.qiyadeng.com/wp-content/uploads/2013/03/20130325211752_99502.jpg" data-ke-src="/wp-content/uploads/2013/03/20130325211752_99502.jpg" alt="" /> </p>首先Ҏ(gu)微信的地理位|信息,定义WeChatLocationMessagec,q能把Xml转换为WeChatLocationMessage对象</div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">class</span><span style="color: #000000; "> WeChatLocationMessage {<br />    </span><span style="color: #0000FF; ">private</span><span style="color: #000000; "> String toUserName;<br />    </span><span style="color: #0000FF; ">private</span><span style="color: #000000; "> String fromUserName;<br />    </span><span style="color: #0000FF; ">private</span><span style="color: #000000; "> String createTime;<br />    </span><span style="color: #0000FF; ">private</span><span style="color: #000000; "> String msgType;<br />    </span><span style="color: #0000FF; ">private</span><span style="color: #000000; "> String locationx;<br />    </span><span style="color: #0000FF; ">private</span><span style="color: #000000; "> String localtiony;<br />    </span><span style="color: #0000FF; ">private</span><span style="color: #000000; "> String scale;<br />    </span><span style="color: #0000FF; ">private</span><span style="color: #000000; "> String label;<br />    </span><span style="color: #0000FF; ">private</span><span style="color: #000000; "> String msgId;<br />    <br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">static</span><span style="color: #000000; "> WeChatLocationMessage getWeChatLocationMessage(String xml){<br />        XStream xstream </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> XStream(</span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> DomDriver());<br />        WeChatLocationMessage  message </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">;<br />        xstream.alias(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">xml</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatLocationMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">ToUserName</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatLocationMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">toUserName</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">FromUserName</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatLocationMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">fromUserName</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">CreateTime</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatLocationMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">createTime</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">MsgType</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatLocationMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">msgType</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Location_X</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatLocationMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">locationx</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Location_Y</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatLocationMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">localtiony</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Scale</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatLocationMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">scale</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Label</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatLocationMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">label</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">MsgId</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatLocationMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">msgId</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        message </span><span style="color: #000000; ">=</span><span style="color: #000000; "> (WeChatLocationMessage)xstream.fromXML(xml);<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> message;<br />    }<br /></span><span style="color: #008000; ">//</span><span style="color: #008000; ">getter and setter</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">}</span></div><div>本文利用癑ֺ的地图APIQ查找最q的银行做ؓCZ?/div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String getPalace(String query,String lat,String lng) </span><span style="color: #0000FF; ">throws</span><span style="color: #000000; "> ClientProtocolException, IOException{<br />        HttpClient httpClient </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> DefaultHttpClient();<br />        String url </span><span style="color: #000000; ">=</span><span style="color: #000000; "> palceRequestUrl(query,lat,lng);<br />        logger.log(Level.INFO, url);<br />        HttpGet httpget </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> HttpGet(url);<br />        ResponseHandler</span><span style="color: #000000; "><</span><span style="color: #000000; ">String</span><span style="color: #000000; ">></span><span style="color: #000000; "> responseHandler </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> BasicResponseHandler();<br />        String responseBody </span><span style="color: #000000; ">=</span><span style="color: #000000; "> httpClient.execute(httpget, responseHandler);<br />        logger.log(Level.INFO,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">baidu response:</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">responseBody);<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> responseBody;<br />    }<br />    <br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String palceRequestUrl(String query,String lat,String lng) </span><span style="color: #0000FF; ">throws</span><span style="color: #000000; "> UnsupportedEncodingException {<br />        String url </span><span style="color: #000000; ">=</span><span style="color: #000000; "> WeChatConstant.BASEURL </span><span style="color: #000000; ">+</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">place/search?query=</span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; ">+</span><span style="color: #000000; "> URLEncoder.encode(query,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">UTF-8</span><span style="color: #000000; ">"</span><span style="color: #000000; ">) </span><span style="color: #000000; ">+</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">&key=</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />                </span><span style="color: #000000; ">+</span><span style="color: #000000; "> WeChatConstant.MAPKEY </span><span style="color: #000000; ">+</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&location=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">lat</span><span style="color: #000000; ">+</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">lng </span><span style="color: #000000; ">+</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&radius=2000</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&output=</span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; ">+</span><span style="color: #000000; "> WeChatConstant.OUTPUTFORMAT;<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> url;<br />    }</span></div>输出的结?br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; "><</span><span style="color: #000000; ">PlaceSearchResponse</span><span style="color: #000000; ">></span><span style="color: #000000; "><br />    </span><span style="color: #000000; "><</span><span style="color: #000000; ">status</span><span style="color: #000000; ">></span><span style="color: #000000; ">OK</span><span style="color: #000000; "></</span><span style="color: #000000; ">status</span><span style="color: #000000; ">></span><span style="color: #000000; "><br />    </span><span style="color: #000000; "><</span><span style="color: #000000; ">results</span><span style="color: #000000; ">></span><span style="color: #000000; "><br />        </span><span style="color: #000000; "><</span><span style="color: #000000; ">result</span><span style="color: #000000; ">></span><span style="color: #000000; "><br />            </span><span style="color: #000000; "><</span><span style="color: #000000; ">name</span><span style="color: #000000; ">></span><span style="color: #000000; ">中国工商银行东长安街支行</span><span style="color: #000000; "></</span><span style="color: #000000; ">name</span><span style="color: #000000; ">></span><span style="color: #000000; "><br />            </span><span style="color: #000000; "><</span><span style="color: #000000; ">location</span><span style="color: #000000; ">></span><span style="color: #000000; "><br />                </span><span style="color: #000000; "><</span><span style="color: #000000; ">lat</span><span style="color: #000000; ">></span><span style="color: #000000; ">39.915891</span><span style="color: #000000; "></</span><span style="color: #000000; ">lat</span><span style="color: #000000; ">></span><span style="color: #000000; "><br />                </span><span style="color: #000000; "><</span><span style="color: #000000; ">lng</span><span style="color: #000000; ">></span><span style="color: #000000; ">116.41867</span><span style="color: #000000; "></</span><span style="color: #000000; ">lng</span><span style="color: #000000; ">></span><span style="color: #000000; "><br />            </span><span style="color: #000000; "></</span><span style="color: #000000; ">location</span><span style="color: #000000; ">></span><span style="color: #000000; "><br />            </span><span style="color: #000000; "><</span><span style="color: #000000; ">address</span><span style="color: #000000; ">></span><span style="color: #000000; ">东城Z长安?号东方广三办公楼1?/span><span style="color: #000000; "></</span><span style="color: #000000; ">address</span><span style="color: #000000; ">></span><span style="color: #000000; "><br />            </span><span style="color: #000000; "><</span><span style="color: #000000; ">uid</span><span style="color: #000000; ">></span><span style="color: #000000; ">a025683c73033c35a21de987</span><span style="color: #000000; "></</span><span style="color: #000000; ">uid</span><span style="color: #000000; ">></span><span style="color: #000000; "><br />            </span><span style="color: #000000; "><</span><span style="color: #000000; ">detail_url</span><span style="color: #000000; ">></span><span style="color: #000000; ">http:</span><span style="color: #008000; ">//</span><span style="color: #008000; ">api.map.baidu.com/place/detail?uid=a025683c73033c35a21de987&amp;amp;output=html&amp;amp;source=placeapi</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">            </span><span style="color: #000000; "></</span><span style="color: #000000; ">detail_url</span><span style="color: #000000; ">></span><span style="color: #000000; "><br />            </span><span style="color: #000000; "><</span><span style="color: #000000; ">tag</span><span style="color: #000000; ">></span><span style="color: #000000; ">银行,王府?/span><span style="color: #000000; ">/</span><span style="color: #000000; ">东单</span><span style="color: #000000; "></</span><span style="color: #000000; ">tag</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /><br />        </span><span style="color: #000000; "></</span><span style="color: #000000; ">result</span><span style="color: #000000; ">></span><span style="color: #000000; "><br />      </span><span style="color: #000000; "></</span><span style="color: #000000; ">results</span><span style="color: #000000; ">></span><span style="color: #000000; "><br /></span><span style="color: #000000; "></</span><span style="color: #000000; ">PlaceSearchResponse</span><span style="color: #000000; ">></span></div><br /><div>接下来,把百度地囑֏映出来的最q位|信息,以图文消息的格式展示l微信用?/div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">static</span><span style="color: #000000; "> String getWeChatReplyNewsMessageByBaiduPlace(List</span><span style="color: #000000; "><</span><span style="color: #000000; ">BaiduPlaceResponse</span><span style="color: #000000; ">></span><span style="color: #000000; "> placeList, </span><span style="color: #0000FF; ">double</span><span style="color: #000000; "> lat, </span><span style="color: #0000FF; ">double</span><span style="color: #000000; "> lng,String userName, </span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> size){<br />        WeChatReplyNewsMessage newsMessage </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> WeChatReplyNewsMessage();<br />        List</span><span style="color: #000000; "><</span><span style="color: #000000; ">Item</span><span style="color: #000000; ">></span><span style="color: #000000; "> items </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> ArrayList</span><span style="color: #000000; "><</span><span style="color: #000000; ">Item</span><span style="color: #000000; ">></span><span style="color: #000000; ">();<br />        StringBuffer strBuf </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> StringBuffer();<br />        logger.log(Level.INFO,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">placeList count=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">placeList.size());<br />        newsMessage.setItems(items);<br />        </span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(placeList.size()</span><span style="color: #000000; ">></span><span style="color: #000000; ">size){<br />            newsMessage.setArticleCount(size);<br />        }<br />        </span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">{<br />            newsMessage.setArticleCount(placeList.size());<br />        }<br />        logger.log(Level.INFO,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">article count=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">newsMessage.getArticleCount());<br />        newsMessage.setCreateTime(</span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> Date().getTime()</span><span style="color: #000000; ">+</span><span style="color: #000000; ">""</span><span style="color: #000000; ">);<br />        newsMessage.setMsgType(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">news</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        newsMessage.setFuncFlag(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">0</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        newsMessage.setToUserName(userName);<br />        newsMessage.setFromUserName(WeChatConstant.FROMUSERNAME);<br />        </span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; "> i </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">;i </span><span style="color: #000000; "><</span><span style="color: #000000; ">newsMessage.getArticleCount();i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">){<br />            BaiduPlaceResponse place </span><span style="color: #000000; ">=</span><span style="color: #000000; "> placeList.get(i);<br />            Double distance </span><span style="color: #000000; ">=</span><span style="color: #000000; "> GeoUtil.DistanceOfTwoPoints(Double.valueOf(place.getLng()), Double.valueOf(place.getLat()), lng, lat, GaussSphere.Beijing54);<br />            Item item </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> Item();<br />            item.setTitle(place.getName()</span><span style="color: #000000; ">+</span><span style="color: #000000; ">"</span><span style="color: #000000; ">[</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">distance</span><span style="color: #000000; ">+</span><span style="color: #000000; ">"</span><span style="color: #000000; ">c]</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">"</span><span style="color: #000000; ">\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">place.getAddress()</span><span style="color: #000000; ">+</span><span style="color: #000000; ">"</span><span style="color: #000000; ">\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">place.getTelephone());<br />            item.setPicUrl(</span><span style="color: #000000; ">""</span><span style="color: #000000; ">);<br />            item.setUrl(place.getDetailUrl());<br />            item.setDescription(</span><span style="color: #000000; ">""</span><span style="color: #000000; ">);<br />            items.add(item);<br />        }<br />        logger.log(Level.INFO,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">newMessage=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">newsMessage.toString());<br />        strBuf </span><span style="color: #000000; ">=</span><span style="color: #000000; "> strBuf.append(getWeChatNewsMessage(newsMessage));<br />        <br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> strBuf.toString();<br />    }<br />    <br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">static</span><span style="color: #000000; "> String getWeChatNewsMessage(WeChatReplyNewsMessage newsMessage){<br />        XStream xstream </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> XStream(</span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> DomDriver());<br />        xstream.alias(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">xml</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatReplyNewsMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">ToUserName</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatReplyNewsMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">toUserName</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">FromUserName</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatReplyNewsMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">fromUserName</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">CreateTime</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatReplyNewsMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">createTime</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">MsgType</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatReplyNewsMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">msgType</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">ArticleCount</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatReplyNewsMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">articleCount</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Content</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatReplyNewsMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">content</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">FuncFlag</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatReplyNewsMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">funcFlag</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Articles</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, WeChatReplyNewsMessage.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">items</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        <br />        xstream.alias(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">item</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, Item.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Title</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, Item.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">title</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Description</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, Item.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">description</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">PicUrl</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, Item.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">picUrl</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        xstream.aliasField(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Url</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, Item.</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">, </span><span style="color: #000000; ">"</span><span style="color: #000000; ">url</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />        <br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> xstream.toXML(newsMessage);<br />    }</span></div><br /><div><h2>2.路名、标志性徏{或是商场名U?/h2><p>对\名、标志性徏{等信息Q方法还是通过W三方地图信息,定输入的位|信息的l度U度?/p><p>本文使用癑ֺ地图APIQ确定所查找的位|的l度和纬度?/p></div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String getGeoCode(String query) </span><span style="color: #0000FF; ">throws</span><span style="color: #000000; "> ClientProtocolException, IOException{<br />        HttpClient httpClient </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> DefaultHttpClient();<br />        String url </span><span style="color: #000000; ">=</span><span style="color: #000000; "> geoCodeRequestUrl(query);<br />        logger.log(Level.INFO, url);<br />        HttpGet httpget </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> HttpGet(url);<br />        ResponseHandler</span><span style="color: #000000; "><</span><span style="color: #000000; ">String</span><span style="color: #000000; ">></span><span style="color: #000000; "> responseHandler </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">new</span><span style="color: #000000; "> BasicResponseHandler();<br />        String responseBody </span><span style="color: #000000; ">=</span><span style="color: #000000; "> httpClient.execute(httpget, responseHandler);<br />        logger.log(Level.INFO,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">baidu response:</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">responseBody);<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> responseBody;<br />    }<br />    <br />    </span><span style="color: #0000FF; ">public</span><span style="color: #000000; "> String geoCodeRequestUrl(String query) </span><span style="color: #0000FF; ">throws</span><span style="color: #000000; "> UnsupportedEncodingException{<br />        String url </span><span style="color: #000000; ">=</span><span style="color: #000000; "> WeChatConstant.BASEURL </span><span style="color: #000000; ">+</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">geocoder?address=</span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; ">+</span><span style="color: #000000; "> URLEncoder.encode(query,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">UTF-8</span><span style="color: #000000; ">"</span><span style="color: #000000; ">) </span><span style="color: #000000; ">+</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">&key=</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br />                </span><span style="color: #000000; ">+</span><span style="color: #000000; "> WeChatConstant.MAPKEY </span><span style="color: #000000; ">+</span><span style="color: #000000; "> </span><span style="color: #000000; ">"</span><span style="color: #000000; ">&output=</span><span style="color: #000000; ">"</span><span style="color: #000000; "> </span><span style="color: #000000; ">+</span><span style="color: #000000; "> WeChatConstant.OUTPUTFORMAT;<br />        </span><span style="color: #0000FF; ">return</span><span style="color: #000000; "> url;<br />    }</span></div><br /><div><p>定了经度和U度Q问题就变成和第1U消息类型一致了Q根据经度纬度去做相应处理?/p><p><img src="http://www.qiyadeng.com/wp-content/uploads/2013/03/20130324100033_15032.jpg" data-ke-src="http://www.qiyadeng.com/wp-content/uploads/2013/03/20130324100033_15032.jpg" alt="" /> </p><h2>3.源代?/h2><p>本文的代码较长,提供源代码下载?/p><a data-ke-src="http://pan.baidu.com/share/link?shareid=349006&uk=1560594324" target="_blank">WeChatDemo下蝲</a></div><br /><div><div style="margin-top: 15px; font-style: italic"> <p><strong>原创文章Q{载请注明Q?/strong> 转蝲?a >http://www.qiyadeng.com/</a></p> <p><strong>本文链接地址:</strong> <a >微信公众q_开发(三)–位置信息的识?/a></p> </div></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><img src ="http://www.tkk7.com/qiyadeng/aggbug/396983.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/qiyadeng/" target="_blank">qiyadeng</a> 2013-03-25 21:37 <a href="http://www.tkk7.com/qiyadeng/archive/2013/03/25/396983.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://12345ww.com" target="_blank">ѵӰ߹ۿվ</a>| <a href="http://wxzg66.com" target="_blank">aëƬȫ</a>| <a href="http://66h99.com" target="_blank">av߿վ</a>| <a href="http://tccqdy.com" target="_blank">A߲</a>| <a href="http://48eh.com" target="_blank">aƬѹۿƵ</a>| <a href="http://k5nn.com" target="_blank">˳˳ۺþþ</a>| <a href="http://shaiyahx.com" target="_blank">avרavëƬ </a>| <a href="http://jack-fx.com" target="_blank">޾ƷþþþYW</a>| <a href="http://liulian88.com" target="_blank">91ѾƷԲ߲</a>| <a href="http://wwwzs88.com" target="_blank">Ļɫ</a>| <a href="http://ksyanhui.com" target="_blank">ƬƵ</a>| <a href="http://33dh2.com" target="_blank">Ʒ</a>| <a href="http://seosuanfa.com" target="_blank">av</a>| <a href="http://0149545.com" target="_blank">ɫҹƵ</a>| <a href="http://nxjyyj.com" target="_blank">˳߹ۿ</a>| <a href="http://hlyidc.com" target="_blank">ҪѵëƬ</a>| <a href="http://s8023.com" target="_blank">ܲƵ</a>| <a href="http://ddtase.com" target="_blank">A޾VƷ</a>| <a href="http://q2c6.com" target="_blank">¾þþþa </a>| <a href="http://941sese.com" target="_blank">þѾƵ</a>| <a href="http://902578.com" target="_blank">AV߹ۿ</a>| <a href="http://942woool.com" target="_blank">A߹ۿƵ</a>| <a href="http://www-84243.com" target="_blank">Ʒɫʹ</a>| <a href="http://cqshangshu.com" target="_blank">Ůۺһ</a>| <a href="http://3344by.com" target="_blank">ձһ</a>| <a href="http://1314a.com" target="_blank">˾Ʒձר</a>| <a href="http://66keke.com" target="_blank">һþۺ³³</a>| <a href="http://www-533999.com" target="_blank">Ļ</a>| <a href="http://jimeng-99.com" target="_blank">þavרavһ</a>| <a href="http://ss8kk.com" target="_blank">ŮëƬѹۿ97</a>| <a href="http://yy12345.com" target="_blank">xxxxձ߲Ѳ</a>| <a href="http://jmdehong.com" target="_blank">ۺһ</a>| <a href="http://www678678.com" target="_blank">ŷһëƬ</a>| <a href="http://vvv75.com" target="_blank">ĻѲƵ</a>| <a href="http://hnqkzj.com" target="_blank">޹˾Ʒվ</a>| <a href="http://chinashineway.com" target="_blank">ѿŮˬƵ</a>| <a href="http://micehunan.com" target="_blank">鴤һһgifƵ</a>| <a href="http://sh-lkby.com" target="_blank">һɫƬ</a>| <a href="http://haigoumama.com" target="_blank">þþþƷ޳18վ </a>| <a href="http://rimcn.com" target="_blank">˳ɵӰվþ</a>| <a href="http://9aiba.com" target="_blank">þӰۺ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>