/*****************************************/
使用Google Ajax API 来实现图片的搜索功能:在实现的过程中要用到的技术有:Jquery,json 等技术
/*************************************************************/
jsp页面:
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(function(){
//当单击提交按钮的时候,进行异步请求查询数据
$("#bt").click(function(){
//进行post方法来异步请求
$.get("JsonServlet",
{imageName:encodeURI($("#imageName").val(),"utf-8"),imageSource:$("input[name=iamgeSource]:checked").val()},
function(returnedData,status){
$("#showPic").empty();
var html="";
for(var i=0;i<returnedData.length;i++){
html +="<img src='"+returnedData[i]+"' width='150' height='150'/>";
}
$("#showPic").append(html);
}
);
});
$("#save").click(function(){
$("#pro").html("<font color='red'>processing....</font>");
$.post("SaveImageServlet",null,function(returnedData,result){
alert(returnedData);
});
});
});
</script>
</head>
<body>
<input type="text" id="imageName" />
<input type="radio" name="iamgeSource" value="google" checked="checked" />google
<input type="radio" name="iamgeSource" value="flickr"/>flickr
<br/>
<input type="button" id="bt" value="提交"/>
<input type="button" id="save" value="保存"/>
<div id="pro"></div>
<div id="showPic"></div>
/*****
*使用dopost来接受参数,并返回图片路径
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
String imageName=URLDecoder.decode(request.getParameter("imageName"),"utf-8");
String imageSource=request.getParameter("imageSource");
HttpSession session=request.getSession();
try {
//存储向客户端发送的url
List<String> returnList=new ArrayList<String>();
session.setAttribute("iamgeName", imageName);
session.setAttribute("picSource", imageSource);
session.setAttribute("images",returnList);
//判断用户使用的是什么搜索
if("google".equals(imageSource)){
//存储每次从Google货到的json数据
List<String> lists=new ArrayList<String>();
for(int i=0;i<4;i++){
String queryStr=new StringBuffer(Contant.GOOGLE_URL)
.append("q=").append(imageName)
.append("&start=").append(8*i).toString();
lists.add(NetwordUtil.getStringContentFromURL(queryStr));
}
for(String result:lists){
JSONObject jsonContent=new JSONObject(result);
JSONObject responseData=jsonContent.getJSONObject("responseData");
JSONArray results=responseData.getJSONArray("results");//获得results数据
for(int i=0;i<results.length();i++){
JSONObject jsonObject=results.getJSONObject(i);//获得第i个对象
String url=jsonObject.getString("url");
returnList.add(url);
}
}
}else{
System.out.println("filics");
}
Gson gson=new Gson();
String jsonResult=gson.toJson(returnList);
response.setContentType("application/json;charset=utf-8");
response.setHeader("pragma","no-cache");
response.setHeader("cache-control","no-cache");
out.print(jsonResult);
} catch (Exception e) {
// TODO: handle exception
}
out.flush();
out.close();
}
/**********************************************************/
在调用的时候要住的是一个google的链接字符串
public static String GOOGLE_URL="https://ajax.googleapis.com/ajax/services/search/images?key=ABQIAAAATqqFqs7EA6jhOIdd5baQSBR1OFzB8QaN0RkKyqZMsix3w73wyBRuPkw-_I8d5TLsv6PvoKsXmxpv4Q&rsz=large&v=1.0&" ;
}
必须自己申请一个key
https://ajax.googleapis.com/ajax/services/search/images
搜索images文件的位置:
Key :API KEY
rsz:表示图片大小
v:表示版本号
在保存图片的时候使用单线程调用
public static String getStringContentFromURL(String queryString) throws Exception{
//定义url对象
URL url=new URL(queryString);
//获得urlConnection对象
URLConnection conn=url.openConnection();
//打开输入流
InputStream is=conn.getInputStream();
//获得字符输入流
InputStreamReader isr=new InputStreamReader(is);
//转换成bufferedReader缓冲流
BufferedReader br=new BufferedReader(isr);
StringBuffer buffer=new StringBuffer();
String line=null;
while(null!=(line=br.readLine())){
buffer.append(line);
}
br.close();
isr.close();
is.close();
return buffer.toString();
}
也可以使用外部的文件上传的插件来实现
如果要用到线程的方法来保存图片的时候,可以根据自己的需要来设置!
/***************************************************************/
分享到:
相关推荐
这个“Jquery调用Google搜索API实现搜索引擎.rar”文件包含了一个使用jQuery来调用Google搜索API的插件,使得开发者可以快速、方便地在自己的网页中集成一个搜索引擎。 首先,我们来看主要的组件: 1. **script.js*...
Java JSON调用常用包主要涉及的是在Java编程中处理JSON数据的相关库和技术。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛应用于Web服务和客户端之间的数据交互。在Java中,有多个流行的库...
**Ajax+JSON 模拟谷歌搜索页面** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现异步更新。JSON...
这通常涉及到数据库查询或调用谷歌公开的API(如Google Custom Search API)。 4. **JSON响应**:服务器返回的JSON数据应包含一个数组,每个元素都是一个搜索建议的字符串。例如: ```json ["Google", "Google Maps...
为了调用Google搜索服务,你需要在Google Developers Console上创建一个项目,并启用Custom Search JSON API。然后,你需要获取一个API密钥和一个自定义搜索引擎ID。API密钥用于验证请求,而自定义搜索ID则定义了你...
在本文中,我们将深入探讨如何使用C#语言调用谷歌翻译API,实现文本的自动翻译功能,不依赖JavaScript算法,而是直接通过HTTP POST请求与谷歌Web翻译服务进行交互。我们将介绍核心概念、所需库和步骤,帮助你构建一...
当服务器返回JSON数据时,这个回调函数会被调用。例如: ```javascript $.getJSON('url_to_servlet', {param1: 'value1'}, function(data) { // 在这里处理返回的JSON数据 console.log(data); }); ``` 在这个...
总的来说,C#调用Google搜索服务涉及了API的使用、HTTP请求的发送、JSON数据的解析等多个环节,是学习Web服务和网络编程的好例子。通过实践,你可以掌握如何利用API扩展C#应用程序的功能,接入更多的在线服务。
"Google图片搜索器"是一款基于Google搜索引擎的工具,专门...总的来说,"Google图片搜索器"是将Google的搜索能力与用户友好的界面相结合的产物,涉及到了API调用、前端开发、后端处理、数据安全等多个IT领域的知识。
在本文中,我们将深入探讨如何使用C#编程语言在Windows Forms(winform)环境中调用Google搜索服务。这个示例代码提供了一种方法,通过集成Google的搜索API,实现从C#应用程序中进行网络搜索的功能。 首先,让我们...
标题 "C++调用GOOGLEMAP代码" 涉及到的是在C++程序中集成和使用Google Maps API的技术。Google Maps API是一个强大的工具,允许开发者在他们的应用程序中嵌入地图、路线规划、地理编码(地址转经纬度)等功能。在C++...
标题中的"google-maps-api-json.rar"表明这是一个关于Google Maps API与JSON数据交互的压缩文件。Google Maps API是Google提供的一项服务,允许开发者在自己的应用或网站上集成地图功能,进行地理位置相关的操作。...
Google提供了多种与JSON相关的工具和插件,以帮助开发者更有效地处理JSON数据。在这个场景中,我们主要讨论的是“Google的JSON插件”,虽然没有提供具体的插件名称,但我们可以假设它涉及到解析、生成、验证或美化...
在当前数字化时代,JSON(JavaScript Object Notation)已经成为网络应用间交换数据的一种常用格式,尤其是在API接口调用中。JSON-handle的出现,为开发者和数据分析师提供了直接在浏览器中解析和操作JSON数据的便捷...
标题“调用google搜索”可能指的是使用编程接口或者技术手段来与Google的搜索服务进行交互,获取或展示搜索结果。这种技术通常用于自动化查询、数据分析或者构建自定义搜索引擎。在这个场景下,我们可以深入探讨以下...
本主题聚焦于如何利用C#调用Google Maps搜索服务,这是一个常见的需求,尤其是在地理位置相关的应用开发中。Google Maps API提供了丰富的功能,包括地图显示、定位、路线规划和搜索服务等。 首先,我们需要了解...
在本项目中,我们主要探讨如何使用Java编程语言来调用谷歌翻译(Google Translate)的网络接口,从而实现文章的翻译功能。这是一个典型的Web服务API集成应用,对于学习Java网络编程以及自然语言处理(NLP)技术具有...
在本文中,我们将深入探讨如何使用C#来调用谷歌的翻译API,实现中英文之间的自动翻译功能。 首先,我们需要了解谷歌翻译API的工作原理。谷歌翻译API提供了一种RESTful的服务接口,可以通过HTTP请求进行访问。这种...
安装该插件的过程相对简单,只需通过谷歌浏览器的扩展程序管理页面,搜索“JSONView”或者使用提供的压缩包文件“JSONView-for-Chrome-master”。通常,下载并解压后,将解压得到的文件夹拖入到浏览器的扩展程序管理...