为什么jsp这么难调试啊?

Annalisa 2006-04-08 11:22:59
程序有问题,但是报错看不明白,怎么调试啊?请教各位有没有什么调试的办法?
...全文
401 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
dreamover 2006-04-13
  • 打赏
  • 举报
回复
一般出错都有行信息的,回源文件找对应行就行了
Paripatetic 2006-04-13
  • 打赏
  • 举报
回复
你是不是把太多的控制和业务逻辑代码放在jsp中了?
调试起来很苦

建议你把这些逻辑代码放在servlet中
只用jsp来接受和输出数据
只有数据比较容易调试
RainyTooo 2006-04-13
  • 打赏
  • 举报
回复
啊哈
我也有过
有时eclipse报错的JSP却可以在tomcat上运行
zuoyangguang 2006-04-13
  • 打赏
  • 举报
回复
user表与系统表有冲突,把表名改一下或者sql用[user]
zuoyangguang 2006-04-10
  • 打赏
  • 举报
回复
把可能出错的代码剪切到一个临时文件中,余下的代码符合程序逻辑即可,然后逐步的添加,最后定位出一个出错的部分。
Tomcat_84 2006-04-09
  • 打赏
  • 举报
回复
与楼主一样困扰中!
什么都不能 2006-04-09
  • 打赏
  • 举报
回复
String sql="select * from [user] ";
azheng270 2006-04-09
  • 打赏
  • 举报
回复
肯定是你的sql语句里有未得到的参数
xiongbing528 2006-04-09
  • 打赏
  • 举报
回复
还是多动手把。
yuzl32 2006-04-08
  • 打赏
  • 举报
回复
这个表名(user)会不会跟你数据库系统冲突?

PS:Oracle 中 select * from user " 是错误的
Annalisa 2006-04-08
  • 打赏
  • 举报
回复
报错信息:
exception

org.apache.jasper.JasperException: Exception in JSP: /re.jsp:18

15: String sql="select * from user ";
16:
17: ResultSet RS_result=connDbBean.executeQuery(sql);
18: while(RS_result.next()) {
19: String ss = RS_result.getString("username");
20: out.print(ss);
21: }


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
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)


root cause

java.lang.NullPointerException
org.apache.jsp.re_jsp._jspService(re_jsp.java:68)
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:332)
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)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.16 logs.

Annalisa 2006-04-08
  • 打赏
  • 举报
回复
//dbconn.java在bbs包中
package bbs;
import java.sql.*;

public class dbconn {
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr="jdbc:odbc:bbs";
Connection connect=null;
ResultSet rs=null;

public void conn() {
try {
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println(e.getMessage());
}
}

public ResultSet executeQuery(String sql) {
try {
connect=DriverManager.getConnection(sConnStr);
Statement stmt=connect.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println(ex.getMessage());
}
return rs;
}

public int executeUpdate(String sql) {
int result=0;
try {
connect=DriverManager.getConnection(sConnStr);
Statement stmt=connect.createStatement();
result=stmt.executeUpdate(sql);
}
catch(SQLException ex) {
System.err.println(ex.getMessage());
}
return result;
}
}


//re.jsp
<%@ page contentType="text/html;charset=GBK" %>
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="connDbBean" scope="application" class="bbs.dbconn"/>

<html>
<head>
<title> user regist </title>
</head>
<body bgcolor="#FFFFFF">

<%

String sql="select * from user ";

ResultSet RS_result=connDbBean.executeQuery(sql);
while(RS_result.next()) {
String ss = RS_result.getString("username");
out.print(ss);
}
out.print("sos");
RS_result.close();
%>
</body>
</html>
  • 打赏
  • 举报
回复
sdfddfssdfd
TomyGuan 2006-04-08
  • 打赏
  • 举报
回复
用工具Debug呀。很快就能發現的。
rongdajian 2006-04-08
  • 打赏
  • 举报
回复
我也深有同感,但是有些问题都只是小问题,只要我们的代码没有问题一般都是出的逻辑错误,我们就怕出现这样的逻辑错误!
但是你也没有说明白是什么错误,能不能把你的代码帖出来呢!这样好看一点哈!
Saro 2006-04-08
  • 打赏
  • 举报
回复
呵呵,初学是这样的,楼主多练练就好了。
jsp是不应该需要调试的。
Annalisa 2006-04-08
  • 打赏
  • 举报
回复
TomyGuan(Tomy):能否推荐一些Debug工具呢?
yuzl32(Hello!有酒醉):数据库是Access,会冲突么?
davidforever(大星):JSTL难学不?现在一个javaBean连数据库就快把我逼疯了
davidforever 2006-04-08
  • 打赏
  • 举报
回复
在JSP2.0中,尽量使用JSTL,因为他是JSP2.0规范的一部分,这样在开发的时候不容易出错,出错了也回很快的找出来!尽量少用脚本!因为脚本很难调试.
常遇道 2006-04-08
  • 打赏
  • 举报
回复
调试多了经验就来了

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