关键代码:<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<%@page import="stu.*"%><jsp:useBean id="db" scope="page" class="javabean.sqlBean"/>
<%
if(request.getParameter("Sno")!=null&&request.getParameter("pwd")!=null){
String sql="select Sno from Ani where Sno='"+request.getParameter("Sno")+"'and pwd='"+request.getParameter("pwd")+"'";
ResultSet rs=db.executeQuery(sql);
if(rs.next()){
String Sno=new String(request.getParameter("Sno").toString().getBytes("ISO-8859-1"),"GB2312"); session.setAttribute("Sno",Sno);response.sendRedirect("denglu.jsp");
}else
response.sendRedirect("error.jsp");
}
%>javaBean代码:
package javabean;
import java.sql.*;
import java.io.*;
public class sqlBean {
public Connection conn=null;
public ResultSet rs=null;
public String user="sa";
public String password="123";
private String DatabaseDriver="com.mrcrosoft.JDBC.aqlserver.SQLServerDriver";
private String DatabaseConnStr="JDBC:microsoft:sqlserver//localhost;1433;DatabaseName=TRSS";
public void setDatabaseDriver(String Driver){this.DatabaseDriver=Driver;}
public String getDatabaseDriver(){return(this.DatabaseDriver);}
public void setDatabaseConnStr(String ConnStr){this.DatabaseConnStr=ConnStr;}
public String getDatabaseConnStr(){return(this.DatabaseConnStr);}
public sqlBean(){
try{
Class.forName(DatabaseDriver);
}
catch(java.lang.ClassNotFoundException e){
System.err.println("加载驱动器有错误:"+e.getMessage());
System.out.print("执行插入有错误:"+e.getMessage());
}
}
public String getString(String name)throws SQLException{
if(rs==null)throw new SQLException("ResultSet is null");
return String.valueOf(rs.getString(name));
} public ResultSet executeQuery(String sql){
ResultSet rs=null;
try{
Connection conn=DriverManager.getConnection("JDBC:microsoft:sqlserver//localhost;1433;DatabaseName=TRSS","sa","123");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);
return rs;
}
catch(SQLException ex){
System.err.println("执行查询有错误:"+ex.getMessage());
System.out.print("执行查询有错误:"+ex.getMessage());
}
return rs;
}
public void CloseDataBase(){
try{
conn.close();
}
catch(Exception end){
System.err.println("执行关闭Connection对象有错误:"+end.getMessage());
System.out.print("执行关闭Connection对象有错误:"+end.getMessage());
}
}
}
出错信息
异 常 org.apache.jasper.JasperException: Exception in JSP: /login.jsp:96: if(request.getParameter("Sno")!=null&&request.getParameter("pwd")!=null){
7: String sql="select Sno from Ani ";
8: ResultSet rs=db.executeQuery(sql);
9: if(rs.next()){
10: String Sno=new String(request.getParameter("Sno").toString().getBytes("ISO-8859-1"),"GB2312");
11:
12: session.setAttribute("Sno",Sno);
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
起 因 java.lang.NullPointerException
org.apache.jsp.login_jsp._jspService(login_jsp.java:61)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
注 意 完整的起因在Apache Tomcat/5.5.20里。大家帮帮小弟
<%@page import="stu.*"%><jsp:useBean id="db" scope="page" class="javabean.sqlBean"/>
<%
if(request.getParameter("Sno")!=null&&request.getParameter("pwd")!=null){
String sql="select Sno from Ani where Sno='"+request.getParameter("Sno")+"'and pwd='"+request.getParameter("pwd")+"'";
ResultSet rs=db.executeQuery(sql);
if(rs.next()){
String Sno=new String(request.getParameter("Sno").toString().getBytes("ISO-8859-1"),"GB2312"); session.setAttribute("Sno",Sno);response.sendRedirect("denglu.jsp");
}else
response.sendRedirect("error.jsp");
}
%>javaBean代码:
package javabean;
import java.sql.*;
import java.io.*;
public class sqlBean {
public Connection conn=null;
public ResultSet rs=null;
public String user="sa";
public String password="123";
private String DatabaseDriver="com.mrcrosoft.JDBC.aqlserver.SQLServerDriver";
private String DatabaseConnStr="JDBC:microsoft:sqlserver//localhost;1433;DatabaseName=TRSS";
public void setDatabaseDriver(String Driver){this.DatabaseDriver=Driver;}
public String getDatabaseDriver(){return(this.DatabaseDriver);}
public void setDatabaseConnStr(String ConnStr){this.DatabaseConnStr=ConnStr;}
public String getDatabaseConnStr(){return(this.DatabaseConnStr);}
public sqlBean(){
try{
Class.forName(DatabaseDriver);
}
catch(java.lang.ClassNotFoundException e){
System.err.println("加载驱动器有错误:"+e.getMessage());
System.out.print("执行插入有错误:"+e.getMessage());
}
}
public String getString(String name)throws SQLException{
if(rs==null)throw new SQLException("ResultSet is null");
return String.valueOf(rs.getString(name));
} public ResultSet executeQuery(String sql){
ResultSet rs=null;
try{
Connection conn=DriverManager.getConnection("JDBC:microsoft:sqlserver//localhost;1433;DatabaseName=TRSS","sa","123");
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);
return rs;
}
catch(SQLException ex){
System.err.println("执行查询有错误:"+ex.getMessage());
System.out.print("执行查询有错误:"+ex.getMessage());
}
return rs;
}
public void CloseDataBase(){
try{
conn.close();
}
catch(Exception end){
System.err.println("执行关闭Connection对象有错误:"+end.getMessage());
System.out.print("执行关闭Connection对象有错误:"+end.getMessage());
}
}
}
出错信息
异 常 org.apache.jasper.JasperException: Exception in JSP: /login.jsp:96: if(request.getParameter("Sno")!=null&&request.getParameter("pwd")!=null){
7: String sql="select Sno from Ani ";
8: ResultSet rs=db.executeQuery(sql);
9: if(rs.next()){
10: String Sno=new String(request.getParameter("Sno").toString().getBytes("ISO-8859-1"),"GB2312");
11:
12: session.setAttribute("Sno",Sno);
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
起 因 java.lang.NullPointerException
org.apache.jsp.login_jsp._jspService(login_jsp.java:61)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
注 意 完整的起因在Apache Tomcat/5.5.20里。大家帮帮小弟
解决方案 »
- 上传文件老是报错,以前在jsp里面直接写没事的
- 谁做过打印啊?套打,有没有免费可视化套打控件?帮帮忙啊。
- 服务器端怎么样响应Ajax?
- 怎样实现TOMCAT通过HIBERNATE连接数据库(如DB2)
- struts中textarea框限制输入字符长度的问题。(区分全角、半角)
- 如何在网页上实现midea player控件连续播放对个文件?
- struts 标签使用时必须设定value="",而且form标签不能用???请进来帮忙
- 在线等待,对文件的操作,高分求救!
- 请教:如何实现分页格式如:1 2 3 4 5 ...这样的点1进入第一页
- 一直提示这个!Usage: java javassist.tools.web.Webserver <port number>
- 关于数据库方面的错误!急急急……感谢各位
- 请教java解析xml
----------->>>>>>>>>通常要先判断rs是否为null
if(rs!=null && rs.next())
1.ResultSet rs=db.executeQuery(sql); 这个db你要判断不为空..
2.rs最好是要判断不为空..
2.rs最好是要判断不为空..
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="java.sql.*" %>
<%@ page import="javabean.*" %><%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><jsp:useBean id="db" scope="page" class="javabean.sqlBean"/>
<%
if(request.getParameter("Sno")!=null&&request.getParameter("pwd")!=null){
String sql="select Sno from Ani where Sno='"+request.getParameter("Sno")+"'and pwd='"+request.getParameter("pwd")+"'";
ResultSet rs=db.executeQuery(sql);
if(rs.next()){
String Sno=new String(request.getParameter("Sno").toString().getBytes("ISO-8859-1"),"GB2312");
session.setAttribute("Sno",Sno);
response.sendRedirect("denglu.jsp");
}else
response.sendRedirect("error.jsp");
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
This is my JSP page. <br>
<form action="index.jsp">
<input type="text" name="Sno" />
<input type="text" name="pwd" />
<input type="submit" value="subme"/>
</form>
</body>
</html>sqlBean.javapackage javabean;import java.sql.*;
import java.io.*;public class sqlBean {
public Connection conn = null;
public ResultSet rs = null;
public String user = "root";
public String password = "123";
private String DatabaseDriver = "com.mysql.jdbc.Driver";
private String DatabaseConnStr = "jdbc:mysql://localhost/mydata"; public void setDatabaseDriver(String Driver) {
this.DatabaseDriver = Driver;
} public String getDatabaseDriver() {
return (this.DatabaseDriver);
} public void setDatabaseConnStr(String ConnStr) {
this.DatabaseConnStr = ConnStr;
} public String getDatabaseConnStr() {
return (this.DatabaseConnStr);
} public sqlBean() {
try {
Class.forName(DatabaseDriver);
} catch (java.lang.ClassNotFoundException e) {
System.err.println("加载驱动器有错误:" + e.getMessage());
System.out.print("执行插入有错误:" + e.getMessage());
}
} public String getString(String name) throws SQLException {
if (rs == null)
throw new SQLException("ResultSet is null");
return String.valueOf(rs.getString(name));
} public ResultSet executeQuery(String sql) {
ResultSet rs = null;
try {
Connection conn = DriverManager
.getConnection(
"jdbc:mysql://localhost/mydata",
"root", "123");
Statement stmt = conn
.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(sql);
return rs;
} catch (SQLException ex) {
System.err.println("执行查询有错误:" + ex.getMessage());
System.out.print("执行查询有错误:" + ex.getMessage());
}
return rs;
} public void CloseDataBase() {
try {
conn.close();
} catch (Exception end) {
System.err.println("执行关闭Connection对象有错误:" + end.getMessage());
System.out.print("执行关闭Connection对象有错误:" + end.getMessage());
}
}
}对数据库,我建立一张 Ani表,表有两个字段Sno(主键) 和pwd 加入了一些数据。表:Ani
属性
属性类型
是否为主键Sno varchar(50) Yes
Pwd varchar(50) No加入的数据:
Sno pwd
root root
root2 root2建议你检查你检查一下你连接数据库的方法,和你的数据库是否可以访问。
) 第61行看看是哪一行报的错。
2.一般结果集返回后都是while(rs.hasNext()){ rs.next()}这样处理的。结果集不为空但是里面没有记录