发布网友 发布时间:2022-04-23 16:32
共2个回答
懂视网 时间:2022-04-21 01:19
这些地址是如何解析的?web地址解析
------解决方案--------------------
http://www.***.con/message/743a6d161ed14c8dd0f5b959aa8a5e
re:
这种是服务器端url重写.每种服务器(apache,iis,nginx)重写规则语法可能有差异
<li><a href="/message/list?catid=18&p=1"><span>待办工作</span></a></li>
re:
这种叫地址定义。我知道java都是这种.上面的href属性值分为
请求地址:/message/list,在java中可以加上后缀或者省略
?catid=18&p=1,GET请求的参数集合
------解决方案--------------------
url重写:由服务器根据重写规则跳转到实际的地址
地址定义:这(/message/list)就是实际的地址。
------解决方案--------------------
地址定义一般在配置文件中?.net我不会,你打开所有配置看看吧。下面是java的地址定义
<servlet>
<servlet-name>ChannelServlet</servlet-name>
<servlet-class>com.apobates.servlet.ChannelServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ChannelServlet</servlet-name>
<url-pattern>/channel/build</url-pattern>
</servlet-mapping>
url-pattern的值就是.
在.net的网站中,如何解析呢?
re:
要想定义,必须在服务器可以读到的配置文件中,按照规范书写.如果你想更深入,哪去研究服务器的架构吧
------解决方案--------------------
我说的服务器又叫应用服务器。像:IIS,apache,nginx,
java的就多了:
tomcat,jboss,sun application server,weblogic,...
------解决方案--------------------
也有叫 web 容器的
------解决方案--------------------
web服务 都会提供一个 http拦截机制
也就是 http访问的时候 你有机会 预先用你自己的代码 或者预定的配置 进行处理
这个时候你可以把http连接 解析成任何你想要
热心网友 时间:2022-04-20 22:27
一、地址解析
地址解析,是用户输入一个详细到门牌号的地址。例如“北京市中关村南大街27号*民族大学”,那么地址解析接口,会返回一个经纬度Point。
接口定义如下:
getPoint(address:String, callback:Function, city:String)
对指定的地址进行解析。如果地址定位成功,则以地址所在的坐标点Point为参数调用回调函数。否则,回调函数的参数为null。city为地址所在的城市名,例如“北京市”。
代码示例:
// 创建地址解析器实例
var myGeo = new BMap.Geocoder();
// 将地址解析结果显示在地图上,并调整地图视野
myGeo.getPoint("北京市海淀区上地10街", function(point){
if (point) {
map.centerAndZoom(point, 16);
map.addOverlay(new BMap.Marker(point));
}
}, "北京市");
运行该示例,请点击:http://openapi.baidu.com/map/examples.html?v=1.1&7_12#7&12
二、反地址解析
反地址解析,就是传进去一个经纬度Point,它会返回一个详细的地址。具体地址有多详细,就要看百度数据库里的数据了。
接口定义如下:
getLocation(point:Point, callback:function[, options:LocationOptions])
对指定的坐标点进行反向地址解析。如果解析成功,则回调函数的参数为GeocoderResult对象,否则回调函数的参数为null。
代码示例:
var gc = new BMap.Geocoder();
map.addEventListener("click", function(e){
var pt = e.point;
gc.getLocation(pt, function(rs){
var addComp = rs.addressComponents;
alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " +addComp.streetNumber);
});
});
运行该示例,请点击:http://openapi.baidu.com/map/examples.html?v=1.1&7_15#7&15
三、同时运用地址解析与反地址解析
在什么情况下需要同时运用这两个接口呢?
答案是,当你搜索一个模糊的地址,但却想要返回一个精确的地址结果。
例如“上海市新华路”,但是你想知道“新华路”在哪个区县的时候,你就可以同时利用这两个接口。
完整HTML代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>地址解析+反地址解析</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
</head>
<body>
<div style="width:520px;height:340px;border:1px solid gray" id="container"></div>
<div style="margin:10px 0;"><input type="text" style="width:300px;margin-right:10px;" value="新华路"id="searchValue" /><input type="button" value="搜索" onclick="search()" /></div>
</body>
</html>
<script type="text/javascript">
var map = new BMap.Map("container");
map.centerAndZoom(new BMap.Point(121.461165,31.234095), 11);
function search(){
var myAddress = document.getElementById('searchValue').value;
var myGeo = new BMap.Geocoder();
myGeo.getPoint(myAddress, function(point){ //我输入的是“知春路”,第一步getPoint是地址解析。
if (point) {
map.centerAndZoom(point, 16);
map.addOverlay(new BMap.Marker(point));
myGeo.getLocation(point, function(rs){ //这里弹出“知春路”的详细地址信息,第二步getLocation是反地址解析。
var addComp = rs.addressComponents;
alert(myAddress+'的具体位置是:'+addComp.province + ", " + addComp.city + ", " + addComp.district+ ", " + addComp.street + ", " + addComp.streetNumber);
});
}
}, "上海市"); //必须设置城市
}
</script>
地址解析+反地址解析示例说明:
1、运行以上HTML代码,会出现这样一个输入框,默认是新华路。点击搜索按钮。
2、经过了地址解析,与反地址解析后,得到了新华路所在地区的详细地址!!!
3、把得到的坐标标注出来。