jsp中调用javabean访问数据库(参与者都的分)

syh555999 2004-08-11 04:38:19
我通过javabean访问数据的jsp源代码,但总出错,可能是数据源配置出了问题,
我用的是JBuliber9.0写的。请问该如何配置数据源。谢谢!
代码如下:

conn_db.jsp

<%@ page contentType="text/html; charset=GBK" %>
<%@ page language="java" import="java.sql.*"%>
<jsp:useBean id="connDbBean" scope="page" class="student.conn"/>
<html>
<head>
<title>
conn_db
</title>
</head>
<body bgcolor="#ffffff">
<div align="conter">
<table width="60%" border="1">
<tr bgcolor="#ccccff">
<td width="50%">
<div align="conter"><font color="#ff0033"><b>姓名</b></font></div>
</td>
<td width="25%">
<div align="conter"><font color="#ff0033"><b>性别</b></font></div>
</td>
<td width="25%">
<div align="conter"><font color="#ff0033"><b>分数</b></font></div>
</td>
</tr>
<%
ResultSet RS_result=connDbBean.executeQuery("select * from table1");
String studentName="";
String studentSex="";
String studentScore="";
while(RS_result.next()){
studentName=RS_result.getString("name");
studentSex=RS_result.getString("sex");
studentScore=RS_result.getString("score");
%>
<tr>
<td width="50%" bgcolor="#ffffff">
<div align="center"><%=studentName%></div>
</td>
<td width="25%">
<div align="center"><%=studentSex%></div>
</td>
<td align="25%">
<div align="center"><%=studentScore%></div>
</td>
</td>
<%
}
%>
</body>
</html>

conn.java
package student;
import java.sql.*;
public class conn {
String sDBDriver="sun.jdbc.odbc.jdbcodbcDriver";
String sConnStr="jdbc:odbc:student";
Connection connect=null;
ResultSet rs=null;
public conn(){
try{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e){
System.err.println(e.getMessage());
}
}
public ResultSet executeQuery(String sql){
try{
connect=DriverManager.getConnection(sConnStr);
Statement stmt=connect.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.println(ex.getMessage());
}
return rs;
}
}
...全文
300 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
syh555999 2004-08-16
  • 打赏
  • 举报
回复
那位大虾,还有何高见。
Bluecatr 2004-08-12
  • 打赏
  • 举报
回复
感觉这个例外和驱动的关系不大呀
auron01 2004-08-12
  • 打赏
  • 举报
回复
参与
syh555999 2004-08-12
  • 打赏
  • 举报
