JAVA (Jsp)利用Google的Translate开发API

2016-02-19 13:21 28 1 收藏

今天图老师小编给大家展示的是JAVA (Jsp)利用Google的Translate开发API,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - Web开发 】

上次我说了用ASP,PHP,C#分别实现Google的Translate开发一个API ( Tags:Google Translate API ) ,由于很多程序代码由JAVA实现(JSP),我还是利用一点时间做了一个java版本的,本人在JAVA方面还是入门的程度,期间,查了一些资料,虽然程序比较短,但是还是比较淘气的。

  和上一话所说的利用JAVA获取URL的内容,这篇的技术实现获取,然后正则匹配结果,就完成了。看代码:

//javac GoogleTranslator.java -encoding utf-8
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.regex.*;
public class GoogleTranslator{
public String getUrlContent(String path){
        String rtn = "";
        int c;  
        try{
            java.net.URL   l_url   =   new   java.net.URL(path);  
            java.net.HttpURLConnection   l_connection   =   (java.net.HttpURLConnection)   l_url.openConnection();  
            l_connection.setRequestProperty("User-agent","Mozilla/4.0");
            l_connection.connect();  
            InputStream l_urlStream   =   l_connection.getInputStream();
            while   ((   (   c=   l_urlStream.read()   )!=-1)){ 
                int   all=l_urlStream.available();  
                byte[]   b   =new   byte[all];  
                l_urlStream.read(b);
                rtn+=   new   String(b,   "UTF-8");
            }  
                //Thread.sleep(2000);
            l_urlStream.close();
        }catch(Exception e){
            e.printStackTrace();
        }
        return rtn;
}
http://bizhi.knowsky.com
public String GetText(String Src){
    String Os=null;
    try{
        String pUrl="http://translate.google.com/translate_t?langpair="+URLEncoder.encode("zh-CN|en","utf-8")+"&text="+URLEncoder.encode(Src,"gb2312") ;
        String pageContent =getUrlContent(pUrl);
        if(!isNullOrEmpty(pageContent)){
            Os= GetMatchString(pageContent,"(div id=result_box dir="ltr")([?:sS]*?)/div",2);
        }
       
    }catch(Exception e){
            e.printStackTrace();
    }
    return Os;
}
private boolean isNullOrEmpty(String param) {
  return param == null || param.trim().length() == 0;
 }
public String GetMatchString(String text,String pattern,int point){
    Pattern p = Pattern.compile(pattern);
    Matcher m = p.matcher(text);
    if(m.find()) {
        return m.group(point); //匹配第1项
    }
    return null;
}
public static void main(String[] args){
    GoogleTranslator obj=new GoogleTranslator();
    System.out.println(obj.GetText("cjjer是Java天才"));
}
};

然后保存为GoogleTranslator.java,然后使用:

javac GoogleTranslator.java -encoding utf-8

编译了,然后JAVA一下就可以了。

前几天把windows下j2ee的运行环境搭建好了。因为公司服务器用的都是linux,所以今天把在linux下j2ee的运行环境也搭建一下。下面是我全部测试ok的详细日记:

一、JDK安装(安装在/usr/java目录下)

1、下载:jdk-7-ea-bin-b26-linux-i586-24_apr_2008.bin

地址:http://jx.newhua.com/down/jdk-7-ea-bin-b26-linux-i586-24_apr_2008.zip
windows下将zip格式的解压出jdk-7-ea-bin-b26-linux-i586-24_apr_2008.bin再传到linux服务器的/usr/java目录下

2、给文件加上可执行权限
[root@localhost java]# chmod +x jdk-7-ea-bin-b26-linux-i586-24_apr_2008.bin

3.执行jdk-7-ea-bin-b26-linux-i586-24_apr_2008.bin
[root@localhost java]# ./jdk-7-ea-bin-b26-linux-i586-24_apr_2008.bin
自动安装生成目录jdk1.7.0
 
4.配置环境变量
  环境变量配置有三种方法(分别是:修改/etc/profile文件,修改用户目录下的.bashrc文件,直接在shell下修改)我修改了/etc/profile文件:
[root@localhost java]# vi /etc/profile
打开文件后,按i 键,在文件后添加:

JAVA_HOME=/usr/java/jdk1.7.0
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export JAVA_HOME PATH CLASSPATH

按esc 键
输入:wq 保存退出。
重新启动服务器

6.测试配置环境
写个简单的HelloWorld来测试一下
[root@localhost java]# vi HelloWorld.java
文件中输入:

