crc错误
校验错误,图片数据有误 ?
校验错误,图片数据有误 ?
解决方案 »
- Spring过滤器
- Spring管理Session何时打开何时关闭?使用getHibernateTemplate()时如何解决nosession问题?
- javax.servlet.http这里那里有下载
- 请教Java EE最少需要哪些技术?
- 求servlet的调试方法,100分
- 怎么开起j2ee服务器
- Tomcat服务器解析hibernate.cfg.xml文件时提示连接超时,求解决!
- 使用Jboss是要安装J2EE对应的jdk吗?
- intellij+jboss应该怎样编译才能生成存根类????
- jboss运行出错,请帮忙,我是按照网络上某一文档去一步步作的,当我打java InterestClib时出问题
- 我是应届毕业生,马上又要去参加面试,方向是j2ee的,大哥们给点意见!
- jbuilder和sql server的连接问题,怎么也连不上,郁闷中……,错误如下:
源码如下:
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.ServerSocket;import java.sql.*;public class PhotoServer { private int port = 1929; private ServerSocket serverSocket; static final String dbURL =
"jdbc:mysql://ZXL/j2mebook?" +
"user=j2meapps&password=bigsecret&useUnicode=true&characterEncoding=8859_1"; public PhotoServer() throws ClassNotFoundException {
Class.forName("org.gjt.mm.mysql.Driver");
} public void acceptConnections() { try {
serverSocket = new ServerSocket(port);
}
catch (IOException e) {
System.err.println("ServerSocket instantiation failure");
e.printStackTrace();
System.exit(0);
} while (true) {
try {
Socket newConnection = serverSocket.accept();
System.out.println("accepted connection");
ServerThread st = new ServerThread(newConnection);
new Thread(st).start();
}
catch (IOException ioe) {
System.err.println("server accept failed");
}
}
}
public static void main(String args[]) { PhotoServer server = null;
try {
server = new PhotoServer();
}
catch (ClassNotFoundException e) {
System.out.println("unable to load JDBC driver");
e.printStackTrace();
System.exit(1);
} server.acceptConnections();
} class ServerThread implements Runnable { private Socket socket;
private DataInputStream datain;
private DataOutputStream dataout; public ServerThread(Socket socket) {
this.socket = socket;
} public void run() {
try {
datain = new DataInputStream(new BufferedInputStream
(socket.getInputStream()));
dataout = new DataOutputStream(new BufferedOutputStream
(socket.getOutputStream()));
}
catch (IOException e) {
return;
}
byte[] ba = new byte[50];
boolean conversationActive = true;
while(conversationActive) {
String name = null;
try {
datain.read(ba,0,50);
name = new String(ba);
if ((name.length() == 1) &&
(name.toUpperCase().charAt(0) == 'Q')) {
conversationActive = false;
}
else {
String fileName = getFileName(name.trim());
byte[] ia = getImage(fileName);
String sl = Integer.toString(ia.length) + "\n";
System.out.println("sending length = " + sl);
dataout.write(sl.getBytes(),0,sl.length());
dataout.flush();
System.out.println("sending " + ia.length + " bytes");
dataout.write(ia,0,ia.length);
dataout.flush();
System.out.println("photo sent");
}
}
catch (IOException ioe) {
conversationActive = false;
}
}
try {
System.out.println("closing socket");
datain.close();
dataout.close();
socket.close();
System.exit(0);
}
catch (IOException e) {
}
} private String getFileName(String name) {
String fileName = "nophoto";
Connection conn = null;
try {
conn = DriverManager.getConnection(dbURL); Statement stmt = conn.createStatement();
int ix = name.indexOf(",");
String first = name.substring(ix + 1);
String last = name.substring(0,ix);
String query = "SELECT filename FROM photos " +
"WHERE lastname = '" + last + "'" +
" AND " +
"firstname = '" + first + "'";
System.out.println("query = " + query);
ResultSet rs = stmt.executeQuery(query);
if (rs.next()) {
fileName = rs.getString(1);
}
}
catch (SQLException e) {
System.out.println("ERROR: " + e.getMessage());
fileName = "error";
}
finally {
if (conn != null) {
try {
conn.close();
}
catch (SQLException e) {
}
}
}
return fileName + ".png";
} private byte[] getImage(String fname) {
byte[] ba = new byte[0];
try {
File f = new File("F:" + fname);
ba = new byte[(int)f.length()];
BufferedInputStream bis =
new BufferedInputStream(new FileInputStream(f));
int nb = bis.read(ba,0,ba.length);
System.out.println("nb = " + nb);
bis.close();
}
catch (IOException e) {
System.out.println(e.getMessage());
}
finally {
return ba;
}
} }
}