2024年前端最全Java进阶(三十二) HttpClient使用详解_java httpclient(2),前端项目流程面试题

总结一下

面试前要精心做好准备,简历上写的知识点和原理都需要准备好,项目上多想想难点和亮点,这是面试时能和别人不一样的地方。

还有就是表现出自己的谦虚好学,以及对于未来持续进阶的规划,企业招人更偏爱稳定的人。

万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

为了帮助大家更好更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。

前端面试题汇总

/**
 * HttpClient连接SSL
 */  
public void ssl() {  
    CloseableHttpClient httpclient = null;  
    try {  
        KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());  
        FileInputStream instream = new FileInputStream(new File("d:\\tomcat.keystore"));  
        try {  
            // 加载keyStore d:\\tomcat.keystore    
            trustStore.load(instream, "123456".toCharArray());  
        } catch (CertificateException e) {  
            e.printStackTrace();  
        } finally {  
            try {  
                instream.close();  
            } catch (Exception ignore) {  
            }  
        }  
        // 相信自己的CA和所有自签名的证书  
        SSLContext sslcontext = SSLContexts.custom().loadTrustMaterial(trustStore, new TrustSelfSignedStrategy()).build();  
        // 只允许使用TLSv1协议  
        SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext, new String[] { "TLSv1" }, null,  
                SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);  
        httpclient = HttpClients.custom().setSSLSocketFactory(sslsf).build();  
        // 创建http请求(get方式)  
        HttpGet httpget = new HttpGet("https://localhost:8443/myDemo/Ajax/serivceJ.action");  
        System.out.println("executing request" + httpget.getRequestLine());  
        CloseableHttpResponse response = httpclient.execute(httpget);  
        try {  
            HttpEntity entity = response.getEntity();  
            System.out.println("----------------------------------------");  
            System.out.println(response.getStatusLine());  
            if (entity != null) {  
                System.out.println("Response content length: " + entity.getContentLength());  
                System.out.println(EntityUtils.toString(entity));  
                EntityUtils.consume(entity);  
            }  
        } finally {  
            response.close();  
        }  
    } catch (ParseException e) {  
        e.printStackTrace();  
    } catch (IOException e) {  
        e.printStackTrace();  
    } catch (KeyManagementException e) {  
        e.printStackTrace();  
    } catch (NoSuchAlgorithmException e) {  
        e.printStackTrace();  
    } catch (KeyStoreException e) {  
        e.printStackTrace();  
    } finally {  
        if (httpclient != null) {  
            try {  
                httpclient.close();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
        }  
    }  
}  

/**
 * post方式提交表单(模拟用户登录请求)
 */  
