它到底告诉我????(JSP调试)

62ce123 2004-09-24 03:53:51
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)


root cause

java.lang.IllegalStateException
at org.apache.coyote.tomcat4.CoyoteResponseFacade.sendRedirect(CoyoteResponseFacade.java:338)
at org.apache.jsp.ShowMember_jsp._jspService(ShowMember_jsp.java:133)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)



--------------------------------------------------------------------------------

Apache Tomcat/4.1.30
...全文
113 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
62ce123 2004-09-24
  • 打赏
  • 举报
回复

谢谢大家这么热心!!!!


上面的 JSP原码:
======== 处
应为ShowMember.jsp原码:
62ce123 2004-09-24
  • 打赏
  • 举报
回复
BEEN原码:
Login.java :
============
package tom.jiafei;
import java.sql.*;
public class Login
{ String logname,
password,
success="false",
message=""; //用来返回登录是否成功的消息。
Connection con;
Statement sql;
ResultSet rs;
public Login()
{ //加载桥接器:
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
}
//设置属性值、获取属性值的方法:
public void setLogname(String name)
{ logname=name;
}
public String getLogname()
{return logname;
}
public void setPassword(String pw)
{ password=pw;
}
public String getPassword()
{return password;
}
public String getSuccess()
{return success;
}
//查询数据库的member表:
public String getMessage()
{try{
con=DriverManager.getConnection("jdbc:odbc:friend","","");
sql=con.createStatement();
String condition=
"SELECT * FROM member WHERE logname = "+"'"+logname+"'";
rs=sql.executeQuery(condition);
int rowcount=0;
String ps=null;
while(rs.next())
{ rowcount++;
logname=rs.getString("logname");
ps=rs.getString("password");
}
if((rowcount==1)&&(password.equals(ps)))
{ message="ok";
success="ok";
}
else
{message="输入的用户名或密码不正确";
success="false";
}
con.close();
return message;
}
catch(SQLException e)
{ message="输入的用户名或密码不正确";
success="false";
return message;
}
}
}
===========
PagaNumber.java :
package tom.jiafei;
public class PageNumber
{ int rowCount=1, //总的记录数。
pageSize=1, //每页显示的记录数。
showPage=1, //设置欲显示的页码数。
pageCount=1; //分页之后的总页数。
public void setRowCount(int n)
{ rowCount=n;
}
public int getRowCount()
{ return rowCount;
}
public void setPageCount(int r,int p)
{ rowCount=r;
pageSize=p;
int n=(rowCount%pageSize)==0?(rowCount/pageSize):(rowCount/pageSize+1) ;
pageCount=n;
}
public int getPageCount()
{return pageCount;
}
public void setShowPage(int n)
{showPage=n;
}
public int getShowPage()
{ return showPage;
}
public void setPageSize(int n)
{ pageSize=n;
}
public int getPageSize()
{ return pageSize;
}
}
===========
HandleMessage.java :
package tom.jiafei;
import java.io.*;
public class HandleMessage
{ String content=null;
public void setContent(String s)
{content=s;
}
//获取属性content的值,为了能显示HTML或JSP源文件,需进行流的处理技术:
public String getContent()
{ try{ StringReader in=new StringReader(content) ;//指向字符串的字符流。
PushbackReader push=new PushbackReader(in);
StringBuffer stringbuffer=new StringBuffer();
int c;
char b[]=new char[1];
while ( (c=push.read(b,0,1))!=-1)//读取1个字符放入字符数组b。
{ String s=new String(b);
if(s.equals("<")) //回压的条件
{ push.unread('&');
push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
stringbuffer.append(new String(b));
push.unread('L');
push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
stringbuffer.append(new String(b));
push.unread('T');
push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
stringbuffer.append(new String(b));
}
else if(s.equals(">")) //回压的条件
{ push.unread('&');
push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
stringbuffer.append(new String(b));
push.unread('G');
push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
stringbuffer.append(new String(b));
push.unread('T');
push.read(b,0,1); //push读出被回压的字符字节,放入数组b.
stringbuffer.append(new String(b));
}
else if(s.equals("\n"))
{ stringbuffer.append("<BR>");
}
else
{ stringbuffer.append(s);
}
}
push.close();
in.close();
return content=new String(stringbuffer);
}
catch(IOException e)
{return content=new String("不能读取内容");
}
}
}

62ce123 2004-09-24
  • 打赏
  • 举报
