tomcat 本身自带我在win2000下一直用着
解决方案 »
- 网站访问次数的实现。求大神。
- java web传值问题(在问!)
- tomcat中配置的Filter是单例么
- MyEclipse 中的JSP运行出现问题,请高手帮忙解决下?
- 如何生成dll依赖关系图
- Generics 郁闷啊
- 小弟按demo里的方法在JSP里做lucene的中文全文检索,但却只能检索一个中文字符,一串则检索不到,贴出代码请较....
- tomcat下如何配置servlet?(在线等,随时加分)
- 基于SSH框架的网站制作问题
- 我写了篇论文,有点中文,想请人帮忙翻译为E文,谢谢,在线等
- 急!!!jsp中文显示问题,在线
- 关于startup时出现的JVM_Bind unsupported异常??
jsp 只是通过 简单语句和 数据库建立连接
首先建立一个Access数据库Customers.mdb,其中的表Customers有字段id(自动增量型,并设为主关键字)、name(文本型,长度10)、address(文本型,长度30)、 info(备注型)。
在Control Panel(控制面板)的ODBC Datasource模块中加入System DSN,取名 Customers,并指向Customers.mdb。
创建一个JavaBean,名为DBconn.java,并保存在支持JSP的Web服务器的缺省文档根目录下。DBconn.java主要是封装与数据库的连接操作,内容如下:
import java.sql.*;
public class DBconn {
StringDBDriver = “sun.jdbc.odbc.JdbcOdbcDriver";
String ConnStr = “jdbc:odbc:Customers";
Connection conn = null;
ResultSet rs = null;
public DBconn {
try {
Class.forName(DBDriver);
//加载数据库驱动程序
}
catch(java.lang.ClassNotFoundException e) {
System.err.println(“DBconn (): " + e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
conn = DriverManager.getConnection(ConnStr);
//与DBMS建立链接
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println(“aq.executeQuery:"+ex.getMessage());
}
return rs;
}
}
(JDBC的ACCESS的驱动哪里有?)
public ResultSet DbQuery(String Sql)
{
try
{
//driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\AAA.MDB
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection Cnn = DriverManager.getConnection("jdbc:odbc:BorlandDemoDb","admin","");
Statement Stmt = Cnn.createStatement();
ResultSet Rs = Stmt.executeQuery( Sql );
return Rs;
}
catch( Exception e )
{
System.out.println( "my bean's error:" + e.getMessage() );
}
return null;
}
这样没错吧。(odbc数据源名:BorlandDemoDb)jsp调用:
<jsp:useBean id="DbBean" scope="session" class="myprj.MyBean" />
<br>
value is:<jsp:getProperty name="DbBean" property="value" />
<%
String Sql = "select * from customer";
ResultSet Rs = DbBean.DbQuery( Sql ); Rs.last();
out.println( Rs.getRow() ); Rs.first();
while( Rs.next() )
{
System.out.println( Rs.getString("Company"));
}%>
Apache Tomcat/4.0.3 - HTTP Status 500 - Internal Server Errortype Exception reportmessage Internal Server Errordescription The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.exception javax.servlet.ServletException: Result set type is TYPE_FORWARD_ONLY
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:463)
at org.apache.jsp.MyJsp$jsp._jspService(MyJsp$jsp.java:153)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:202)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
at java.lang.Thread.run(Thread.java:484)
root cause java.sql.SQLException: Result set type is TYPE_FORWARD_ONLY
at sun.jdbc.odbc.JdbcOdbcResultSet.last(JdbcOdbcResultSet.java:2228)
at org.apache.jsp.MyJsp$jsp._jspService(MyJsp$jsp.java:135)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:202)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
at java.lang.Thread.run(Thread.java:484)