通过前端获取客户端ip和所在城市,并在后端获得这些值
2015-09-30 11:22
597 查看
一:jsp的代码:
二:后台的代码:
三:运行的结果:
①页面结果:
②控制台输出结果:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <body> <div id="allmap"></div> </body> <html> <head> <script language="javascript" src="http://www.codefans.net/ajaxjs/jquery1.3.2.js"></script> <script type="text/javascript" src="/js/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=7hofO0Vu1ecpKW4O3pvsXc39"></script> <title>获取IP和当前城市</title> <script type="text/javascript"> // 百度地图API功能 var map = new BMap.Map("allmap"); var city=null; function myFun(result){ var cityName = result.name; map.setCenter(cityName); document.getElementById('city').value=cityName; city = cityName; return cityName; } var myCity = new BMap.LocalCity(); myCity.get(myFun); </script> <script language="javascript"> jQuery(function($){ var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_='+Math.random(); $.getJSON(url, function(data){ document.getElementById("ip").value=data.Ip ip = document.getElementById("ip").value; myCity.get(myFun); $.post("address_getIpAddress.action", { ip:data.Ip, city:city }, function(data,status){ //alert("Data: " + data + "\nStatus: " + status); }); }); }) </script> </head> <body> <form action="address_getIpAddress.action" method="post"> 你的ip:<input type="text" id="ip" name ="ip" class="ip"> 你的位置:<input type="text" id="city" name ="city" class="city"> <input type="submit" > </form> </body> </html>
二:后台的代码:
package com.jfl.web; import java.io.PrintStream; import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.catalina.deploy.ContextService; import org.apache.jasper.tagplugins.jstl.core.Out; import org.apache.struts2.ServletActionContext; import com.jfl.util.Utli; import com.opensymphony.xwork2.ActionSupport; public class CommonAction extends ActionSupport{ public String getIpAddress() throws Exception{ HttpServletRequest request = ServletActionContext.getRequest(); String ipp = request.getParameter("ip"); String city = request.getParameter("city"); System.out.println(ipp); System.out.println(city); HttpServletResponse response = ServletActionContext.getResponse(); PrintWriter out = response.getWriter(); out.printf("jfl"); return null; } }
三:运行的结果:
①页面结果:
②控制台输出结果:
相关文章推荐
- JSP学习笔记之基础语法
- JSON.parse()和eval()的区别
- js 一个等号"=" 二个等号"==" 三个等号"===" 的区别
- OutputStreamWriter和BufferedWriter疑惑
- jquery 实现 div 拖动效果
- CSS立体标签实现
- css圆形图片处理示例(方形图片变圆形图片)
- 浅谈HTML5的Camera API
- JS实现密码加密
- NIO简介、缓冲区与Buffer
- Reactivecoco 文档翻译(1) 基本操作方法
- Features/Snapshots
- Caffe学习:pycaffe利用caffemodel进行分类=>批处理
- js实现创建删除html元素小结
- jsoup方法string转document
- jsoup方法string转document
- React学习笔记(5)--事件
- Lync 2010迁移Lync 2013部署后前端服务无法启动处理案例
- JS前端取得并解析后台服务器返回的JSON数据的方法
- js、css、img等浏览器缓存问题的2种解决方案