回复
错误信息,是access库:
Apache Tomcat/4.0.6 - 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 java.lang.NullPointerException
at org.apache.jsp.conn_0005fdb$jsp._jspService(conn_0005fdb$jsp.java:97)
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:201)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
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.valves.CertificatesValve.invoke(CertificatesValve.java:246)
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.StandardContext.invoke(StandardContext.java:2347)
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:1027)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
at java.lang.Thread.run(Thread.
elf_781113 2004-08-12
  • 打赏
  • 举报
回复
以愚人之见:

我想从字面的意思来看好像是请求的Jsp页面有错误。具体好像是遇到了空指针错误。

以上仅供参考
xinyuedou 2004-08-12
  • 打赏
  • 举报
回复
我看到你的错误信息,感觉和数据库没什么关系,是不是你的服务器那里配置不对了,你可以用其他小的程序试一下
Bluecatr 2004-08-12
  • 打赏
  • 举报
回复
兄弟请就事论事,不要在这儿发表感慨,我们都刚入门,互相学习,代码写的好就多回答问题吧!!!!
lovelymaomao 2004-08-12
  • 打赏
  • 举报
回复
求求你们了。。。别在JSP中写这么多JAVA代码好不?

jstl Struts标签。。。都可以啊~

老大们。。发发慈悲吧~
syh555999 2004-08-12
  • 打赏
  • 举报
回复
等待中.....
poor24 2004-08-11
  • 打赏
  • 举报
回复
jacklost 2004-08-11
  • 打赏
  • 举报
回复

先把错误信息给出来,你连什么错误都不知道,怎么解决呀?!!
说什么都上没用的!
必须看错误信息!
xuyang821225 2004-08-11
  • 打赏
  • 举报
回复
bean


package com.xy;

import java.sql.*;
import java.util.*;
import java.io.*;

public class CardBean{
private Connection con;

public CardBean(){
String CLASSFORNAME="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String SERVANDDB="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
String USER="xy";
String PWD="123456";

try{
Class.forName(CLASSFORNAME);
con=java.sql.DriverManager.getConnection(SERVANDDB,USER,PWD);
}catch(Exception e){
e.printStackTrace();
}
}

public void addCardBean(String xm1,String xb1,String dwmc1,String dhhm1,String sjhm1,String czhm1,String syh1,String sf1,String csr1,String sfgy1,String hangye1,String mpfl1,String yzbm1,String email1,String txdz1,String bz1,String mpzfl1){
try{
PreparedStatement pstmt=con.prepareStatement("insert into xy.pcard values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
pstmt.setString(1,xm1);
pstmt.setString(2,xb1);
pstmt.setString(3,dwmc1);
pstmt.setString(4,dhhm1);
pstmt.setString(5,sjhm1);
pstmt.setString(6,czhm1);
pstmt.setString(7,syh1);
pstmt.setString(8,sf1);
pstmt.setString(9,csr1);
pstmt.setString(10,sfgy1);
pstmt.setString(11,hangye1);
pstmt.setString(12,mpfl1);
pstmt.setString(13,yzbm1);
pstmt.setString(14,email1);
pstmt.setString(15,txdz1);
pstmt.setString(16,bz1);
pstmt.setString(17,mpzfl1);
pstmt.execute();
}catch(Exception e){
}
}

public ResultSet getCardBean(String id){
ResultSet result=null;
try{
Statement stm=con.createStatement();
result=stm.executeQuery("select * from xy.pcard where ID='"+id+"'");
return result;
}catch(Exception e){
}
return result;
}

public ResultSet getCardBean(){
ResultSet result=null;
try{
Statement stm=con.createStatement();
result=stm.executeQuery("select * from xy.pcard");
return result;
}catch(Exception e){
}
return result;
}

public void delCardBean(){
try{
PreparedStatement pstmt=con.prepareStatement("delete from xy.pcard");
pstmt.execute();
}catch(Exception e){
}
}

public void delCardBean(String id){
try{
PreparedStatement pstmt=con.prepareStatement("delete from xy.pcard where ID='"+id+"'");
pstmt.execute();
}catch(Exception e){
}
}

public ResultSet queryCardBean(String str){
ResultSet result=null;
String sql="select * from xy.pcard where "+str;
System.out.println(sql);
try{
Statement stm=con.createStatement();
result=stm.executeQuery(sql);
return result;
}catch(SQLException e){
System.out.println("not found card");
}
return result;
}
}
xuyang821225 2004-08-11
  • 打赏
  • 举报
回复
给你一个我写的bean和JSP 吧

JSP

<%@ page contentType="text/html;charset=gb2312" language="java" import="java.io.*,java.sql.*,com.xy.*" %>

<%
request.setCharacterEncoding("gb2312");
String xm=request.getParameter("txtxm");
String syh=request.getParameter("txtsyh");
String xb=request.getParameter("txtxb");
String sf=request.getParameter("txtsf");
String csr=request.getParameter("txtcsr");
String sfgy=request.getParameter("sfgybtn");
String hangye=request.getParameter("hangye");
String mpfl=request.getParameter("txtmpfl");
String yzbm=request.getParameter("txtyzbm");
String mpzfl=request.getParameter("txtmpzfl");
String dhhm=request.getParameter("txtdhhm");
String sjhm=request.getParameter("txtsjhm");
String czhm=request.getParameter("txtczhm");
String email=request.getParameter("txtemail");
String dwmc=request.getParameter("txtdwmc");
String txdz=request.getParameter("txttxdz");
String bz=request.getParameter("txtbz");

try{
com.xy.CardBean card=new CardBean();
card.addCardBean(xm,xb,dwmc,dhhm,sjhm,czhm,syh,sf,csr,sfgy,hangye,mpfl,yzbm,email,txdz,bz,mpzfl);
}catch(Exception e){
}
%>

<jsp:forward page="card.jsp"/>
平淡真无奇 2004-08-11
  • 打赏
  • 举报
回复
你用的什么数据库?jdbc-odbc bridge一般就用在sql server和access上面。。。
alickma 2004-08-11
  • 打赏
  • 举报
回复
String sDBDriver="sun.jdbc.odbc.jdbcodbcDriver";----最后一个是JdbcOdbcDriver
String sConnStr="jdbc:odbc:student";------不需要用户名密码???
其他还没仔细看,另外报错信息是什么?
snowbird100 2004-08-11
  • 打赏
  • 举报
回复
驱动应该是sun.jdbc.odbc.JdbcOdbcDriver,这应该有关系吧
在ODBC数据源中新建一个datasource student,连接到数据库

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