zoukankan      html  css  js  c++  java
  • 百度翻译api

    项目遇到个需求,需要使用在线翻译功能

    果断,选择百度翻译

    地址

    注册开发者账号,完成后

    一系列申请后【具体忘了,,,这两天一直在忙别的。。。。】

     可以在开发者页面看到分配到的 APP ID和密钥

     接下来,下载示例JAVA文件

     下载完成后,进入"java"目录

     进入该目录下的 src 目录

    进入 com 根目录下的三个java文件

    在相应的项目中创建包,复制三个java文件进入

    test.java

     

    这里的 "auto" 和 "zh",是指,自动检测需要翻译的文字所用的语言,翻译成中文

    测试输出一下

    {"from":"en","to":"zh","trans_result":[{"src":"Programming Thought Of Java","dst":"Javau7f16u7a0bu601du60f3"}]}
    Java编程思想

     

    最后,只需要在JSP网页中调用这个test类的fanyi()方法,传入要翻译的英文即可

    在上方图片所在网页中,点击“提取”按钮后,触发以下的javaScript程序

    <script>
    function getfanyi() {
      //获取输入框的文字
    var xx = document.getElementById("in").value; if(xx == ""){
         //如果没有输入文字,就在输入框下方的结果显示框发出提示 document.getElementById(
    "fyre").value = "请先输入..."; }else{      //通过AJAX向服务器 fanyi.jsp 发送一个同步请求,传入提取到的要翻译的文字
         //为啥用 false ,下面解释
    var xmlhttp = new XMLHttpRequest(); xmlhttp.open("POST","/xxx/fanyi.jsp?query="+xx,false); xmlhttp.send(null); //ajax 请求完毕,开始读取cookie var re = getCookie("fanyi"); document.getElementById("fyre").value = re; } }; function getCookie(cname){ var name = cname + "="; var ca = document.cookie.split(';'); for(var i=0; i<ca.length; i++) { var c = ca[i].trim(); if (c.indexOf(name)==0) { return c.substring(name.length,c.length); } } return ""; }; </script>

    fanyi.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ page import="fanyi.*" %>
    
    
    <%
    request.setCharacterEncoding("UTF-8");
    String q = request.getParameter("query"); 
    
    test ts = new test();   //实例化test类,调用其 fanyi() 方法,返回 字符串形式的结果
    String xx = ts.fanyi(q);
    
    response.setContentType("text/html;charset=UTF-8");   //设置服务器的响应,对request请求者返回翻译的结果到其浏览器的本地cookie中
    Cookie cc = new Cookie("fanyi",xx);
    cc.setMaxAge(10);
    response.addCookie(cc);
    %>   
    通过AJAX向服务器 fanyi.jsp 发送一个同步请求时,用到的是 false。。原因是,只有等到 fanyi.jsp 获取到结果并将其写入请求者的本地cookie中,才可以通过javaScript 读取到存在的、正确的、有结果的cookie,获得翻译的结果

    否则,输入xxx后,第一次点击翻译按钮是没有结果的【因为javaScript是单线程,不会等到 fanyi.jsp 执行完毕就会去执行下一条程序,所以本地cookie中是没有翻译结果的】,再次点击才会出现


    当然,完全可以写成servlet。。。。就是有点懒的配置。。。。。。

  • 相关阅读:
    重写分词器
    twitterfeed
    What is WSGI?
    lucene 3.3一元切分查询例子
    How to Import Your Blog to Facebook Automaticly Using Notes
    协同过滤 学习笔记
    Python入门练习(一):基于全切分,一元语法模型的汉语分词
    test blog sync to qq microblogging
    solr的用分布式搜索(转)
    盘古分词功能简介
  • 原文地址:https://www.cnblogs.com/expedition/p/11411895.html
Copyright © 2011-2022 走看看