java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
at net.kaka.data.DataReader.<init>(DataReader.java:41)
at net.kaka.swing.MiningPanel.<init>(MiningPanel.java:50)
at net.kaka.swing.McsMining.init(McsMining.java:20)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at net.kaka.data.DataSet.removeSameWord(DataSet.java:121)
at net.kaka.data.DataSet.<init>(DataSet.java:37)
at net.kaka.swing.MiningPanel.<init>(MiningPanel.java:51)
at net.kaka.swing.McsMining.init(McsMining.java:20)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
applet 端是这样的:import java.util.ArrayList;
import java.util.HashMap;
import net.kaka.util.*;
import java.net.*;
import java.io.*;
import javax.sql.rowset.*;
import com.sun.rowset.*;
import java.awt.geom.*; /**
*
* @author zhang
*/
public class DataReader { private ArrayList<String> user; // \u5B58\u50A8\u5404\u4E2A\u7528\u6237\u540D
private ArrayList<String> keyword; // \u5B58\u50A8\u5404\u4E2A\u5173\u952E\u8BCD
private ArrayList<String> text;
public String title;
private HashMap<String, String> synonym;
String id="http://127.0.0.1:8080/www/Datareader?SQL=";
/**
*
* @param fileURL
*/
public DataReader(String fileURL) {
user = new ArrayList<String>(0);
keyword = new ArrayList<String>(0);
text = new ArrayList<String>(0); synonym = new HashMap<String, String>(0);
try {
// Load JDBC driver
String sql=new String("select%20*%20from%20word");
id+=sql;
URL url = new URL(id);
URLConnection urlcon = url.openConnection(); urlcon.connect();
ObjectInputStream ois=new ObjectInputStream(urlcon.getInputStream());
CachedRowSet crs = (CachedRowSet)ois.readObject();
ois.close();
while ( crs.next() )
{
user.add(crs.getString("userID"));
text.add(crs.getString("text"));
keyword.add(crs.getString("keyword1"));
// rawData[i][3] = rs2.getString("time");
}
if(crs.last())
{
title=crs.getString("Thesis");
}
crs.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}SERVLET 端是这样的:import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.sun.rowset.*;
import javax.sql.rowset.*;
import java.util.HashMap;public class Datareader extends HttpServlet
{ public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
{
res.setContentType("text/plain");
PrintWriter out = res.getWriter();
String sql= req.getParameter("SQL");
try
{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String str="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:/Tomcat 6.0/webapps/www/data/mcs2007.mdb";
Connection dbConn=DriverManager.getConnection(str);
Statement stmt=dbConn.createStatement();
ResultSet rs=stmt.executeQuery("sql");
ResultSetMetaData md=rs.getMetaData();
CachedRowSetImpl crs = new CachedRowSetImpl();
crs.populate(rs);
rs.close();
stmt.close();
dbConn.close(); res.setContentType("application/octet-stream");
ObjectOutputStream oos = new ObjectOutputStream(res.getOutputStream());
oos.writeObject(crs);
oos.flush();
oos.close();}
catch (Exception exp) {
exp.printStackTrace();
}} public String getServletInfo()
{
return "A simple Servlet!";
}
}老是说接口有问题,或者说什么要重置(java.net.SocketException: Connection reset)搞不清到底是什么问题。我只要能从ACCESS读取数据到APPLET就行,要传递的是一个数据表的所有记录?应该怎么实现?这样的错误在哪儿?不这样做的话又应该怎么做? 请求指导。。这个问题困扰我很久了,现在实在不能再拖了。。 暂时没有分,有分一定给
at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
at net.kaka.data.DataReader.<init>(DataReader.java:41)
at net.kaka.swing.MiningPanel.<init>(MiningPanel.java:50)
at net.kaka.swing.McsMining.init(McsMining.java:20)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at net.kaka.data.DataSet.removeSameWord(DataSet.java:121)
at net.kaka.data.DataSet.<init>(DataSet.java:37)
at net.kaka.swing.MiningPanel.<init>(MiningPanel.java:51)
at net.kaka.swing.McsMining.init(McsMining.java:20)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
applet 端是这样的:import java.util.ArrayList;
import java.util.HashMap;
import net.kaka.util.*;
import java.net.*;
import java.io.*;
import javax.sql.rowset.*;
import com.sun.rowset.*;
import java.awt.geom.*; /**
*
* @author zhang
*/
public class DataReader { private ArrayList<String> user; // \u5B58\u50A8\u5404\u4E2A\u7528\u6237\u540D
private ArrayList<String> keyword; // \u5B58\u50A8\u5404\u4E2A\u5173\u952E\u8BCD
private ArrayList<String> text;
public String title;
private HashMap<String, String> synonym;
String id="http://127.0.0.1:8080/www/Datareader?SQL=";
/**
*
* @param fileURL
*/
public DataReader(String fileURL) {
user = new ArrayList<String>(0);
keyword = new ArrayList<String>(0);
text = new ArrayList<String>(0); synonym = new HashMap<String, String>(0);
try {
// Load JDBC driver
String sql=new String("select%20*%20from%20word");
id+=sql;
URL url = new URL(id);
URLConnection urlcon = url.openConnection(); urlcon.connect();
ObjectInputStream ois=new ObjectInputStream(urlcon.getInputStream());
CachedRowSet crs = (CachedRowSet)ois.readObject();
ois.close();
while ( crs.next() )
{
user.add(crs.getString("userID"));
text.add(crs.getString("text"));
keyword.add(crs.getString("keyword1"));
// rawData[i][3] = rs2.getString("time");
}
if(crs.last())
{
title=crs.getString("Thesis");
}
crs.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}SERVLET 端是这样的:import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.sun.rowset.*;
import javax.sql.rowset.*;
import java.util.HashMap;public class Datareader extends HttpServlet
{ public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
{
res.setContentType("text/plain");
PrintWriter out = res.getWriter();
String sql= req.getParameter("SQL");
try
{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String str="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:/Tomcat 6.0/webapps/www/data/mcs2007.mdb";
Connection dbConn=DriverManager.getConnection(str);
Statement stmt=dbConn.createStatement();
ResultSet rs=stmt.executeQuery("sql");
ResultSetMetaData md=rs.getMetaData();
CachedRowSetImpl crs = new CachedRowSetImpl();
crs.populate(rs);
rs.close();
stmt.close();
dbConn.close(); res.setContentType("application/octet-stream");
ObjectOutputStream oos = new ObjectOutputStream(res.getOutputStream());
oos.writeObject(crs);
oos.flush();
oos.close();}
catch (Exception exp) {
exp.printStackTrace();
}} public String getServletInfo()
{
return "A simple Servlet!";
}
}老是说接口有问题,或者说什么要重置(java.net.SocketException: Connection reset)搞不清到底是什么问题。我只要能从ACCESS读取数据到APPLET就行,要传递的是一个数据表的所有记录?应该怎么实现?这样的错误在哪儿?不这样做的话又应该怎么做? 请求指导。。这个问题困扰我很久了,现在实在不能再拖了。。 暂时没有分,有分一定给
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货