开发者社区> 问答> 正文

求新闻app通过tomcat和mysql获取网络新闻的过程

新闻app已写好,各种接口工具都有,只需要大神的详细过程怎么连接

展开
收起
a123456678 2016-03-10 14:47:23 2216 0
1 条回答
写回答
取消 提交回答
  • 通过HTTP协议,这是代码参考,是以同步方式进行网络访问的,返回验证码为200就是请求成功!
    然后通过JSON进行数据传送!希望可以帮助你!
    /**
    *
    *以同步方式发送Http请求
    */

    public class SyncHttp
    {
    
    /**
     * 通过GET方式发送请求
     * @param url URL地址
     * @param params 参数
     * @return 
     * @throws Exception
     */
    public String httpGet(String url, String params) throws Exception
    {
        String response = null; //返回信息
        //拼接请求URL
        if (null!=params&&!params.equals(""))
        {
            url += "?" + params;
        }
    
        int timeoutConnection = 3000;  
        int timeoutSocket = 5000;  
        HttpParams httpParameters = new BasicHttpParams();// Set the timeout in milliseconds until a connection is established.  
        HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);// Set the default socket timeout (SO_TIMEOUT) // in milliseconds which is the timeout for waiting for data.  
        HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);  
    
        // 构造HttpClient的实例
        HttpClient httpClient = new DefaultHttpClient(httpParameters);  
        // 创建GET方法的实例
        HttpGet httpGet = new HttpGet(url);
        try
        {
            HttpResponse httpResponse = httpClient.execute(httpGet);
            int statusCode = httpResponse.getStatusLine().getStatusCode();
            if (statusCode == HttpStatus.SC_OK) //SC_OK = 200
            {
                // 获得返回结果
                response = EntityUtils.toString(httpResponse.getEntity());
            }
            else
            {
                response = "返回码:"+statusCode;
            }
        } catch (Exception e)
        {
            throw new Exception(e);
        } 
        return response;
    }
    
    /**
     * 通过POST方式发送请求
     * @param url URL地址
     * @param params 参数
     * @return
     * @throws Exception
     */
    public String httpPost(String url, List<Parameter> params) throws Exception
    {
        String response = null;
        int timeoutConnection = 3000;  
        int timeoutSocket = 5000;  
        HttpParams httpParameters = new BasicHttpParams();// Set the timeout in milliseconds until a connection is established.  
        HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);// Set the default socket timeout (SO_TIMEOUT) // in milliseconds which is the timeout for waiting for data.  
        HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);  
        // 构造HttpClient的实例
        HttpClient httpClient = new DefaultHttpClient(httpParameters);  
        HttpPost httpPost = new HttpPost(url);
        if (params.size()>=0)
        {
            //设置httpPost请求参数
            httpPost.setEntity(new UrlEncodedFormEntity(buildNameValuePair(params),HTTP.UTF_8));
        }
        //使用execute方法发送HTTP Post请求,并返回HttpResponse对象
        HttpResponse httpResponse = httpClient.execute(httpPost);
        int statusCode = httpResponse.getStatusLine().getStatusCode();
        if(statusCode==HttpStatus.SC_OK)
        {
            //获得返回结果
            response = EntityUtils.toString(httpResponse.getEntity());
        }
        else
        {
            response = "返回码:"+statusCode;
        }
        return response;
    }
    
    /**
     * 把Parameter类型集合转换成NameValuePair类型集合
     * @param params 参数集合
     * @return
     */
    private List<BasicNameValuePair> buildNameValuePair(List<Parameter> params)
    {
        List<BasicNameValuePair> result = new ArrayList<BasicNameValuePair>();
        for (Parameter param : params)
        {
            BasicNameValuePair pair = new BasicNameValuePair(param.getName(), param.getValue());
            result.add(pair);
        }
        return result;
    }
    }
    2019-07-17 18:57:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云轻APP - BOAT -帮助企业低成本构建高性能 APP 立即下载
女性移动App安全攻防战 立即下载
汇聚云计算的生态核能——云市场,云上APP Store 立即下载

相关镜像