在线等。。菜鸟不行了 :)

cocohui 2004-09-16 05:07:09
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.www.admin.add_002dguoneilvxing_jsp._jspService(add_002dguoneilvxing_jsp.java:99)
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)

可是数据库中又已经插入数据了。。那它还为什么报错啊!!!

...全文
147 点赞 收藏 21
写回复
21 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sunmzg 2004-09-17
现在才知道jsp与java的关系?晕。
回复
qiyongjun2003 2004-09-17
cm.executeUpdate(s1);
回复
cocohui 2004-09-17
july_typhoon(加油的风)

你说得对我对JAVA 并不了解。。我现在正在打算不在公司做了好好去学习JAVA的知识我知道
JSP与JAVA 的关联太大了。。谢谢你的提醒!!
回复
cocohui 2004-09-17
我在javaBean中 id ="cm" 故我就用 cm.executeQuery() 我在书上看到也是这样用!

我写了个JAVABEAN 我可以把它贴出来大家看看!!

····
package yaya;
import java.sql.*;
public class Loginw
{ String logname,
password,
success="false",
message=""; //用来返回登录是否成功的消息。
Connection con;
Statement sql;
ResultSet rs;
public Loginw()
{ //加载桥接器:
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
}
//设置属性值、获取属性值的方法:
public void setLogname(String name)
{ logname=name;
}
public String getLogname()
{return logname;
}
public void setPassword(String pw)
{ password=pw;
}
public String getPassword()
{return password;
}
public String getSuccess()
{return success;
}
//查询数据库的member表:
public String getMessage()
{try{
con=DriverManager.getConnection("jdbc:odbc:sun","","");
sql=con.createStatement();
String condition=
"SELECT * FROM name WHERE logname = "+"'"+logname+"'";
rs=sql.executeQuery(condition);
int rowcount=0;
String ps=null;
while(rs.next())
{ rowcount++;
logname=rs.getString("logname");
ps=rs.getString("password");
}
if((rowcount==1)&&(password.equals(ps)))
{ message="ok";
success="ok";
}
else
{message="输入的用户名或密码不正确";
success="false";
}
con.close();
return message;
}
catch(SQLException e)
{ message="输入的用户名或密码不正确";
success="false";
return message;
}
}
}
回复
july_typhoon 2004-09-16
呵呵,说句不中听的话,楼主别见怪.感觉你好像就是对java的一些概念有一些模糊的了解,可是没有真正了解这是怎么回事.当然,我自己也是半桶水而已,许多东西也是一知半解,大伙共勉吧.
回复
xitianjile 2004-09-16
看了楼上的
才注意他用的是cm.executeQuery()
回复
july_typhoon 2004-09-16
既然你得到的rs为null,又怎么会存在“可是那样的话会消耗系统资源啊”的问题呢?不知道你的javabean cm.executeQuery()到底是怎么执行的?是否是statement.executeQuery()?如果是的话,则在这里就已经错了,应为statement.executeUpdate()
回复
xitianjile 2004-09-16

没有记录集你关个p啊.
你设个记录集来到底是干嘛的.

只是为了你所谓关的目的?

看过那么多代码.

第一次碰到象你这样的.
回复
sunmzg 2004-09-16
july_typhoon(加油的风) 说得不错哦。你可以直接:
cm.executeUpdate(s1);
就可以了,insert into 操作不用向rs返回值的。然后关掉cm。
回复
cocohui 2004-09-16
如果不关掉 rs.close();
系统会容易死机!

谁给个我好的代码!!
回复
xitianjile 2004-09-16
忘记说了.
你不关cm的话会出现你说的话"可是那样的话会消耗系统资源啊。。"
回复
xitianjile 2004-09-16
既然怕消耗资源为何又设一个rs=cm.executeQuery(s1);
关cm还不够吗?cm.close();
如果觉得有必要在关了connection
回复
cocohui 2004-09-16
我去掉 RS。CLOSE();
后 不出现报错了。。可是那样的话会消耗系统资源啊。。
回复
july_typhoon 2004-09-16
不会吧:
String s1="INSERT INTO xiaoyuanxinwen(x_nr,x_time) VALUES('"+y_wangming1+"','"+dmtime+ "')";
ResultSet rs=cm.executeQuery(s1);
rs.close();
insert语句你怎么期望他返回一个结果集呢?估计问题在于rs.close(),因为rs此时为null。
回复
show90 2004-09-16
在TOMCAT/work 目录下找add_002dguoneilvxing_jsp.java:99行看是什么代码,有助于你找到错误
回复
sunmzg 2004-09-16
那就看看你的数据库是不是出问题了。比如没有设置odbc之类的。。。
回复
cocohui 2004-09-16
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<jsp:useBean id="cm" class="yaya.opendb" scope="page" />

<%
java.util.Date time=new java.util.Date();
String dmtime=time.toLocaleString();
%>
<%!
public String codeString(String s)
{String str=s;
try{
byte a[]=str.getBytes("iso-8859-1");
str=new String(a);
return str;
}
catch(Exception e)
{return str;
}
}
%>
<%
String y_wangming1=request.getParameter("x_nr");
if(y_wangming1==null)
{
y_wangming1="";
}
y_wangming1=codeString(y_wangming1);
%>



<%

String s1="INSERT INTO xiaoyuanxinwen(x_nr,x_time) VALUES('"+y_wangming1+"','"+dmtime+ "')";
ResultSet rs=cm.executeQuery(s1);
rs.close();
%>

就是这样的代码。。我以前也是用它可是今天就出现了这样的问题不知道那为高手解决以下!
回复
cocohui 2004-09-16
我在看一下!!等等我。。
回复
wzrlover 2004-09-16
不是字段的问题,是你代码其他地方有问题
回复
cocohui 2004-09-16
是不是有个空的字段啊!
回复
加载更多回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-16 05:07
社区公告
暂无公告