String sql = "select image from t1 WHERE id=4"; 
 String className = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://localhost:1433;databaseName=test1"; // 数据库名字
String user = "sa";
String pswd = "sa";
Class.forName(className);
Connection conn = DriverManager.getConnection(url, user, pswd);
PreparedStatement ps=conn.prepareStatement(sql);
   ResultSet rs=ps.executeQuery();
   if(rs.next()) {
                  [b] InputStream in = rs.getBinaryStream(1);                 ServletOutputStream op = response.getOutputStream();
                   int len;
                      byte[] buf=new byte[1024];
                       while((len= in.read(buf))!=-1) {
                          op.write(buf, 0, len);
                              in.read(buf);
                        }
                              op.close();
                             in.close();
                            }
在InputStream in = rs.getBinaryStream(1)时候出错?????

解决方案 »

  1.   


       org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 32 in the jsp file: /testimageout.jsp
    Syntax error on tokens, delete these tokens
    29:  PreparedStatement ps=conn.prepareStatement(sql);
    30:     ResultSet rs=ps.executeQuery();
    31:     if(rs.next()) {
    32: 銆��                 InputStream in = rs.getBinaryStream(1);
    33: 銆��               ServletOutputStream op = response.getOutputStream();
    34: 銆��                 int len;
    35: 銆�                   銆�yte[] buf=new byte[1024];
    An error occurred at line: 33 in the jsp file: /testimageout.jsp
    Syntax error on tokens, delete these tokens
    30:     ResultSet rs=ps.executeQuery();
    31:     if(rs.next()) {
    32: 銆��                 InputStream in = rs.getBinaryStream(1);
    33: 銆��               ServletOutputStream op = response.getOutputStream();
    34: 銆��                 int len;
    35: 銆�                   銆�yte[] buf=new byte[1024];
    36: 銆�                    銆�hile((len= in.read(buf))!=-1) {
    An error occurred at line: 34 in the jsp file: /testimageout.jsp
    Syntax error on tokens, delete these tokens
    31:     if(rs.next()) {
    32: 銆��                 InputStream in = rs.getBinaryStream(1);
    33: 銆��               ServletOutputStream op = response.getOutputStream();
    34: 銆��                 int len;
    35: 銆�                   銆�yte[] buf=new byte[1024];
    36: 銆�                    銆�hile((len= in.read(buf))!=-1) {
    37: 銆�                       銆�p.write(buf, 0, len);
    An error occurred at line: 35 in the jsp file: /testimageout.jsp
    Syntax error on tokens, delete these tokens
    32: 銆��                 InputStream in = rs.getBinaryStream(1);
    33: 銆��               ServletOutputStream op = response.getOutputStream();
    34: 銆��                 int len;
    35: 銆�                   銆�yte[] buf=new byte[1024];
    36: 銆�                    銆�hile((len= in.read(buf))!=-1) {
    37: 銆�                       銆�p.write(buf, 0, len);
    38:                               in.read(buf);
    An error occurred at line: 36 in the jsp file: /testimageout.jsp
    Syntax error on tokens, delete these tokens
    33: 銆��               ServletOutputStream op = response.getOutputStream();
    34: 銆��                 int len;
    35: 銆�                   銆�yte[] buf=new byte[1024];
    36: 銆�                    銆�hile((len= in.read(buf))!=-1) {
    37: 銆�                       銆�p.write(buf, 0, len);
    38:                               in.read(buf);
    39: 銆�                     銆�
    An error occurred at line: 37 in the jsp file: /testimageout.jsp
    Syntax error on tokens, delete these tokens
    34: 銆��                 int len;
    35: 銆�                   銆�yte[] buf=new byte[1024];
    36: 銆�                    銆�hile((len= in.read(buf))!=-1) {
    37: 銆�                       銆�p.write(buf, 0, len);
    38:                               in.read(buf);
    39: 銆�                     銆�
    40: 銆��                            op.close();
    An error occurred at line: 39 in the jsp file: /testimageout.jsp
    Syntax error on tokens, delete these tokens
    36: 銆�                    銆�hile((len= in.read(buf))!=-1) {
    37: 銆�                       銆�p.write(buf, 0, len);
    38:                               in.read(buf);
    39: 銆�                     銆�
    40: 銆��                            op.close();
    41: 銆�                          銆�n.close();
    42: 銆��                          }
    An error occurred at line: 41 in the jsp file: /testimageout.jsp
    Syntax error on tokens, delete these tokens
    38:                               in.read(buf);
    39: 銆�                     銆�
    40: 銆��                            op.close();
    41: 銆�                          銆�n.close();
    42: 銆��                          }
    43:           //ServletOutputStream sout = response.getOutputStream();//鍥剧墖杈撳嚭鐨勮緭鍑烘祦
    44:        銆�//InputStream in = rs.getBinaryStream("image");
    An error occurred at line: 42 in the jsp file: /testimageout.jsp
    Syntax error on tokens, delete these tokens
    39: 銆�                     銆�
    40: 銆��                            op.close();
    41: 銆�                          銆�n.close();
    42: 銆��                          }
    43:           //ServletOutputStream sout = response.getOutputStream();//鍥剧墖杈撳嚭鐨勮緭鍑烘祦
    44:        銆�//InputStream in = rs.getBinaryStream("image");
    45: 銆�          // byte b[] = new byte[0x7a120];
    An error occurred at line: 119 in the generated java file
    Syntax error, insert "}" to complete BlockAn error occurred at line: 119 in the generated java file
    Syntax error, insert "else Statement" to complete IfStatementAn error occurred at line: 119 in the generated java file
    Syntax error, insert "}" to complete BlockStacktrace:
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:317)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      

  2.   

    楼主把image以流的方式写到数据库? 存路径就可以了。何必这么麻烦