JSP+SQL连数据库的问题
我的一段用JSP+SQL连数据库的程序,哪位高手帮看看是哪错了
代码如下
<%@ page contentType= "text/html;charset=gb2312 "%>
<%@ page import= "java.sql.* "%>
<html>
<body>
<%Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver ").newInstance();
String url= "jdbc:microsoft:sqlserver://localhost:8080;DatabaseName=master ";
//pubs为你的数据库的
String user= "sa ";
String password= "111111 ";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql= "select * from test ";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为: <%=rs.getString(1)%>
您的第二个字段内容为: <%=rs.getString(2)%>
<%}%>
<%out.print( "数据库操作成功,恭喜你 ");%>
</body>
</html>
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 5 in the jsp file: /1.jsp
Generated servlet error:
Syntax error on tokens, delete these tokens
An error occurred at line: 5 in the jsp file: /1.jsp
Generated servlet error:
Syntax error on tokens, delete these tokens
An error occurred at line: 5 in the jsp file: /1.jsp
Generated servlet error:
Syntax error on tokens, delete these tokens
An error occurred at line: 5 in the jsp file: /1.jsp
Generated servlet error:
Syntax error on tokens, delete these tokens
An error occurred at line: 5 in the jsp file: /1.jsp
Generated servlet error:
Syntax error on tokens, delete these tokens
An error occurred at line: 5 in the jsp file: /1.jsp
Generated servlet error:
Syntax error on tokens, delete these tokens
An error occurred at line: 5 in the jsp file: /1.jsp
Generated servlet error:
Syntax error on tokens, delete these tokens
An error occurred at line: 5 in the jsp file: /1.jsp
Generated servlet error:
Syntax error on tokens, delete these tokens
org.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:397)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.
报错如下:
[解决办法]
编译错误,
Statement stmt=conn.createStatement这一句少分号的原因?
[解决办法]
<%Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver ").newInstance();
====================================================================================
可能是这一句
[解决办法]
你是不是没装jdk啊?
[解决办法]
或者是你的环境变量的设置不正确
都设置好了吗?
[解决办法]
可能是缺少异常捕获
用try{
}
catch (Exception e){
out.println(e.getMessage());
}
将你的程序放在try中试试
[解决办法]
还有结束时候记得关闭链接
rs.close();
stmt.close();
conn.close();
[解决办法]
说实在的,我到现在没看出这些Source有什么不对劲,又是编译错误,我觉得可能跟你的jdk有关
[解决办法]
<%Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver ").newInstance();
这句的错
[解决办法]
你的那个 <%Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver ").newInstance(); 有错误了-- "microsoft "应该写成 "miscrosoft "的~~呵呵
[解决办法]
应该是手误吧~~呵呵
[解决办法]
不好意思,我高错了,请大家原谅!!
[解决办法]
没看出错误,楼上提出的问题应该我觉得都不会造成无法编译。。。。
难道是JDK?
[解决办法]
lz不防将 <%......%> 之间的空白区域全部删除,再分行,我估计你的源文件里面有非英文的空白字符。试试看。
[解决办法]
所以造成无法编译的问题。
[解决办法]
lz不防将 <%......%> 之间的空白区域全部删除,再分行,我估计你的源文件里面有非英文的空白字符。试试看。
======
这位大哥说的是啊...不知道这些字符是怎么输入的?
<%@ page contentType= "text/html;charset=gb2312 "%>
<%@ page import= "java.sql.* "%>
<%
Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver ").newInstance();
String url= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=master ";
String user= "sa ";
String password= "sa ";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql= "select * from test ";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为: <%=rs.getString(1)%>
您的第二个字段内容为: <%=rs.getString(2)%>
<%}%>
<%out.print( "数据库操作成功,恭喜你 ");%>
花了我些时间,晕
[解决办法]
我把上面的程序保存在C盘下,文件名为Jspsqltest.jsp,在JCreator里边运行报出如下错误:
javac: 无效的标志: C:\Jspsqltest.jsp
用法: javac <options> <source files>
-help 用于列出可能的选项
感觉相当无奈,谁能说说这是什么原因?
[解决办法]
在写Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver ").newInstance();这句时最好到记事本下写,我前几个星期也遇到这错误.
我的异常网推荐解决方案:org.apache.jasper.JasperException: Unable to compile class,http://www.myexception.cn/j2ee/2308.html