String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
Class.forName(sDBDriver);
String sConnStr="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs";
Connection connWeb=DriverManager.getConnection(sConnStr,"sa","sa");
%>
这段代码有问题吗?我是JSP新手:(
网上说要安装JDBC,不装可以吗?给点指教吧!
28 个解决方案
#1
不装肯定不行萨,就像你写了个程序,要调用某个类的东西,但是没这个类行么?
com.microsoft.jdbc.sqlserver.SQLServerDriver这个东西就是个类文件
com.microsoft.jdbc.sqlserver.SQLServerDriver这个东西就是个类文件
#2
JDBC驱动是要装的,不然没法。
我也新手,代码好像没问题。
你加一条查询语句看看查询结果是啥就行
这段代码你试试,在我这是可以的
<%@ page contentType="text/html; charset=gb2312" language="java"import="java.sql.*,java.io.*"%>
以下是从Ms SQL Server2000数据库读取的数据:
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=xxxx","sa","");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from yyyy");
while(rst.next())
{
out.println("<tr>");
out.println("<td>"+rst.getString(1)+"</td>");
out.println("<td>"+rst.getString(2)+"</td>");
out.println("<td>"+rst.getString(3)+"</td>");
out.println("<td>"+rst.getString(4)+"</td>");
out.println("</tr>");
}
//关闭连接、释放资源
rst.close();
stmt.close();
con.close();
%>
其中xxxx为数据库名,yyyy为表名
我也新手,代码好像没问题。
你加一条查询语句看看查询结果是啥就行
这段代码你试试,在我这是可以的
<%@ page contentType="text/html; charset=gb2312" language="java"import="java.sql.*,java.io.*"%>
以下是从Ms SQL Server2000数据库读取的数据:
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=xxxx","sa","");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from yyyy");
while(rst.next())
{
out.println("<tr>");
out.println("<td>"+rst.getString(1)+"</td>");
out.println("<td>"+rst.getString(2)+"</td>");
out.println("<td>"+rst.getString(3)+"</td>");
out.println("<td>"+rst.getString(4)+"</td>");
out.println("</tr>");
}
//关闭连接、释放资源
rst.close();
stmt.close();
con.close();
%>
其中xxxx为数据库名,yyyy为表名
#3
不可以的
必须装JDBC的驱动
必须装JDBC的驱动
#4
sp3补丁也很重要喔
#5
www.microsoft.com/sql/default.mspx
SQL Server 2000 Driver for JDBC SP3
SQL Server 2000 Driver for JDBC SP3
#6
直接丢sp4补丁也可,我就是
#7
听楼上诸位的意见,我已经装过JDBC了,可程序还是有错。
用jinjieai4587(死海文书)的例子:
<%@ page contentType="text/html; charset=gb2312" language="java"import="java.sql.*,java.io.*"%>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs","sa","sa");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from authors");
while(rst.next())
{
out.println("<tr>");
out.println("<td>"+rst.getString(1)+"</td>");
out.println("<td>"+rst.getString(2)+"</td>");
out.println("<td>"+rst.getString(3)+"</td>");
out.println("<td>"+rst.getString(4)+"</td>");
out.println("</tr>");
}
//关闭连接、释放资源
rst.close();
stmt.close();
con.close();
%>
还是出错呀。。。
用jinjieai4587(死海文书)的例子:
<%@ page contentType="text/html; charset=gb2312" language="java"import="java.sql.*,java.io.*"%>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs","sa","sa");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from authors");
while(rst.next())
{
out.println("<tr>");
out.println("<td>"+rst.getString(1)+"</td>");
out.println("<td>"+rst.getString(2)+"</td>");
out.println("<td>"+rst.getString(3)+"</td>");
out.println("<td>"+rst.getString(4)+"</td>");
out.println("</tr>");
}
//关闭连接、释放资源
rst.close();
stmt.close();
con.close();
%>
还是出错呀。。。
#8
补丁大过了?
什么异常,贴出来
什么异常,贴出来
#9
恩,贴出错误来
#10
首先打上sp3的补丁,然后放入把安装jdbc驱动时产生的三个jar包到tomcat安装目录中的common\lib中
#11
必须装包!!!!!!!!!!!!1
#12
不装SQL Server 纯JDBC驱动也行,楼上harston(顽石) 说错了。
安装SQL Server 纯JDBC驱动的目的是安装上三个jar文件,把三个jar文件拷贝到Tomcat 目录下Common下的lib目录下,Tomcat就可以找到驱动了
当然前提是楼主必须安装 sql server 2000 sp4补丁,否则会出现 Socket not established ...
<%
String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
Class.forName(sDBDriver);
String sConnStr="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs";
Connection connWeb=DriverManager.getConnection(sConnStr,"sa","sa");
%>
你的代码没问题!
安装SQL Server 纯JDBC驱动的目的是安装上三个jar文件,把三个jar文件拷贝到Tomcat 目录下Common下的lib目录下,Tomcat就可以找到驱动了
当然前提是楼主必须安装 sql server 2000 sp4补丁,否则会出现 Socket not established ...
<%
String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
Class.forName(sDBDriver);
String sConnStr="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs";
Connection connWeb=DriverManager.getConnection(sConnStr,"sa","sa");
%>
你的代码没问题!
#13
http://blog.csdn.net/chinabh/archive/2006/05/07/711873.aspx
#14
JDBC驱动在JDK中不是有嘛?干吗还要装?
#15
Connection con=DriverManager.getConnection();
#16
你的数据库有没有装好?
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs","sa","sa");上面代码中的sa,sa分别是你登陆数据库的用户名和密码,要根据你的改掉的
另外数据库安装时要选混合模式
我以前也连不上,重装了数据库选混合模式加入了SQL验证模式中的用户名和密码就可以连了
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs","sa","sa");上面代码中的sa,sa分别是你登陆数据库的用户名和密码,要根据你的改掉的
另外数据库安装时要选混合模式
我以前也连不上,重装了数据库选混合模式加入了SQL验证模式中的用户名和密码就可以连了
#17
jsp连接Sql Server7.0/2000数据库
testsqlserver.jsp如下:
<%@ 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:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
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("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
testsqlserver.jsp如下:
<%@ 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:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
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("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
#18
SP3补订..很重要的...
#19
呵呵,这么多高人支招啊,太谢谢了,所以,又加了20分!
不过我还是有些不明白,SQL的补丁是要装SP3还是SP4?我的数据库是SQLSERVER2000,好像还真没打过补丁:)
我一直是写ASP,近来研究JSP,发现差别还真不少。我个人觉得连接数据库的方法应该不唯一,但不知道为什么我一直试不通。
我已经装过JDBC了,是不是再要建一个ODBC数据源才能用呢?
不过我还是有些不明白,SQL的补丁是要装SP3还是SP4?我的数据库是SQLSERVER2000,好像还真没打过补丁:)
我一直是写ASP,近来研究JSP,发现差别还真不少。我个人觉得连接数据库的方法应该不唯一,但不知道为什么我一直试不通。
我已经装过JDBC了,是不是再要建一个ODBC数据源才能用呢?
#20
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /Pubs.jsp(4,0) Page directive: can't have multiple occurrences of contentType
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:49)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:383)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:95)
at org.apache.jasper.compiler.Validator$PageDirectiveVisitor.visit(Validator.java:115)
at org.apache.jasper.compiler.Node$PageDirective.accept(Node.java:235)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:1025)
at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:1031)
at org.apache.jasper.compiler.Node$Root.accept(Node.java:187)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Validator.validate(Validator.java:536)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:186)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
--------------------------------------------------------------------------------
Apache Tomcat/4.1.31
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /Pubs.jsp(4,0) Page directive: can't have multiple occurrences of contentType
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:49)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:383)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:95)
at org.apache.jasper.compiler.Validator$PageDirectiveVisitor.visit(Validator.java:115)
at org.apache.jasper.compiler.Node$PageDirective.accept(Node.java:235)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:1025)
at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:1031)
at org.apache.jasper.compiler.Node$Root.accept(Node.java:187)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Validator.validate(Validator.java:536)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:186)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
--------------------------------------------------------------------------------
Apache Tomcat/4.1.31
#21
上面是我的错误信息
#22
连接方式有3中,一种是用jdbc直接连接,这种方式要厂商数据库的支持,并且要有jdbc驱动包2种就是你说的建立一个数据源odbc,然后通过jdbcodbc驱动连接,这种方式效率不是一般低
Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);
Connection conn=DriverManager.getConnection("jdbc:odbc:xxxx",name,pass);xxxx为数据源名称。
3种就是通过jdbc调用数据库的接口,中间会友一个数据服务器。
Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);
Connection conn=DriverManager.getConnection("jdbc:odbc:xxxx",name,pass);xxxx为数据源名称。
3种就是通过jdbc调用数据库的接口,中间会友一个数据服务器。
#23
上楼的麻烦1
楼主的代码是正确的1
就是驱动及包没有导入的问题把!
楼主的代码是正确的1
就是驱动及包没有导入的问题把!
#24
楼上的,什么叫“驱动及包没有导入”?我装完JDBC,也改过环境变量了,如果不是这个,应该怎么导?
PS:我的JDBC和JDK什么的没装在一起,而且我的目录是自建的,改过server.xml成功的。
PS:我的JDBC和JDK什么的没装在一起,而且我的目录是自建的,改过server.xml成功的。
#25
你的登录的用户是不是用的混合登录的模式阿,用windows登录模式是不行的。另外用户有连接操作数据库的权限没有。丢sp4或sp3补丁都可以,补丁打好就装jdbc驱动,别去搞什么odbc,麻烦
然后必须将安装目录中的lib目录下三个jar文件:
msbase.jar,mssqlserver.jar,msutil.jar拷贝到Tomcat目录下common\lib目录下,之后,修改环境变量中的CLASSPATH,
把SQL Server 2000 For JDBC 驱动程序安装目录下的
D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;
D:\SQLDriverForJDBC\msutil.jar;
追加到CLASSPATH中去,修改后的CLASSPATH如下:
CLASSPATH=D:\Java\bin;.;D:\Java\lib;D:\Java\lib\dt.jar;
_D:\Java\lib\tools.jar;D:\LubeeTomcat\common\lib\servlet.jar;
_D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;
D:\SQLDriverForJDBC\msutil.jar
必须重新启动Tomcat!
这样做的目的是,jsp页面在编译过程中不会出现找不到sql server driver类库的问题
然后必须将安装目录中的lib目录下三个jar文件:
msbase.jar,mssqlserver.jar,msutil.jar拷贝到Tomcat目录下common\lib目录下,之后,修改环境变量中的CLASSPATH,
把SQL Server 2000 For JDBC 驱动程序安装目录下的
D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;
D:\SQLDriverForJDBC\msutil.jar;
追加到CLASSPATH中去,修改后的CLASSPATH如下:
CLASSPATH=D:\Java\bin;.;D:\Java\lib;D:\Java\lib\dt.jar;
_D:\Java\lib\tools.jar;D:\LubeeTomcat\common\lib\servlet.jar;
_D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;
D:\SQLDriverForJDBC\msutil.jar
必须重新启动Tomcat!
这样做的目的是,jsp页面在编译过程中不会出现找不到sql server driver类库的问题
#26
com.microsoft.jdbc.sqlserver.SQLServerDriver要有的
打SQL补丁,据说sp3就可以的,我打的是sp4的,就可以访问sql server数据库了
打SQL补丁,据说sp3就可以的,我打的是sp4的,就可以访问sql server数据库了
#27
看到绮罗姑娘这么好学,俺也来踩踩场,哈哈!
下面是一贴专题贴,希望能对楼主有所帮助!
http://blog.csdn.net/yeno/archive/2006/01/02/568924.aspx
下面是一贴专题贴,希望能对楼主有所帮助!
http://blog.csdn.net/yeno/archive/2006/01/02/568924.aspx
#28
谢谢楼上各位高人,我已经调好了:)
用JDBC和ODBC成功一次,又装了SP4后才发现都可以了,很开心的,学了不少东西。
而且深刻体会到ASP与JSP“巨大”的差别。。。
现在结贴,谢谢了!
用JDBC和ODBC成功一次,又装了SP4后才发现都可以了,很开心的,学了不少东西。
而且深刻体会到ASP与JSP“巨大”的差别。。。
现在结贴,谢谢了!
#1
不装肯定不行萨,就像你写了个程序,要调用某个类的东西,但是没这个类行么?
com.microsoft.jdbc.sqlserver.SQLServerDriver这个东西就是个类文件
com.microsoft.jdbc.sqlserver.SQLServerDriver这个东西就是个类文件
#2
JDBC驱动是要装的,不然没法。
我也新手,代码好像没问题。
你加一条查询语句看看查询结果是啥就行
这段代码你试试,在我这是可以的
<%@ page contentType="text/html; charset=gb2312" language="java"import="java.sql.*,java.io.*"%>
以下是从Ms SQL Server2000数据库读取的数据:
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=xxxx","sa","");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from yyyy");
while(rst.next())
{
out.println("<tr>");
out.println("<td>"+rst.getString(1)+"</td>");
out.println("<td>"+rst.getString(2)+"</td>");
out.println("<td>"+rst.getString(3)+"</td>");
out.println("<td>"+rst.getString(4)+"</td>");
out.println("</tr>");
}
//关闭连接、释放资源
rst.close();
stmt.close();
con.close();
%>
其中xxxx为数据库名,yyyy为表名
我也新手,代码好像没问题。
你加一条查询语句看看查询结果是啥就行
这段代码你试试,在我这是可以的
<%@ page contentType="text/html; charset=gb2312" language="java"import="java.sql.*,java.io.*"%>
以下是从Ms SQL Server2000数据库读取的数据:
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=xxxx","sa","");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from yyyy");
while(rst.next())
{
out.println("<tr>");
out.println("<td>"+rst.getString(1)+"</td>");
out.println("<td>"+rst.getString(2)+"</td>");
out.println("<td>"+rst.getString(3)+"</td>");
out.println("<td>"+rst.getString(4)+"</td>");
out.println("</tr>");
}
//关闭连接、释放资源
rst.close();
stmt.close();
con.close();
%>
其中xxxx为数据库名,yyyy为表名
#3
不可以的
必须装JDBC的驱动
必须装JDBC的驱动
#4
sp3补丁也很重要喔
#5
www.microsoft.com/sql/default.mspx
SQL Server 2000 Driver for JDBC SP3
SQL Server 2000 Driver for JDBC SP3
#6
直接丢sp4补丁也可,我就是
#7
听楼上诸位的意见,我已经装过JDBC了,可程序还是有错。
用jinjieai4587(死海文书)的例子:
<%@ page contentType="text/html; charset=gb2312" language="java"import="java.sql.*,java.io.*"%>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs","sa","sa");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from authors");
while(rst.next())
{
out.println("<tr>");
out.println("<td>"+rst.getString(1)+"</td>");
out.println("<td>"+rst.getString(2)+"</td>");
out.println("<td>"+rst.getString(3)+"</td>");
out.println("<td>"+rst.getString(4)+"</td>");
out.println("</tr>");
}
//关闭连接、释放资源
rst.close();
stmt.close();
con.close();
%>
还是出错呀。。。
用jinjieai4587(死海文书)的例子:
<%@ page contentType="text/html; charset=gb2312" language="java"import="java.sql.*,java.io.*"%>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs","sa","sa");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from authors");
while(rst.next())
{
out.println("<tr>");
out.println("<td>"+rst.getString(1)+"</td>");
out.println("<td>"+rst.getString(2)+"</td>");
out.println("<td>"+rst.getString(3)+"</td>");
out.println("<td>"+rst.getString(4)+"</td>");
out.println("</tr>");
}
//关闭连接、释放资源
rst.close();
stmt.close();
con.close();
%>
还是出错呀。。。
#8
补丁大过了?
什么异常,贴出来
什么异常,贴出来
#9
恩,贴出错误来
#10
首先打上sp3的补丁,然后放入把安装jdbc驱动时产生的三个jar包到tomcat安装目录中的common\lib中
#11
必须装包!!!!!!!!!!!!1
#12
不装SQL Server 纯JDBC驱动也行,楼上harston(顽石) 说错了。
安装SQL Server 纯JDBC驱动的目的是安装上三个jar文件,把三个jar文件拷贝到Tomcat 目录下Common下的lib目录下,Tomcat就可以找到驱动了
当然前提是楼主必须安装 sql server 2000 sp4补丁,否则会出现 Socket not established ...
<%
String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
Class.forName(sDBDriver);
String sConnStr="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs";
Connection connWeb=DriverManager.getConnection(sConnStr,"sa","sa");
%>
你的代码没问题!
安装SQL Server 纯JDBC驱动的目的是安装上三个jar文件,把三个jar文件拷贝到Tomcat 目录下Common下的lib目录下,Tomcat就可以找到驱动了
当然前提是楼主必须安装 sql server 2000 sp4补丁,否则会出现 Socket not established ...
<%
String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
Class.forName(sDBDriver);
String sConnStr="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs";
Connection connWeb=DriverManager.getConnection(sConnStr,"sa","sa");
%>
你的代码没问题!
#13
http://blog.csdn.net/chinabh/archive/2006/05/07/711873.aspx
#14
JDBC驱动在JDK中不是有嘛?干吗还要装?
#15
Connection con=DriverManager.getConnection();
#16
你的数据库有没有装好?
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs","sa","sa");上面代码中的sa,sa分别是你登陆数据库的用户名和密码,要根据你的改掉的
另外数据库安装时要选混合模式
我以前也连不上,重装了数据库选混合模式加入了SQL验证模式中的用户名和密码就可以连了
Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs","sa","sa");上面代码中的sa,sa分别是你登陆数据库的用户名和密码,要根据你的改掉的
另外数据库安装时要选混合模式
我以前也连不上,重装了数据库选混合模式加入了SQL验证模式中的用户名和密码就可以连了
#17
jsp连接Sql Server7.0/2000数据库
testsqlserver.jsp如下:
<%@ 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:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
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("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
testsqlserver.jsp如下:
<%@ 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:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
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("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
#18
SP3补订..很重要的...
#19
呵呵,这么多高人支招啊,太谢谢了,所以,又加了20分!
不过我还是有些不明白,SQL的补丁是要装SP3还是SP4?我的数据库是SQLSERVER2000,好像还真没打过补丁:)
我一直是写ASP,近来研究JSP,发现差别还真不少。我个人觉得连接数据库的方法应该不唯一,但不知道为什么我一直试不通。
我已经装过JDBC了,是不是再要建一个ODBC数据源才能用呢?
不过我还是有些不明白,SQL的补丁是要装SP3还是SP4?我的数据库是SQLSERVER2000,好像还真没打过补丁:)
我一直是写ASP,近来研究JSP,发现差别还真不少。我个人觉得连接数据库的方法应该不唯一,但不知道为什么我一直试不通。
我已经装过JDBC了,是不是再要建一个ODBC数据源才能用呢?
#20
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /Pubs.jsp(4,0) Page directive: can't have multiple occurrences of contentType
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:49)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:383)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:95)
at org.apache.jasper.compiler.Validator$PageDirectiveVisitor.visit(Validator.java:115)
at org.apache.jasper.compiler.Node$PageDirective.accept(Node.java:235)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:1025)
at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:1031)
at org.apache.jasper.compiler.Node$Root.accept(Node.java:187)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Validator.validate(Validator.java:536)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:186)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
--------------------------------------------------------------------------------
Apache Tomcat/4.1.31
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /Pubs.jsp(4,0) Page directive: can't have multiple occurrences of contentType
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:49)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:383)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:95)
at org.apache.jasper.compiler.Validator$PageDirectiveVisitor.visit(Validator.java:115)
at org.apache.jasper.compiler.Node$PageDirective.accept(Node.java:235)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:1025)
at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:1031)
at org.apache.jasper.compiler.Node$Root.accept(Node.java:187)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:983)
at org.apache.jasper.compiler.Validator.validate(Validator.java:536)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:186)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
--------------------------------------------------------------------------------
Apache Tomcat/4.1.31
#21
上面是我的错误信息
#22
连接方式有3中,一种是用jdbc直接连接,这种方式要厂商数据库的支持,并且要有jdbc驱动包2种就是你说的建立一个数据源odbc,然后通过jdbcodbc驱动连接,这种方式效率不是一般低
Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);
Connection conn=DriverManager.getConnection("jdbc:odbc:xxxx",name,pass);xxxx为数据源名称。
3种就是通过jdbc调用数据库的接口,中间会友一个数据服务器。
Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);
Connection conn=DriverManager.getConnection("jdbc:odbc:xxxx",name,pass);xxxx为数据源名称。
3种就是通过jdbc调用数据库的接口,中间会友一个数据服务器。
#23
上楼的麻烦1
楼主的代码是正确的1
就是驱动及包没有导入的问题把!
楼主的代码是正确的1
就是驱动及包没有导入的问题把!
#24
楼上的,什么叫“驱动及包没有导入”?我装完JDBC,也改过环境变量了,如果不是这个,应该怎么导?
PS:我的JDBC和JDK什么的没装在一起,而且我的目录是自建的,改过server.xml成功的。
PS:我的JDBC和JDK什么的没装在一起,而且我的目录是自建的,改过server.xml成功的。
#25
你的登录的用户是不是用的混合登录的模式阿,用windows登录模式是不行的。另外用户有连接操作数据库的权限没有。丢sp4或sp3补丁都可以,补丁打好就装jdbc驱动,别去搞什么odbc,麻烦
然后必须将安装目录中的lib目录下三个jar文件:
msbase.jar,mssqlserver.jar,msutil.jar拷贝到Tomcat目录下common\lib目录下,之后,修改环境变量中的CLASSPATH,
把SQL Server 2000 For JDBC 驱动程序安装目录下的
D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;
D:\SQLDriverForJDBC\msutil.jar;
追加到CLASSPATH中去,修改后的CLASSPATH如下:
CLASSPATH=D:\Java\bin;.;D:\Java\lib;D:\Java\lib\dt.jar;
_D:\Java\lib\tools.jar;D:\LubeeTomcat\common\lib\servlet.jar;
_D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;
D:\SQLDriverForJDBC\msutil.jar
必须重新启动Tomcat!
这样做的目的是,jsp页面在编译过程中不会出现找不到sql server driver类库的问题
然后必须将安装目录中的lib目录下三个jar文件:
msbase.jar,mssqlserver.jar,msutil.jar拷贝到Tomcat目录下common\lib目录下,之后,修改环境变量中的CLASSPATH,
把SQL Server 2000 For JDBC 驱动程序安装目录下的
D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;
D:\SQLDriverForJDBC\msutil.jar;
追加到CLASSPATH中去,修改后的CLASSPATH如下:
CLASSPATH=D:\Java\bin;.;D:\Java\lib;D:\Java\lib\dt.jar;
_D:\Java\lib\tools.jar;D:\LubeeTomcat\common\lib\servlet.jar;
_D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;
D:\SQLDriverForJDBC\msutil.jar
必须重新启动Tomcat!
这样做的目的是,jsp页面在编译过程中不会出现找不到sql server driver类库的问题
#26
com.microsoft.jdbc.sqlserver.SQLServerDriver要有的
打SQL补丁,据说sp3就可以的,我打的是sp4的,就可以访问sql server数据库了
打SQL补丁,据说sp3就可以的,我打的是sp4的,就可以访问sql server数据库了
#27
看到绮罗姑娘这么好学,俺也来踩踩场,哈哈!
下面是一贴专题贴,希望能对楼主有所帮助!
http://blog.csdn.net/yeno/archive/2006/01/02/568924.aspx
下面是一贴专题贴,希望能对楼主有所帮助!
http://blog.csdn.net/yeno/archive/2006/01/02/568924.aspx
#28
谢谢楼上各位高人,我已经调好了:)
用JDBC和ODBC成功一次,又装了SP4后才发现都可以了,很开心的,学了不少东西。
而且深刻体会到ASP与JSP“巨大”的差别。。。
现在结贴,谢谢了!
用JDBC和ODBC成功一次,又装了SP4后才发现都可以了,很开心的,学了不少东西。
而且深刻体会到ASP与JSP“巨大”的差别。。。
现在结贴,谢谢了!