java - 帮助在 Google Web Toolkit 项目中使用 JAVA URL

标签 java html url gwt

我正在尝试将 java URL 实现到我的 gwt 项目中。这是我到目前为止在实验、试错等方面所做的事情: HTML:

<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
    <link type="text/css" rel="stylesheet" href="Test_project.css">
    <title>John Mathew's Google AJAX Search API Sample</title>      
    <script src="http://www.google.com/jsapi?key=*insert google api key*" type="text/javascript"></script>  
    <script type="text/javascript">
        google.load('search', '1');  
        google.setOnLoadCallback(function(){
            var searchControl = new google.search.SearchControl();
            searchControl.setResultSetSize(google.search.Search.LARGE_RESULTSET);     
            searchControl.addSearcher(new google.search.WebSearch());
            var drawOptions = new google.search.DrawOptions();
        drawOptions.setDrawMode(google.search.SearchControl.DRAW_MODE_TABBED);     
            searchControl.draw(document.getElementById("content"), drawOptions);           
        }, true); 
</script>

<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
    google.load('search', '1', {language : 'en', style : google.loader.themes.SHINY});
google.setOnLoadCallback(function() {
     var customSearchControl = new google.search.CustomSearchControl('*insert google cse id*');
     CustomSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
     customSearchControl.draw('cse');
}, true);
</script>
<script type="text/javascript" language="javascript" src="test_project/test_project.nocache.js"></script>

加载中... document.writeln('搜索引擎2');
正在加载...
document.writeln('搜索引擎3');

<div id="customSearch"></div>       

现在 JavaScript 的两个部分都会生成一个 google 文本框和按钮。输入信息后,它将返回结果。这不是我想要的。我想获得可供我操纵和玩耍的结果。所以我做了一些研究,发现了 PHP get_file_contents() 和 JAVA URL()。我从未有过 PHP 经验,所以我选择了 Java(有 JQuery get() 但我对如何实现感到困惑并且找不到示例)。

为了了解 Java URL() 的工作原理,我创建了一个 Java 项目并学习了以下代码:

URL urlsearch = new URL("*insert website*");        
BufferedReader buffreader = new BufferedReader(new InputStreamReader(urlsearch.openStream()));        
String HTMLdisplay;
while ((HTMLdisplay = buffreader.readLine()) != null) {
   System.out.println(HTMLdisplay);
}
buffreader.close();

它完全按照我想要的方式工作,因为它检索页面的 html 页面源(例如: http://www.bing.com/search?q=gygax )。为了实现这一点,我创建了一个基于如何 http://code.google.com/webtoolkit/doc/latest/tutorial/create.html 的项目因此,在上面的 HTML 代码中,有一行 .链接两者的命令位于类 onModuleLoad() 中: //将主面板与 HTML 主机页面关联。 RootPanel.get("customSearch").add(mainPanel);

这听起来有点令人困惑,所以我会总结一下:在我的 .java 上使用 Google Widgets,当我将其作为 Web 应用程序运行时,我创建了一个文本框和按钮。当您单击该按钮时,假设执行 java url 代码并检索其查询的页面源。相反,我收到这些错误:

[DEBUG] [test_project] - Validating newly compiled units
[ERROR] [test_project] - Errors in 'file:/C:/*file path*/Test_project.java'
[ERROR] [test_project] - Line 92: No source code is available for type java.net.URL; did you forget to inherit a required module?
[ERROR] [test_project] - Line 93: No source code is available for type java.io.BufferedReader; did you forget to inherit a required module?
[ERROR] [test_project] - Line 93: No source code is available for type java.io.InputStreamReader; did you forget to inherit a required module?
[ERROR] [test_project] - Line 99: No source code is available for type java.net.MalformedURLException; did you forget to inherit a required module?
[ERROR] [test_project] - Line 102: The method exit(int) is undefined for the type System
[ERROR] [test_project] - Line 107: The method exit(int) is undefined for the type System
[TRACE] [test_project] - Finding entry point classes
[ERROR] [test_project] - Unable to find type 'com.example.test_project.client.Test_project'
[ERROR] [test_project] - Hint: Previous compiler errors may have made this type unavailable
[ERROR] [test_project] - Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly
[ERROR] [test_project] - Failed to load module 'test_project' from user agent 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15 ( .NET CLR 3.5.30729; .NET4.0E)' at localhost:3410

我已经导入java.io.*和导入java.net.*(也尝试过特定的包)以及许多com.google.gwt包。

我的问题:如何克服这些阻止我在 GWT 项目中使用 JAVA URL 的错误?

最佳答案

您不能在 GWT 项目客户端使用 java.io.*java.net。由于 GWT 不提供上述包的等效项(Serialized 除外)。

我认为 Test_project.java 仅在客户端,因此您会收到此错误。

在客户端,您只能使用 lang、util 包。

关于java - 帮助在 Google Web Toolkit 项目中使用 JAVA URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5386378/

相关文章:

java - 通用构造函数允许 int 类型

html - 使用 CSS 网格,网格项溢出父容器

php - 具有相同内容的多个测试页面谷歌排名seo

iphone - '#' 字符 Twitter 在 ios 中发布 url

java - Python Java forEach 等价物

java - Netbeans,java导入图像(res文件夹)

html - 如何放置 div "on"背景图片?

.htaccess - 如何在 Opencart 中将所有 www 重定向到非 www 和 SSL Url?

javascript - 在 JavaScript 中使用正则表达式提取 URL 的特定部分

java - 调度 java.util.timer 是否会退出该计时器的timerTask 方法?