public class HelloWorld{
public static void main(String args[]){
System.out.println(”Hello World in Linux!!”);
}
}

:wq 保存退出
[root@localhost java]# javac HelloWorld.java
没有错误,接下来:
[root@localhost java]# java HelloWorld
shell下输出:

Exception in thread “main” java.lang.NoClassDefFoundError: HelloWorld/java
Caused by: java.lang.ClassNotFoundException: HelloWorld.java
at java.net.URLClassLoader$1.run(URLClassLoader.java:220)
at java.net.URLClassLoader$1.run(URLClassLoader.java:209)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:208)
at java.lang.ClassLoader.loadClass(ClassLoader.java:325)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:270)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:338)
Error: Could not find the main class.
Error: A JNI error has occurred, please check your installation and try again

(上面问题是何原因,但是好像不影响下面jsp的运行 ^_^ 姑且算作jdk安装成功吧。)

二、tomcat安装:(同样安装在/usr/java目录下)
下载地址:http://mirror.vmmatrix.net/apache/tomcat/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28.tar.gz

1、解压到/usr/java目录:
[root@localhost java]# tar -zxvf jakarta-tomcat-5.0.28.tar.gz
/usr/java目录下将出现一个新的目录jakarta-tomcat-5.0.28

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

2、创建一个文件链接:
[root@localhost java]# ln -s jakarta-tomcat-5.0.28 tomcat

3、配置CATALINA_HOME: 
[root@localhost java]# vi /etc/profile
在文件尾添加
CATALINA_HOME=/usr/java/tomcat
export CATALINA_HOME
:wq 保存退出
 
4、启动tomcat:
[root@localhost tomcat]# bin/startup.sh
shell下输出:

Using CATALINA_BASE: /usr/java/tomcat
Using CATALINA_HOME: /usr/java/tomcat
Using CATALINA_TMPDIR: /usr/java/tomcat/temp
Using JAVA_HOME: /usr/java/jdk1.7.0

5、浏览器中输入:http://localhost:8080 将出现tomcat欢迎页面 ^_^
 
6、管理tomcat:
[root@localhost tomcat]# vi conf/tomcat-users.xml
在tomcat-users和/tomcat-users之间加入:
user username=”admin” password=”admin” roles=”admin,manager”/

7、重启系统:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

浏览器中输入:http://localhost:8080/admin 登入后就可以来管理了输入http://localhost:8080/manager/html 来管理你的工程项目了

来源:https://www.tulaoshi.com/n/20160219/1603945.html

延伸阅读
标签: Java JAVA基础
  JavaServer Pages (JSP) 是一种以 Java为主的跨平台web开发语言。   JSP与微软的Active Server Pages 兼容,但它是使用类似HTML的卷标以及Java程序代码段而不是VBScript。当你所使用的网站服务器没有提供本地ASP支持,也就是Apache或Netscape服务器时,你可以考虑使用JSP。虽然你可以取得这些服务器的ASP附加配备模块,但价...
包装器实现 包装器实现是一种将它们的实际工作委托给一个特定 对象集 的实现,它在该 对象集 所提供的功能之上又增加了额外的功能。 对design patterns(设计样式) 爱好者来说,这是一个 decorator(油漆工) 样式。虽然有点异国情调,但确实简单明了。 !-- frame contents -- !-- /frame contents -- ...
标签: Web开发
本小菜刚开始学习HTML5,现在对其中的Geolocation颇感兴趣,结合Google Map的API实现基本的地图定位功能。 1.获取当前地理位置 调用方法 void getCurrentPosition(onSuccess, onError, options);即可。 其中onSuccess是获取当前位置信息成功时执行的回调函数,onError是获取当前位置信息失败时所执行的回调函数,options是一些可选熟悉列表...
标签: Web开发
如果想要在 XPath 表达式中使用名称空间,必须提供对此名称空间 URI 所用前缀的链接。本文介绍了向名称空间映射提供前缀的三种不同方式。本文亦包含了示例代码以方便您编写自己的 NamespaceContext。   前提条件和示例   本文所有的示例均使用如下这个XML文件:   清单1. 示例XML ?xml version="1.0&q...
标签: Java JAVA基础
简单介绍一下Java关于xml的API,这样大家看到了缩写就知道是干什么的了。水平有限,多多包涵。 1、JAXP(Java API for XML Parsing) 2、JAXB(Java API for XML Binding) 3、JAXM(Java API for XML Messaging) 4、JAX-RPC(Java API for XML-RPC) 1、JAXP定义了在Java中使用DOM, SAX, XSLT的...

经验教程

38

收藏

55
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部