JS技术

基于云平台+云服务打造自己的在线翻译工具 - 无知人生,记录点滴 - 博客频道 - CSDN.NET 无知人生,记录点滴(2)

字号+ 作者:H5之家 来源:H5之家 2015-12-13 13:10 我要评论( )

前台主要AJAX代码:调用后台的翻译Servlet,实现用户交互 //通过AJAX调用后台翻译程序function doExecTrans(){var txt = $(#InputText).val();if (txt == ){alert(请输入要翻译的文本!);return;}$(#ProgressDiv).s

前台主要AJAX代码:调用后台的翻译Servlet,实现用户交互

//通过AJAX调用后台翻译程序 function doExecTrans(){ var txt = $("#InputText").val(); if (txt == ""){ alert("请输入要翻译的文本!"); return; } $("#ProgressDiv").show(); $.ajax({ type: "GET", url: "TransServlet", dataType:"json", data: {"txt":txt}, success: function(data){ $("#ProgressDiv").hide(); console.log(data); if (data.error){ alert(data.error); }else{ $("#OutputText").text(data.text); } }, error: function(data){ console.log(data);ssss alert( "Error Msg: " + data ); $("#ProgressDiv").hide(); } }); }后台主要代码:TransServlet,与翻译服务Web Service交互
package wasdev.sample.servlet; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.Authenticator; import java.net.URL; import javax.net.ssl.HttpsURLConnection; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * powered by: testcs_dn * Blog: * Create time: 2015/12/12 */ /** * Servlet implementation class TransServlet */ @WebServlet("/TransServlet") public class TransServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * 处理前台AJAX的GET请求 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); //获取AJAX提交的需要翻译的文本 String txt = request.getParameter("txt"); if (txt == null || txt.length() == 0) { response.getWriter().print("{\"error\":\"请输入要翻译的文本!\"}"); return; } //翻译服务的URL String servicesUrl = "https://gateway.watsonplatform.net/language-translation/api/v2/translate?source=en&target=es&text=" + txt; String errMsg = null; String result = ""; BufferedReader in = null; try { URL realUrl = new URL(servicesUrl); //认证信息对象,用于包含访问翻译服务的用户名和密码 Authenticator auth = new MyAuthenticator("c9819718-4660-441c-9df7-07398950ea44", "qUvrJPSdPgOx"); Authenticator.setDefault(auth); // 打开和URL之间的连接 HttpsURLConnection connection = (HttpsURLConnection)realUrl.openConnection(); connection.setDoInput(true); connection.setDoOutput(true);//允许连接提交信息 connection.setRequestMethod("GET"); // 建立实际的连接 connection.connect(); // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader( connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { errMsg = e.getMessage(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { errMsg = e2.getMessage(); } } if (errMsg != null){ response.getWriter().print("{\"error\":\"" + errMsg + "\"}"); }else{ response.getWriter().print("{\"text\":\"" + result + "\"}"); } } } 认证信息对象:MyAuthenticator.java
package wasdev.sample.servlet; import java.net.Authenticator; import java.net.PasswordAuthentication; /** * powered by: testcs_dn * Blog: * Create time: 2015/12/12 * * 认证信息对象 */ public class MyAuthenticator extends Authenticator{ String _userName=null; char[] _password=null; public MyAuthenticator(){ } public MyAuthenticator(String username, String password) { this._userName = username; this._password = password.toCharArray(); } protected PasswordAuthentication getPasswordAuthentication(){ return new PasswordAuthentication(_userName, _password); } }

  • 如果您有更好的应用或想法,试试通过IBM的Bluemix云平台共享出来吧。

    步骤 2. 准备开发环境

    Eclipes:我使用的是

  • 上一篇Windows 7 x64环境下JDK8安装过程
  • 顶 1 踩 0

    我的同类文章

    猜你在找

    查看评论

    * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

    个人资料


    testcs_dn

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • 基于keepalived+nginx部署强健的高可用7层负载均衡方案20151214 - xuyaqun的专栏 - 博客

      基于keepalived+nginx部署强健的高可用7层负载均衡方案20151214 - xu

      2015-12-15 09:14

    • 上传Apk至测试服务器 - Mystra - 博客频道 - CSDN.NET Mystra 知及之,仁不能守之,虽得之,

      上传Apk至测试服务器 - Mystra - 博客频道 - CSDN.NET Mystra 知及之

      2015-12-13 13:05

    • 服务器控件中js脚本注册方法_javascript教程教程

      服务器控件中js脚本注册方法_javascript教程教程

      2015-10-08 11:17

    • 如何在服务端(Page.Write)调用自定义的JS方法_javascript教程教程

      如何在服务端(Page.Write)调用自定义的JS方法_javascript教程教程

      2015-10-07 17:13

    网友点评
    s