求新闻app通过tomcat和mysql获取网络新闻的过程-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

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

a123456678 2016-03-10 14:47:23 1414

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

关系型数据库 MySQL 应用服务中间件
分享到
取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 18:57:41

    通过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;
    }
    }
    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题