回复
是耿祥议的书中第7章P248“网络交友”例子, COPY下来验证JAVABEEN ,联调通不过,拿出来单独调
原码下载http://www.tupwq.net/download.htm 找到《JSP 实用教程》点击即可下载
JSP原码:
========
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<%@ page import="tom.jiafei.Login" %>
<%@ page import="tom.jiafei.PageNumber" %>
<%@ page import="java.io.*" %>
<jsp:useBean id="handlePage" class="tom.jiafei.PageNumber" scope="session" >
</jsp:useBean>
<jsp:useBean id="login" class="tom.jiafei.Login" scope="session" >
</jsp:useBean>
<% //如果客户直接进入该页面将被转向登录页面。
if(session.isNew())
{response.sendRedirect("login.jsp");
}
//如果没有成功登录将被转向登录页面
String success=login.getSuccess();
if(success==null)
{success="";
}
if(!(success.equals("ok")))
{response.sendRedirect("login.jsp");
}
%>
<HTML>
<BODY ><Font size=1>
<%@ include file="head.txt" %>
<P> 会员列表:
<%! //声明一个共享的连接对象:
Connection con=null;
//显示数据库记录的方法:
public void showList(ResultSet rs,javax.servlet.jsp.JspWriter out,int n,String find)
{try
{
out.print("<Table Border>");
out.print("<TR>");
out.print("<TH width=50>"+"<Font size=1>"+"会员名"+"</FONT>");
out.print("<TH width=70>"+"<Font size=1>"+"性别"+"</FONT>");
out.print("<TH width=70>"+"<Font size=1>"+"email"+"</FONT>");
out.print("<TH width=70>"+"<Font size=1>"+"浏览详细信息"+"</FONT>");
out.print("</TR>");
for(int i=1;i<=n;i++)
{
String logname=rs.getString("logname");
String email=rs.getString("email");
out.print("<TR>");
out.print("<TD >"+logname+"</TD>");
out.print("<TD >"+rs.getString("sex")+"</TD>");
out.print("<TD >"+email+"</TD>");
//在每个会员的后面显示一个表单,该表单将内容提交到find.jsp,
//以便查看该会员的详细信息:
String s1="<Form action="+find+" method=get>";
String s2="<input type=hidden name=logname value="+logname+">";
String s3="<input type=submit value=详细信息></FORM> ";
String s=s1+s2+s3;
out.print("<TD >"+s+"</TD>");
out.print("</TR>") ;
rs.next();
}
out.print("</Table>");
}
catch(Exception e1) {}
}
%>
<%
Statement sql=null;
ResultSet rs=null;
int rowCount=0; //总的记录数。
String logname="";
//第一个客户负责建立连接对象:
if(con==null)
{ try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{out.print(e);
}
try
{con=DriverManager.getConnection("jdbc:odbc:friend","","");
sql=
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=sql.executeQuery("SELECT * FROM member"); //返回可滚动的结果集。
rs.last(); //将游标移动到最后一行。
int number=rs.getRow();//获取最后一行的行号。
rowCount=number; //获取记录数。
handlePage.setPageSize(3); //设置每页显示的记录数。
handlePage.setShowPage(1); //设置欲显示的页码数。
handlePage.setPageCount(rowCount,handlePage.getPageSize());//计算总页数。
out.print("共有"+handlePage.getPageCount()+"页,");
out.print("每页显示"+ handlePage.getPageSize()+"条记录");
}
catch(SQLException e)
{out.print(e);
}
}
//其它客户通过同步块使用这个连接:
else
{ synchronized(con)
{ try { sql=
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=sql.executeQuery("SELECT * FROM member"); //返回可滚动的结果集。
rs.last(); //将游标移动到最后一行。
int number=rs.getRow(); //获取最后一行的行号。
rowCount=number; //获取记录数。
handlePage.setPageSize(3); //设置每页显示的记录数。
handlePage.setShowPage(1); //设置欲显示的页码数。
handlePage.setPageCount(rowCount,handlePage.getPageSize());//计算总页数。
out.print("共有"+handlePage.getPageCount()+"页,");
out.print("每页显示"+ handlePage.getPageSize()+"条记录");
}
catch(SQLException e)
{out.print(e);
}
}
}
%>
<%--选择显示某页的表单 --%>
<%String str=response.encodeURL("showMember.jsp");
String find=response.encodeURL("find.jsp");
%>
<Form action="<%=str%>" method="post" >
输入欲要显示的页<Input type="text" name="ok" value="1">
<Input type="submit" value="submit">
</FORM>
<% //获取表单提交的信息:
String s=request.getParameter("ok");
if(s==null)
{s="1";
}
int m=Integer.parseInt(s);
handlePage.setShowPage(m);
out.print("目前显示第"+handlePage.getShowPage()+"页");
int n=handlePage.getShowPage();
//将游标移到:
rs.absolute((n-1)*handlePage.getPageSize()+1);
showList(rs,out,handlePage.getPageSize(),find); //显示该页的内容。
%>
</FONt>
</BODY>
</HTML>
香芋元宇宙 2004-09-24
  • 打赏
  • 举报
回复
把代码贴出来
jinsfree 2004-09-24
  • 打赏
  • 举报
回复
内部错误,最好设置断点,一点点调试了
zhonghua2003 2004-09-24
  • 打赏
  • 举报
回复
违法调用.
zhonghua2003 2004-09-24
  • 打赏
  • 举报
回复
为了文静,努力工作!!帮你UP!!
xiangbo520 2004-09-24
  • 打赏
  • 举报
回复
把你的代码帖出来看看,光看出错信息作用不大的。
r6 2004-09-24
  • 打赏
  • 举报
回复
可能是网页本身的语法错误,挺难找的
wjsnj 2004-09-24
  • 打赏
  • 举报
回复
怎么学习jsp,能不能告诉我流程和节进啊~
dlglmf 2004-09-24
  • 打赏
  • 举报
回复
出现内部错误,一般这种情况你的程序是很难编译通过的,还有就看你的其他配置,具体要看代码了

81,114

社区成员

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

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