public void postForm() {  
    // 创建默认的httpClient实例.    
    CloseableHttpClient httpclient = HttpClients.createDefault();  
    // 创建httppost    
    HttpPost httppost = new HttpPost("http://localhost:8080/myDemo/Ajax/serivceJ.action");  
    // 创建参数队列    
    List<namevaluepair> formparams = new ArrayList<namevaluepair>();  
    formparams.add(new BasicNameValuePair("username", "admin"));  
    formparams.add(new BasicNameValuePair("password", "123456"));  
    UrlEncodedFormEntity uefEntity;  
    try {  
        uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8");  
        httppost.setEntity(uefEntity);  
        System.out.println("executing request " + httppost.getURI());  
        CloseableHttpResponse response = httpclient.execute(httppost);  
        try {  
            HttpEntity entity = response.getEntity();  
            if (entity != null) {  
                System.out.println("--------------------------------------");  
                System.out.println("Response content: " + EntityUtils.toString(entity, "UTF-8"));  
                System.out.println("--------------------------------------");  
            }  
        } finally {  
            response.close();  
        }  
    } catch (ClientProtocolException e) {  
        e.printStackTrace();  
    } catch (UnsupportedEncodingException e1) {  
        e1.printStackTrace();  
    } catch (IOException e) {  
        e.printStackTrace();  
    } finally {  
        // 关闭连接,释放资源    
        try {  
            httpclient.close();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
}  

/**
 * 发送 post请求访问本地应用并根据传递参数不同返回不同结果
 */  
public void post() {  
    // 创建默认的httpClient实例.    
    CloseableHttpClient httpclient = HttpClients.createDefault();  
    // 创建httppost    
    HttpPost httppost = new HttpPost("http://localhost:8080/myDemo/Ajax/serivceJ.action");  
    // 创建参数队列    
    List<namevaluepair> formparams = new ArrayList<namevaluepair>();  
    formparams.add(new BasicNameValuePair("type", "house"));  
    UrlEncodedFormEntity uefEntity;  
    try {  
        uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8");  
        httppost.setEntity(uefEntity);  
        System.out.println("executing request " + httppost.getURI());  
        CloseableHttpResponse response = httpclient.execute(httppost);  
        try {  
            HttpEntity entity = response.getEntity();  
            if (entity != null) {  
                System.out.println("--------------------------------------");  
                System.out.println("Response content: " + EntityUtils.toString(entity, "UTF-8"));  
                System.out.println("--------------------------------------");  
            }  
        } finally {  
            response.close();  
        }  
    } catch (ClientProtocolException e) {  
        e.printStackTrace();  
    } catch (UnsupportedEncodingException e1) {  
        e1.printStackTrace();  
    } catch (IOException e) {  
        e.printStackTrace();  
    } finally {  
        // 关闭连接,释放资源    
        try {  
            httpclient.close();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
}  

/**
 * 发送 get请求
 */  
public void get() {  
    CloseableHttpClient httpclient = HttpClients.createDefault();  
    try {  
        // 创建httpget.    
        HttpGet httpget = new HttpGet("http://www.baidu.com/");  
        System.out.println("executing request " + httpget.getURI());  
        // 执行get请求.    
        CloseableHttpResponse response = httpclient.execute(httpget);  
        try {  
            // 获取响应实体    
            HttpEntity entity = response.getEntity();  
            System.out.println("--------------------------------------");  
            // 打印响应状态    
            System.out.println(response.getStatusLine());  
            if (entity != null) {  
                // 打印响应内容长度    
                System.out.println("Response content length: " + entity.getContentLength());  
                // 打印响应内容    
                System.out.println("Response content: " + EntityUtils.toString(entity));  
            }  
            System.out.println("------------------------------------");  
        } finally {  
            response.close();  
        }  
    } catch (ClientProtocolException e) {  
        e.printStackTrace();  
    } catch (ParseException e) {  
        e.printStackTrace();  
    } catch (IOException e) {  
        e.printStackTrace();  
    } finally {  
        // 关闭连接,释放资源    
        try {  
            httpclient.close();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
}  

/**
 * 上传文件
 */  
public void upload() {  
    CloseableHttpClient httpclient = HttpClients.createDefault();  
    try {  
        HttpPost httppost = new HttpPost("http://localhost:8080/myDemo/Ajax/serivceFile.action");  

        FileBody bin = new FileBody(new File("F:\\image\\sendpix0.jpg"));  
        StringBody comment = new StringBody("A binary file of some kind", ContentType.TEXT_PLAIN);  

        HttpEntity reqEntity = MultipartEntityBuilder.create().addPart("bin", bin).addPart("comment", comment).build();  

        httppost.setEntity(reqEntity);  

        System.out.println("executing request " + httppost.getRequestLine());  
        CloseableHttpResponse response = httpclient.execute(httppost);  
        try {  
            System.out.println("----------------------------------------");  
            System.out.println(response.getStatusLine());  
            HttpEntity resEntity = response.getEntity();  
            if (resEntity != null) {  
                System.out.println("Response content length: " + resEntity.getContentLength());  
            }  
            EntityUtils.consume(resEntity);  
        } finally {  
            response.close();  
        }  
    } catch (ClientProtocolException e) {  
        e.printStackTrace();  
    } catch (IOException e) {  
        e.printStackTrace();  
    } finally {  
        try {  
            httpclient.close();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
}  

}


 


     本实例是采用HttpClient4.3最新版本。该版本与之前的代码写法风格相差较大,大家多留意下。


### 结尾

学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**

高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

![html5](https://img-blog.csdnimg.cn/img_convert/d35c2cf2d5364b4907e65f1856c923a4.png)







  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值