public class PeriodicalScoreUpdateServlet extends mca.base.MCAServletBase{    public void performTask(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException{
        Connection conn = null;
        try{
            conn = this.getConnection(com.icss.j2ee.util.Globals.DATASOURCEJNDI);
            String messageid = this.getParameter(request,"messageid",true,true,false,"0");
            String newScore = this.getParameter(request,"newScore",true,true,false,"0");
            //String messageid = request.getParameter("messageid");
            //String newScore = request.getParameter("newScore");
            String typeId=request.getParameter("typeId");
            String periodicalNo=request.getParameter("periodicalNo");            System.out.println("messageid :"+messageid+"\tnewScore :"+newScore);
            int score = 0;
            DAOFactory factory = new DAOFactory(conn);
            //--------找到相关记录----------------------------------
            InfoMessageDAO  infoMessageDao=new InfoMessageDAO();
            factory.setDAO(infoMessageDao);
            //---------设置查询条件---------------------------------
            infoMessageDao.setMessageid(new Integer(messageid));
            infoMessageDao=(InfoMessageDAO)factory.findByPrimaryKey();
            //messageDAO = (MessageScoreListSearchDAO)factory.findByPrimaryKey();
            //--------设置新值------------------------------------------
            if(newScore == null || newScore.equals("没有得分")){
                score = 0;
            }
            else{
                score = Integer.parseInt(newScore);
            }
            infoMessageDao.setScore(new Integer(score));
            //----------更新-------------------------------------------
            infoMessageDao.update();            String dist = "/servlet/PeriodicalScoreDetailServlet?messageid=" + messageid + "&typeId=" + typeId + "&periodicalNo=" + periodicalNo;
            this.forward(request,response,dist);
            //response.sendRedirect("/servlet/MessageScoreListServlet");
        }
        catch (Exception e){
            e.printStackTrace();
            request.setAttribute("_mca_error", e);
            this.forward(request, response, "/servlet/mca/error/HandleErrorServlet");
        }
        finally{
            if(conn != null){
                try{
                    conn.close();
                }
                catch(SQLException e){
                    System.out.println(e.toString());
                }
            }
        }
    }
}
这是原程序

解决方案 »

  1.   

    把你的
    String dist = "/servlet/PeriodicalScoreDetailServlet?messageid=" + messageid + "&typeId=" + typeId + "&periodicalNo=" + periodicalNo;
    this.forward(request,response,dist);
    改成下面这种形式的试试,不知道行不行,不是很清楚,请大家指正RequestDispatcher dispatch = getServletContext().getRequestDispatcher(
                                       "/jsp/general/err.jsp");
     dispatch.forward(request, response);