环境为jsp+tomcat5.0+oracle9i,在登陆页面输入uid和pwd后,提交后报错
java.lang.NullPointerException
org.apache.jsp.logon_jsp._jspService(logon_jsp.java:78)
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)应该是下面代码有错,感觉是String sql="select * from admin.custom where uid='"+uid+"' and pwd='"+pwd+"'";有问题,uid是数字不报错,但查不了数据库,uid是字母报错 , 请高手看一下,
<jsp:useBean id="db" scope="page" class="opendb.opendb"/>
<%
//读取提交的表单内容
String uid=request.getParameter("uid");
String pwd=request.getParameter("pwd");//生成查询的sql语句
String sql="select * from admin.custom where uid='"+uid+"' and pwd='"+pwd+"'";
//rs为返回结果的ResultSet对象
ResultSet rs=db.executeQuery(sql);
if(rs.next())
{
//用户ID及密码输入正确的情况
rs.close();
session.putValue("uid",uid);
%>
欢迎您<%=uid%>
<%}
else{
//输入错误的情况
rs.close();
%>
对不起!您的输入有误,请重新填写!
java.lang.NullPointerException
org.apache.jsp.logon_jsp._jspService(logon_jsp.java:78)
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)应该是下面代码有错,感觉是String sql="select * from admin.custom where uid='"+uid+"' and pwd='"+pwd+"'";有问题,uid是数字不报错,但查不了数据库,uid是字母报错 , 请高手看一下,
<jsp:useBean id="db" scope="page" class="opendb.opendb"/>
<%
//读取提交的表单内容
String uid=request.getParameter("uid");
String pwd=request.getParameter("pwd");//生成查询的sql语句
String sql="select * from admin.custom where uid='"+uid+"' and pwd='"+pwd+"'";
//rs为返回结果的ResultSet对象
ResultSet rs=db.executeQuery(sql);
if(rs.next())
{
//用户ID及密码输入正确的情况
rs.close();
session.putValue("uid",uid);
%>
欢迎您<%=uid%>
<%}
else{
//输入错误的情况
rs.close();
%>
对不起!您的输入有误,请重新填写!
解决方案 »
- structs2中action失效问题
- ibatis
- Timer 调用的过程 加急!!!!! 帮忙分析下
- 在dwr中如何把回调的返回值String[]变量赋给javaScript变量
- 为什么在dreamweaver的设计模式中看到的不是所见即所得???
- 一个javascript代码
- 我那个网页我用request.setCharacterEncoding("GBK");之后还是出现存到数据库里还是乱码,这是怎么回事啊?
- 直接复制WORD和EXCEL表格并搜索对应记录
- 寻求jfreechart的JFREECHART DEVELOPER GUIDE或者DEMO
- java中如何用jsp中的out对象。在线等待
- 如何屏蔽地址栏中url后面的参数
- 如何把图片上传数据库
这个可以把admin.去掉....
if(rs.next()) 换成
if(rs!=null&&rs.next())
import java.sql.*;
public class opendb
{
//定义数据库连接字符串
String sDBDriver="oracle.jdbc.driver.OracleDriver";
String sConnStr="jdbc:oracle:thin:@192.168.0.54:1521:myora";
Connection conn=null;
ResultSet rs=null;
//定义打开数据库连接的函数
public opendb()
{
try{
Class.forName(sDBDriver).newInstance();}
catch(java.lang.ClassNotFoundException e){
System.err.println("opendb():"+e.getMessage());}
catch(java.lang.InstantiationException e){
System.err.println("opendb():"+e.getMessage());}
catch(java.lang.IllegalAccessException e){
System.err.println("opendb():"+e.getMessage());}
}
//定义执行sql语句的函数
public ResultSet executeQuery(String sql)
{
rs=null;
try
{
conn=DriverManager.getConnection(sConnStr,"sde","123");
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
//处理异常
catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage());}
return rs;
}
}
这是代码,很郁闷