问题描述
<%@pagecontentType="text/html;Charset=gb2312"%><%@pageimport="java.sql.*"%><html><bodybgcolor="#00FFFF"><%Connectioncon;Statementsql;ResultSetrs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptione){out.print(e);}try{con=DriverManager.getConnection("jdbc:odbc:mymoon","sa","sa");sql=con.createStatement();rs=sql.executeQuery("SELECT*FORMemployeeWHEREsalary>3000");out.print("<tableborder=2>");out.print("<tr>");out.print("thwidth=100>"+"雇员号");out.print("<thwidth=100>"+"姓名");out.print("<thwidth=50>"+"出生日期");out.print("<thwidth=50>"+"薪水");out.print("</tr>");while(rs.next()){out.print("<tr>")out.print("<td>"+rs.getString(1)+"</td>");out.print("<td>"+rs.getString(2)+"</td>");out.print("<td>"+rs.getDate("birthday")+"</td>");out.print("<td>"+rs.getFloat("salary")+"</td>");out.print("</tr>");}out.print("</table>");con.close();}catch(SQLexceptione){out.print(e);}%></body></html>也不知道哪里出错了,求高手帮忙!
解决方案
解决方案二:
下面是使用纯java数据库驱动程序的代码,也是出错,求高手帮忙啊:<%@pagecontentType="text/html;Charset=gb2312"%><%@pageimport="java.sql.*"%><html><bodybgcolor="#00FFFF"><%Connectioncon;Statementsql;ResultSetrs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(Exceptione){out.print(e);}try{Stringuri="jdbc:sqlserver://192.168.1.5:1433;DatabaseName=factory";Stringuser="sa";Stringpassword="sa";con=DriverManager.getConnection(uri,user,password);sql=con.createStatement();rs=sql.executeQuery("SELECT*FORMemployeeWHEREsalary>3000");out.print("<tableborder=2>");out.print("<tr>");out.print("thwidth=100>"+"雇员号");out.print("<thwidth=100>"+"姓名");out.print("<thwidth=50>"+"出生日期");out.print("<thwidth=50>"+"薪水");out.print("</tr>");while(rs.next()){out.print("<tr>")out.print("<td>"+rs.getString(1)+"</td>");out.print("<td>"+rs.getString(2)+"</td>");out.print("<td>"+rs.getDate("birthday")+"</td>");out.print("<td>"+rs.getFloat("salary")+"</td>");out.print("</tr>");}out.print("</table>");con.close();}catch(Exceptione){out.print(e);}%></body></html>出错信息是:exceptionorg.apache.jasper.JasperException:UnabletocompileclassforJSPAnerroroccurredatline:4inthejspfile:/showBySQLDriver.jspGeneratedservleterror:Syntaxerror,insert";"tocompleteBlockStatementsorg.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)javax.servlet.http.HttpServlet.service(HttpServlet.java:802)rootcauseorg.apache.jasper.JasperException:UnabletocompileclassforJSPAnerroroccurredatline:4inthejspfile:/showBySQLDriver.jspGeneratedservleterror:Syntaxerror,insert";"tocompleteBlockStatementsorg.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414)org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305)org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)javax.servlet.http.HttpServlet.service(HttpServlet.java:802)noteThefullstacktraceoftherootcauseisavailableintheApacheTomcat/5.5.20logs.
解决方案三:
真的快崩溃了,如果这个问题搞不定,下面没法学了,哎
解决方案四:
1,检查是否将classpath设置错误:正确的为.;%java_home%librt.jar;%java_home%libtools.jar<!--java_homeisyourjdkdirectory-->2,Thiscanusuallybesolvedbycopyingmanually$JAVA_HOME/lib/tools.jarfromtheJDKtothecommon/libdirectoryoftheTomcatserver,followedbyaTomcatrestart.看到了吗?把jdk安装目录下的lib/tools.jar拷贝到tomcat安装目录下的common/lib目录下,然后重启tomcat,试试。3,设置tomcat的字符集为GBK,预防乱码的产生:F:Tomcat5.0conf目录下的server.xml中增加一个参数URIEncoding="GBK"forexample:<ConnectorURIEncoding="GBK"port="8080"maxThreads="150"minSpareThreads="25"maxSpareThreads="75"enableLookups="false"redirectPort="8443"acceptCount="100"debug="0"connectionTimeout="20000"disableUploadTimeout="true"/>4,增大tomcat的jvm内存使用参数:在F:Tomcat5.0bin目录下的catalina.bat文件中增加setJAVA_OPTS=-Xms256m-Xmx512mforexample:thefirstwordisaddedbyus.setJAVA_OPTS=-Xms384m-Xmx768mset_EXECJAVA=%_RUNJAVA%setMAINCLASS=org.apache.catalina.startup.BootstrapsetACTION=startsetSECURITY_POLICY_FILE=setDEBUG_OPTS=setJPDA=
解决方案五:
out.print("thwidth=100>"+"雇员号");少个括号out.print("<td>"+rs.getString(1)+"</td>");out.print("<td>"+rs.getString(2)+"</td>");out.print("<td>"+rs.getDate("birthday")+"</td>");out.print("<td>"+rs.getFloat("salary")+"</td>");要么全用序列要么全用列名只能帮你看出这么多了。希望对你有帮助
解决方案六:
引用3楼leehuat的回复:
CSScode1,检查是否将classpath设置错误:正确的为.;%java_home%librt.jar;%java_home%libtools.jar<!--java_homeisyourjdkdirectory-->2,Thiscanusuallybesolvedbycopyingmanually$JA……
请问一下,第四点中,我打不开catalina.bat文件,打开后瞬时关闭,来不及更改,还有运行后jsp页面出现乱码如下:com.microsoft.sqlserver.jdbc.SQLServerException:????TCP/IP?????java.net.ConnectException:Connectionrefused:connect我也按你说的第三点中,做了更改,重启后还是不行。怎么办呢?多谢了。