servlet无法返回结果,sql是可以查出结果的但客户端无法获得。public void actionPerformed(ActionEvent e) {
try{
String data = URLEncoder.encode("sql", "UTF-8") + "=" + URLEncoder.encode("select gsjc,gsbh from ld_gs", "UTF-8");
URL url = new URL("http://192.168.0.117:8080/servlet1");
URLConnection urlcon = url.openConnection();
urlcon.setDoOutput(true);
urlcon.connect();
System.out.println("建立连接");
OutputStreamWriter wr = new OutputStreamWriter(urlcon.getOutputStream());
wr.write(data);
wr.flush(); ObjectInputStream ois=new ObjectInputStream(urlcon.getInputStream());//和servlet建立连接
//CachedRowSetImpl crs = (CachedRowSetImpl)ois.readObject();
ResultSet rst = (ResultSet)ois.readObject();
while(rst.next())
{
String sqlname = rst.getString("gsjc");
System.out.println(sqlname);
} } catch(Exception e1){
} }
servlet代码如下: Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("dbc:oracle:thin:@192.168.0.100:1521:dc","hydbuser","hydbuser");
Statement sta = conn.createStatement();
String sql = request.getParameter("sql");
System.out.println("sql:"+sql);
ResultSet rst = sta.executeQuery(sql);
//CachedRowSetImpl crs = new CachedRowSetImpl();
//crs.populate(rst);
// while(rst.next())
// {
// String sqlname = rst.getString("gsjc");
// System.out.println(sqlname);
// }
// rst.close();
// sta.close();
// conn.close(); response.setContentType("application/octet-stream");
ObjectOutputStream oos = new ObjectOutputStream(response.getOutputStream());
oos.writeObject(rst);//传递结果集
oos.close();
rst.close();
sta.close();
conn.close();
}
try{
String data = URLEncoder.encode("sql", "UTF-8") + "=" + URLEncoder.encode("select gsjc,gsbh from ld_gs", "UTF-8");
URL url = new URL("http://192.168.0.117:8080/servlet1");
URLConnection urlcon = url.openConnection();
urlcon.setDoOutput(true);
urlcon.connect();
System.out.println("建立连接");
OutputStreamWriter wr = new OutputStreamWriter(urlcon.getOutputStream());
wr.write(data);
wr.flush(); ObjectInputStream ois=new ObjectInputStream(urlcon.getInputStream());//和servlet建立连接
//CachedRowSetImpl crs = (CachedRowSetImpl)ois.readObject();
ResultSet rst = (ResultSet)ois.readObject();
while(rst.next())
{
String sqlname = rst.getString("gsjc");
System.out.println(sqlname);
} } catch(Exception e1){
} }
servlet代码如下: Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("dbc:oracle:thin:@192.168.0.100:1521:dc","hydbuser","hydbuser");
Statement sta = conn.createStatement();
String sql = request.getParameter("sql");
System.out.println("sql:"+sql);
ResultSet rst = sta.executeQuery(sql);
//CachedRowSetImpl crs = new CachedRowSetImpl();
//crs.populate(rst);
// while(rst.next())
// {
// String sqlname = rst.getString("gsjc");
// System.out.println(sqlname);
// }
// rst.close();
// sta.close();
// conn.close(); response.setContentType("application/octet-stream");
ObjectOutputStream oos = new ObjectOutputStream(response.getOutputStream());
oos.writeObject(rst);//传递结果集
oos.close();
rst.close();
sta.close();
conn.close();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货