jsp菜鸟级问题~~~

sy_wcc 2005-08-01 12:45:29
在jsp中调用编写的.class时,出现以下错误:
....
The value for the useBean class attribute zbean.ljsjk is invalid
.....

jsp文件中已编写了:
<%@ page contentType="text/html;charset=gb2312" %>
<jsp:useBean id="ljsjk" class="zbean.ljsjk" scope="page"/>
......

是不是.class 文件存放的位置不对?
...全文
300 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
wiiee 2005-08-02
  • 打赏
  • 举报
回复
class文件放在web-inf里面,用的时候要import才可以
<%@ page import="" %>
sy_wcc 2005-08-01
  • 打赏
  • 举报
回复
up........
sy_wcc 2005-08-01
  • 打赏
  • 举报
回复
在线等......
wolaiye3 2005-08-01
  • 打赏
  • 举报
回复
定义一个ljsjk.java文件存这个类!
wolaiye3 2005-08-01
  • 打赏
  • 举报
回复
试试这个public class ljsjk 共有的才能可见吧!
hlnccc 2005-08-01
  • 打赏
  • 举报
回复
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>

<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection cn=DriverManager.getConnection("jdbc:odbc:ywk","sa","770204");
%>
如果你连这两句都执行不了就是说明连接不成功,具体因为什么我不太清楚,要不你把Connection cn=DriverManager.getConnection("jdbc:odbc:ywk","sa","770204");行改成
Connection cn=DriverManager.getConnection("jdbc:odbc:ywk","sa","770204").newInstance();
试试,
jsp和数据库不是有四种连接方式么? jdbc驱动的方式就是第四种的那个,要配置classpath的
sy_wcc 2005-08-01
  • 打赏
  • 举报
回复
jdbc驱动方式?举个例好吗?

另:在CMD方式下JAVA按此联接可调出数据的啊,怎么会是数据库连接有问题呢?
hlnccc 2005-08-01
  • 打赏
  • 举报
回复
你数据库连接有问题,我没办法了,要不你用 JDBC 驱动的方式连?
sy_wcc 2005-08-01
  • 打赏
  • 举报
回复
不行.....
sy_wcc 2005-08-01
  • 打赏
  • 举报
回复
public String sdbdriver="sun.jdbc.odbc.JdbcOdbcDriver"; 这已经定义了的
hlnccc 2005-08-01
  • 打赏
  • 举报
回复
你下面那个程序改成这样看看,如果这样都不行就是连接有问题,我用的JDBC驱动连接的,对于你这个用 jdbc-odbc的方法我也给不了什么意见,因为我也不知道这样怎么连
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>

<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection cn=DriverManager.getConnection("jdbc:odbc:ywk","sa","770204");
%>
hlnccc 2005-08-01
  • 打赏
  • 举报
回复
先说你上面那个,你的conn.java 有个构造方法,里面用到了变量 sdbdriver ,在你的jsp页面里,在<jsp:useBean >那里就初始化你的对象了,可你那个时候还没有给 sdbdriver 附值,
conn.setDbDriver("sun.jdbc.odbc.JdbcOdbcDriver"); 句才刚刚附值,导致你的 conn 对象并没有建立,所以导致空指针,sdbdriver 在未初始化前被使用
sy_wcc 2005-08-01
  • 打赏
  • 举报
回复
另:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection cn=DriverManager.getConnection("jdbc:odbc:ywk","sa","770204");

Statement st=cn.createStatement(java.sql.ResultSet.TYPE_SCROLL_SENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);

ResultSet rs=st.executeQuery("SELECT * FROM lc_czy");//
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>

<%rs.close();
st.close();
cn.close();
%>
</body>
</html>
运行时出现错误:
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

但用JAVA时是可以显示数据的啊?我该怎么做呢?
sy_wcc 2005-08-01
  • 打赏
  • 举报
回复
我的程序很简单的,.java文件:
package zbean;
import java.sql.*;
//import zbean.*;

public class conn
{

public String sdbdriver="sun.jdbc.odbc.JdbcOdbcDriver";
public String sConnStr;
public long count;
String uid;
String pwd;
Connection conn=null;
ResultSet rs=null;

public conn()
{
try
{
Class.forName(sdbdriver);
}
catch(java.lang.ClassNotFoundException e)
{ System.err.println("Jodb():"+e.getMessage()); }

}


public void setDbDriver(String y)
{
sdbdriver=y;
}

public void setConnStr(String x)
{
sConnStr=x;
uid="sa";
pwd="770204";
}

public ResultSet execute(String sql)
{
rs=null;
try
{
conn=DriverManager.getConnection(sConnStr,uid,pwd);
Statement stmt=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_SENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("Jodb.execute():"+ex.getMessage());
}
return rs;
}

}

.jsp文件:

<%@ page contentType="text/html;charset=gb2312" %>
<jsp:useBean id="conn" class="zbean.conn" scope="page"/>
<jsp:setProperty name="conn" property="*"/>
<html>
<head>
<title></title>
</head>
<%
//zbean.ljsjk ljsjk;
java.sql.ResultSet rs;
conn.setConnStr("jdbc:odbc:ywk");
conn.setDbDriver("sun.jdbc.odbc.JdbcOdbcDriver");
rs=conn.execute("select * from lc_czy");

while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%rs.close();
%>
</body>
</html>

hlnccc 2005-08-01
  • 打赏
  • 举报
回复
空指针异常,没程序我可看不出来什么,各位高手看呢?
hlnccc 2005-08-01
  • 打赏
  • 举报
回复
习惯没养好
sy_wcc 2005-08-01
  • 打赏
  • 举报
回复
现在调用时出错:

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
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.lang.NullPointerException
org.apache.jsp.t4_jsp._jspService(t4_jsp.java:67)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.0.28
gloomy800206 2005-08-01
  • 打赏
  • 举报
回复
hoho
看来是我看一篇的速度太慢
我看的过程中 都又有几贴啦
好像跟上面有的方法重复啦
gloomy800206 2005-08-01
  • 打赏
  • 举报
回复
这种写法写的不熟的很容易写错
你就用另外一种方法嘛
<%@ page import="zbean.ljsjk"%>

然后在页面上new一个也无妨啊
sy_wcc 2005-08-01
  • 打赏
  • 举报
回复
找到了:
The source file name is different from the name of the class defined in the file. Here the file name is Test and the class name is Hello. They must be the same.

加载更多回复(16)

62,616

社区成员

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

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