我的问题是:
输入 http://localhost:8080/use/userTest.jsp时,出现下面的情况
type Exception reportmessage 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 /userTest.jsp at line 129: <jsp:useBean id = "db" scope="application" class="Stella.doSelect"/>
10: <%
11: String id = "34";
12: user u = db.use(id);13: %>
14: <%= u.getFirstName()%>
15: <%= u.getLastName()%>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NullPointerException
DataBase.DataBaseConn.executeQuery(DataBaseConn.java:14)
Stella.doSelect.use(doSelect.java:17)
org.apache.jsp.userTest_jsp._jspService(userTest_jsp.java:74)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.他说的错的那以行,我不知道为什么错?
我的java程序为
user.java
package Stella;public class user
{
private String userID;
private String firstName;
private String lastName;
private int Age;
private String Address;
public String getUserID() {
return userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public int getAge() {
return Age;
}
public void setAge(int age) {
Age = age;
}
public String getAddress() {
return Address;
}
public void setAddress(String address) {
Address = address;
}
}
doSelect.javapackage Stella;import java.sql.ResultSet;
import java.sql.SQLException;import DataBase.DataBaseConn;
import DataBase.MySQLConn;public class doSelect
{
DataBaseConn db = new MySQLConn();
public user use(String ID)
{
user u = new user();
String sql = "select * from information where userID = "+ID;
ResultSet rs = db.executeQuery(sql);
try {
while(rs.next() && rs != null)
{
u.setFirstName(rs.getString(2));
u.setLastName(rs.getString(3));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return u;
}
}
连接数据库的java程序package DataBase;import java.sql.*;public abstract class DataBaseConn
{
Statement stmt = null;
public ResultSet executeQuery(String sql)
{
ResultSet rs = null;
try
{
rs = stmt.executeQuery(sql);
}
catch (SQLException e)
{
e.getStackTrace();
}
return rs;
}
public int excuteUpdate(String sql)
{
int result = 0;
try
{
result = stmt.executeUpdate(sql);
}
catch (SQLException e)
{
e.getStackTrace();
}
return result;
}
}
package DataBase;
import java.sql.*;
public class MySQLConn extends DataBaseConn
{
Connection conn;
public MySQLConn()
{
// 驱动程序名
// URL指向要访问的数据库名project
// MySQL配置时的用户名"stella"
// MySQL配置时的密码"15858299168"
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost/Stella";
String user = "root";
String password = "639168";
String url1 = url+ "?user="+ user + "&password=" + password;
try
{
// 加载驱动程序
Class.forName(driver); // 连续数据库
conn = DriverManager.getConnection(url1);
stmt = conn.createStatement ();
}
catch (SQLException e1)
{
e1.getStackTrace();
}
catch (ClassNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我的userTest.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="Stella.*"%><html>
<head>
<title>名字信息</title>
</head><body>
<jsp:useBean id = "db" scope="application" class="Stella.doSelect"/>
<%
String id = "34";
user u = db.use(id);
%>
<%= u.getFirstName()%>
<%= u.getLastName()%>
</body></html>
我用类
package Stella;public class MainTest {
public static void main(String[] args)
{
doSelect select = new doSelect();
String id = "34";
user u = select.use(id);
System.out.println("Name:"+u.getFirstName()+u.getLastName()); }}
测试过,结果为
Name:Zhangxiaoxiao我的文件的存放路径为:
user.class: use/WEB-INF/classes/Stella
doSelect.class: use/WEB-INF/classes/Stella
MySQLConn.class: use/WEB-INF/classes/DataBase
DataBaseConn.class: use/WEB-INF/classes/DataBase
userTest.jsp: use下我不知道这个是什么问题,希望大家帮帮我~
谢谢
输入 http://localhost:8080/use/userTest.jsp时,出现下面的情况
type Exception reportmessage 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 /userTest.jsp at line 129: <jsp:useBean id = "db" scope="application" class="Stella.doSelect"/>
10: <%
11: String id = "34";
12: user u = db.use(id);13: %>
14: <%= u.getFirstName()%>
15: <%= u.getLastName()%>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NullPointerException
DataBase.DataBaseConn.executeQuery(DataBaseConn.java:14)
Stella.doSelect.use(doSelect.java:17)
org.apache.jsp.userTest_jsp._jspService(userTest_jsp.java:74)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.他说的错的那以行,我不知道为什么错?
我的java程序为
user.java
package Stella;public class user
{
private String userID;
private String firstName;
private String lastName;
private int Age;
private String Address;
public String getUserID() {
return userID;
}
public void setUserID(String userID) {
this.userID = userID;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public int getAge() {
return Age;
}
public void setAge(int age) {
Age = age;
}
public String getAddress() {
return Address;
}
public void setAddress(String address) {
Address = address;
}
}
doSelect.javapackage Stella;import java.sql.ResultSet;
import java.sql.SQLException;import DataBase.DataBaseConn;
import DataBase.MySQLConn;public class doSelect
{
DataBaseConn db = new MySQLConn();
public user use(String ID)
{
user u = new user();
String sql = "select * from information where userID = "+ID;
ResultSet rs = db.executeQuery(sql);
try {
while(rs.next() && rs != null)
{
u.setFirstName(rs.getString(2));
u.setLastName(rs.getString(3));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return u;
}
}
连接数据库的java程序package DataBase;import java.sql.*;public abstract class DataBaseConn
{
Statement stmt = null;
public ResultSet executeQuery(String sql)
{
ResultSet rs = null;
try
{
rs = stmt.executeQuery(sql);
}
catch (SQLException e)
{
e.getStackTrace();
}
return rs;
}
public int excuteUpdate(String sql)
{
int result = 0;
try
{
result = stmt.executeUpdate(sql);
}
catch (SQLException e)
{
e.getStackTrace();
}
return result;
}
}
package DataBase;
import java.sql.*;
public class MySQLConn extends DataBaseConn
{
Connection conn;
public MySQLConn()
{
// 驱动程序名
// URL指向要访问的数据库名project
// MySQL配置时的用户名"stella"
// MySQL配置时的密码"15858299168"
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost/Stella";
String user = "root";
String password = "639168";
String url1 = url+ "?user="+ user + "&password=" + password;
try
{
// 加载驱动程序
Class.forName(driver); // 连续数据库
conn = DriverManager.getConnection(url1);
stmt = conn.createStatement ();
}
catch (SQLException e1)
{
e1.getStackTrace();
}
catch (ClassNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我的userTest.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="Stella.*"%><html>
<head>
<title>名字信息</title>
</head><body>
<jsp:useBean id = "db" scope="application" class="Stella.doSelect"/>
<%
String id = "34";
user u = db.use(id);
%>
<%= u.getFirstName()%>
<%= u.getLastName()%>
</body></html>
我用类
package Stella;public class MainTest {
public static void main(String[] args)
{
doSelect select = new doSelect();
String id = "34";
user u = select.use(id);
System.out.println("Name:"+u.getFirstName()+u.getLastName()); }}
测试过,结果为
Name:Zhangxiaoxiao我的文件的存放路径为:
user.class: use/WEB-INF/classes/Stella
doSelect.class: use/WEB-INF/classes/Stella
MySQLConn.class: use/WEB-INF/classes/DataBase
DataBaseConn.class: use/WEB-INF/classes/DataBase
userTest.jsp: use下我不知道这个是什么问题,希望大家帮帮我~
谢谢
解决方案 »
- 问个骨灰级菜鸟问题
- 用Struts的开源包 fileupload上传文件,成功后页面不能跳转
- 如何让带日期联动的表单在第一次提交后日期不再初始化,后面显示所选择的时间
- 大家好,我要做一个java视频教学网,由我来主讲,可是不知道注册什么域名好,高人帮我想想
- java web技术交流圈
- 小弟跪求一个ubb正则,希望大大们帮忙....在线等
- 大侠,帮我解决对编程的迷惘问题!!!
- 数据库中文问题
- 如何通过过滤来控制,当一个用户的session 过期,跳转到登陆页面。
- HTTPS怎么用?
- 页面用hidden传值 在ACTION里 取不了 但是用?传的话又可以取到
- 请懂snmp协议的人帮个忙,可不可以发点相关资料我呢
String id = "34" %><%=db.use(id) %>,呵呵,对了的话记得给分啊
错了
要这样写:<% String id = "34"; %>
可是还是错?
一样的错误??
不知道哪里有问题了诶
DataBase.DataBaseConn.executeQuery(DataBaseConn.java:14)
说明这个类14行有问题,你打印判断一下
我问下:我写了个java测试程序试过了,是可以操作成功的,是不是就说明java类已经都没有问题了?
这个要不要写web.xml配置文件的?
检查你的DoSelect类文件的第17行
又有java代码,并且代码里使用动作标签定义的变量,你这种写法不行吧,要么全用动作标签,要么全用java代码.
就是java程序,我已经测试过了,是正确的,类是一定没有问题的,是吗?
加上
<%@ page contentType="text/html; charset=gb2312" language="java" import="Stella.user"%>
高手请指点~!
就是我写过了简单的测试javabean程序
好像就是涉及到数据库连接的时候就会出问题,感觉是那一块的问题。
while(rs.next() && rs != null)
{
u.setFirstName(rs.getString(2));
u.setLastName(rs.getString(3));
}
时由于rs为空,调用它的next()方法抛出异常
<jsp:useBean id = "db" scope="application" class="Stella.doSelect"/>是标签,已经用class指定了类的包路径,可不用import再重复引入
<%
String id = "34";
User u = db.use(id);
%>
上面是java代码,用到了User类,你自然要用import把它引进来,不然系统到哪去寻找User类?!!
哦,我看你前几行发的userTest.jsp代码里面没有,以为你没写