package com.mingri.dbconn;
import java.sql.*;
public class DBResult {
public static Connection conn = null;{
try {
// Context ctx = new InitialContext();
// ctx = (Context) ctx.lookup("java:comp/env");
// DataSource ds = (DataSource) ctx.lookup("jdbc/mingri"); // 获取连接池对象
String url="jdbc:oracle:thin:@192.168.1.101:1521:sale";
String username="此处为用户名";
String password="此处为密码";
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
conn= DriverManager.getConnection(url, username, password);
}catch(Exception e){
}
}
/**
* 用于获得执行SQL语句的ResultSet对象
*/
public ResultSet getResult(String sql) {
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
return rs;
} catch (Exception e) {
}
return null;
}
/**
* 用于执行SQL语句没有返回值
*/
public void doExecute(String sql) {
try {
Statement stmt = conn.createStatement();
stmt.executeQuery(sql);
} catch (Exception e) {
}
}
/**
* 用于获得执行SQL语句的PreparedStatement(预处理)对象
*/
public PreparedStatement getPreparedStatement(String sql) {
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
return pstmt;
} catch (Exception e) {
}
return null;
}
}
我在jsp里调用总是连不上数据库,classes12.jar已放到lib下,在jsp页面用代码就能连上数据库,调用了javabean就不行了
<%@ page contentType="text/html;charset=gb2312" language="java"%>
<%@ page import="java.io.*,java.sql.*"%>
<%
request.setCharacterEncoding("gb2312");//对请求进行统一编码,能正常接收中文
String username=request.getParameter("username"); //接收表单中的username属性
String password=request.getParameter("password");//接收表单中的password属性
String sql="select * from users where"+" user_name='"+username+"' and password='"+password+"'";
ResultSet rs = rst.getResult(sql);
//session.setAttribute("isLog",new String("0"));//判断用户是否登录,当isLog的属性为0时,说明用户并没有登录
if(!rs.next())//结果集没有找到所要查找的行
{
out.println("alert('用户名或密码错误');"+<br> "parent.location.href='index.html';");
}
else
{ response.sendRedirect("main.html");//登录成功后转到系统主页面
}
%>
提示运行到13行if(rs.next)就不运行了,好像是未连接数据库导致
贴出报错信息呀,不然怎么知道错在哪
报错信息type Exception report
message An exception occurred processing JSP page /jxc-unfinished/login.jsp at line 13
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /jxc-unfinished/login.jsp at line 13
10: String sql="select * from users where"+" user_name='"+username+"' and password='"+password+"'";
11: ResultSet rs = rst.getResult(sql);
12: //session.setAttribute("isLog",new String("0"));//判断用户是否登录,当isLog的属性为0时,说明用户并没有登录
13: if(!rs.next())//结果集没有找到所要查找的行
14: {
15: out.println("alert('用户名或密码错误');"+<br> 16: "parent.location.href='index.html';");
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
root cause
java.lang.NullPointerException
org.apache.jsp.jxc_002dunfinished.login_jsp._jspService(login_jsp.java:85)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.45 logs.
空指针 肯定是你rs为null,数据没有查到东西吧。你可以先判断下rs不为null再进行下一步操作