学习日志day45(2021-09-09)(1、有道翻译API使用json格式数据 2、JSONP 3、Ajax提交form表单 4、Web Uploader)

这篇学习日志涵盖了JavaWeb的多个知识点,包括利用有道翻译API进行json格式数据传输,理解JSONP解决跨域问题,使用Ajax提交form表单,以及Web Uploader组件的介绍和使用。
摘要由CSDN通过智能技术生成

学习内容:学习JavaWeb(Day45)

1、有道翻译API使用json格式数据
2、JSONP
3、Ajax提交form表单
4、Web Uploader


1、有道翻译API使用json格式数据

(1)根据昨天学习的Ajax跨域操作,继续使用有道翻译API,用json数据格式传输数据。
使用的工具类不变

public class HttpReqUtil {
   
    public static String getReq(String url) throws IOException {
   
        //使用HttpClient发送get/post请求
        CloseableHttpClient httpclient = HttpClients.createDefault();
        HttpGet httpGet = new HttpGet(url);//发送get请求,url是传输来的有道翻译API
        CloseableHttpResponse response1 = httpclient.execute(httpGet);
        System.out.println(response1);

        try {
   
            HttpEntity entity1 = response1.getEntity();
            //getContent()方法获得entity1的内容并返回一个输入流,
            //IOUtils类属于commons.io.jar包,IOUtils的toString方法将输入流转化为字符串
            String result = IOUtils.toString(entity1.getContent(),"UTF-8");
            return result;
        } finally {
   
            response1.close();
        }
    }
}

创建servlet

 String q = request.getParameter("q");
 //url编码格式中不允许出现空格,需要把空格替换为20%
 q = q.replace(" ","%20");
 //使用的有道翻译API的数据格式doctype=json
 String result = HttpReqUtil.getReq("http://fanyi.youdao.com/openapi.do?keyfrom=neverland&key=969918857&type=data&doctype=json&version=1.1&q=" + q);
 //设置contentType为application/json,传输之后进行json解析
 response.setContentType("application/json;charset=utf-8");
 PrintWriter out = response.getWriter();
 out.print(result);
 out.flush();
 out.close();

创建jsp页面

<body>
请输入要翻译的内容:<input type="text" id="cont"> <input type="button" value="翻译" id="btn">
<div id="result"></div>
<script type="text/javascript">
$(function(){
     
    $("#btn").click(function (){
     
        //获取输入的内容
        let cont = $("#cont").val();
        //Ajax请求
        $.getJSON("/transjson",{
     q:cont},function (json){
     
            //translation是一个json数据的键
            let result = json.translation;
            $
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值