当前位置:  技术问答>java相关

紧急求救:在做Model II的例子时候遇到了问题,(在线等待,立刻给分)

    来源: 互联网  发布时间:2015-05-28

    本文导语:  欲做一留言的小程序,采用jsp+servlet+ bean模式: 现在只想从数据库中的摘要信息表(yang_digest)显示摘要信息: 控制器servlet如下:(编译无误) import javax.servlet.*; import javax.servlet.http.*; public class Controller extends ...

欲做一留言的小程序,采用jsp+servlet+ bean模式:

现在只想从数据库中的摘要信息表(yang_digest)显示摘要信息:

控制器servlet如下:(编译无误)

import javax.servlet.*;
import javax.servlet.http.*;

public class Controller extends HttpServlet

{

  public void init(ServletConfig config) throws ServletException
  {
    super.init(config);
  }

  public void destroy()
  {
  }

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException
  {
    processRequest(request,response);
  }

  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException
  {
    processRequest(request,response);
  }

  protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException,java.io.IOException
  {

    String action = request.getParameter("action") ;

    String dispatch ="/servlet/" ;

    if(action == null)
      dispatch += "Digest" ;
    else if(action.equals("message"))
      dispatch += "Message" ;
    else if(action.equals("author"))
      dispatch += "Author" ;

    RequestDispatcher dispatcher = request.getRequestDispatcher(dispatch) ;
    dispatcher.forward(request, response) ;
  }

  public String getServletInfo()
  {
    return "Controlling Servlet for Model2 Demonstration";
  }
}



摘要信息表的实体 DigestMessageBean如下(编译无误)

package testb;
import java.beans.*;

import java.io.Serializable ;

public class DigestMessageBean implements Serializable
{
  private int id ;
  private String title ;
  private String author;
  private int ofmessageid;

  public DigestMessageBean()
  {
  }

  public int getId()
  {
    return id ;
  }

  public String getTitle()
  {
    return title ;
  }

  public String getAuthor()
  {
    return author ;
  }

  public int getOfmessageid()
  {
  return ofmessageid;
  }

  public void setId(int value)
  {
    id = value ;
  }

  public void setTitle(String value)
  {
    title = value ;
  }

  public void setAuthor(String value)
  {
    author = value ;
  }

  public void setOfmessageid(int value)
  {
  ofmessageid=value;
  }

}


Controller 转向的的servlet如下:

import testb.DigestMessageBean;
import testb.DBBean;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;


public class Digest extends HttpServlet
{

  public void init(ServletConfig config) throws ServletException
   {
     super.init(config);
   }

   public void destroy()
   {
   }

   protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException
   {
     processRequest(request,response);
   }

   protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException
   {
     processRequest(request,response);
  }

  protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException,java.io.IOException
  {

      try
      {
      String querySQL="select id,title,author,ofmessageid from yang_digest";
      DBBean db=new DBBean();
      ResultSet rs = db.executeQuery(querySQL) ;
      ResultSetMetaData rsmd = rs.getMetaData() ;

      response.setContentType("text/html");
      java.io.PrintWriter out = response.getWriter();

      Vector digest = new Vector() ;

      while(rs.next())
      {

        DigestMessageBean dmb = new DigestMessageBean() ;

        dmb.setId(rs.getInt(1)) ;
        dmb.setTitle(rs.getString(2)) ;
        dmb.setAuthor(rs.getString(3)) ;
        dmb.setOfmessageid(rs.getInt(4));
        digest.addElement(dmb) ;
      }

      rs.close();

      request.setAttribute("digest",digest) ;

      String dispatch ="/viewbean.jsp" ;

      RequestDispatcher dispatcher = request.getRequestDispatcher(dispatch) ;
      dispatcher.forward(request,response) ;

         //out.println("");
     //out.println("yyyy");
     //out.println("");

     //out.println("hello yangping");
     //out.println("");

  }
    catch(SQLException ex)
    {
     }

  }
}

进行显示的jsp页如下:




Servlet-JSP Page

 Message Digest 

 Click on the message id to view a specific message 


  ID
  Title
  Author






    
         
            
      
        
        
    







不知道大家看没看明白?

tomcat4.0 web server.
运行http://speed001:8080/test/servlet/Controller 出错:

org.apache.jasper.JasperException: Unable to compile class for JSP
C:Program FilesApache Tomcat 4.0worklocalhosttestviewbean$jsp.java:145: method 的不兼容类型。从 java.lang.Throwable 到 java.lang.Exception 的转换需为显式强制类型转换。
            if (pageContext != null) pageContext.handlePageException(t);
                                                                     

请问如何解决?????

|
这不是你的程序的错误,是Tomcat路径的问题。在老的servlet api中,handlePageException只能用Exception当参数,在新的api中,handlePageException也能用Throwable当参数。jsp转译中会加一个try/catch( Throwable t),如果你用了老的servlet.jar,就会出现上面的错误。所以好好检查一下路径,以及Tomcat的common/lib和你的WEB-INF/lib等地方,看看有没有老的servlet.jar。

|
把 Throwable t 改成 Exception e

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求救!求救!紧急求救!为什么更新不了所指定的内容?
  • 求救!!!硬件高请进、、、、、、(十万火急,高分求救。)
  • 求救求救!!
  • 求救啊 高分求救 UNIX下关于进程通讯的问题~
  • 求救!!!求救!!!机器不能正常启动
  • 关于jdbc,求救求救!在线等待,马上给分
  • 紧急求救,root用户无权限删除文件
  • 晕,特晕...求救...
  • 高分求救~~如何取得linux下进程完整命令行字符串,就是的ps -ef 完整的全路径的CMD那一列,求救!!!!附现在的代码
  • 求救!weblogic6.0后台运行正确,前台页面跳转或调用其他页面时出“页面无法显示错误”
  • 求救:java里如何取整一个浮点数(不做四舍五入)
  • 紧急求救!!
  • Linux下无法启动apache 高分求救!在线等待
  • 紧急求救 我用freebsd通过smbfs连接win2000的一些问题 (分不够可加)
  • 紧急求救 我用freebsd通过smbfs连接win2000的一些问题
  • 求救,linux和windows之间如何联成局域网(设置),并且相互之间移动文件。
  • 求救!!在Redhat7.3下安装scim0.9.3怎么安装?
  • Linux8.0 修改字符集后,再次进系统,无图形界面问题。。。求救。。
  • SUSE网络打印机问题,在线等,求救!!
  • 散分一百,紧急求救!ROOT密码忘记


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3