java URL以及UrlConnection使用解析

来源:互联网 发布:linux sqlite3 编辑:程序博客网 时间:2024/06/05 22:58
/****************************************************************///>java URL和Connection使用解析/****************************************************************//****************************************************************/>0.示例代码public static void main(String[] args) {try {//要想struts2的表单值天器自动填充就必须使用伪URL传参不管是使用get还是POST//?path=c:/test.xml&test=2012String spec = "http://localhost:8080/testRRC/solrIndex/testAction!test";URL url = new URL(spec);System.out.println(url);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.setDoInput(true);conn.setDoOutput(true);conn.setInstanceFollowRedirects(true);conn.setRequestProperty("content-type", "text/html");conn.connect();// 握手OutputStream os = conn.getOutputStream();// 拿到输出流// os.write("?path=c:/test.xml&test=2012".getBytes("utf-8"));PrintWriter out = new PrintWriter(os);out.print("?path=c:/test.xml&test=2012");out.flush();os.flush();out.close();os.close();InputStream is = conn.getInputStream();//拿到输入流InputStreamReader isr = new InputStreamReader(is);BufferedReader br = new BufferedReader(isr);String s = br.readLine();System.out.println(s);br.close();isr.close();is.close();} catch (Exception e) {e.printStackTrace();}}/****************************************************************//****************************************************************/>1.不能在URL为传参的时候用的方式(示例代码)/** * 读取配置文件(schema.xml,solrconfig.xml内容) * @param json * @return */public JSONObject editSchema(JSONObject json){solrLog.info("query data="+json);JSONObject object=new JSONObject();boolean flag=true;String error="";URL url;try {JSONObject shardJSON=new JSONObject(json.getString("shard"));url = new URL("http://localhost:8080/patIndexManager/schemaEdit.action");HttpURLConnection conn=(HttpURLConnection)url.openConnection();conn.setRequestMethod("POST");conn.setDoInput(true);conn.setDoOutput(true);conn.setRequestProperty("connection", "Keep-Alive");conn.setRequestProperty("Charsert", "UTF-8");conn.setInstanceFollowRedirects(true);  conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); conn.connect();//注意这里需要用缓存写入器进行写入不然到另外一端收不到//BufferedWriter out = new BufferedWriter(new OutputStreamWriter(  //conn.getOutputStream(), "utf-8"));  //out.write("data="+json);out.flush();  out.close();InputStream is=conn.getInputStream();InputStreamReader reader=new InputStreamReader(is,"utf-8");String jsonStr="";int r=0;while((r=reader.read())!=-1){jsonStr+=(char)r;}object.put("result",jsonStr);is.close();reader.close();}catch (Exception e){flag=false;solrLog.error("IOException",e);error="连接服务器失败";}try {object.put("success", flag);object.put("error", error);} catch (JSONException e){}return object;}/****************************************************************/


 

原创粉丝点击