2016-08-16 2 views
-1

작동하지 않고 JSP를 위해 그 일이 제대로<error-page>는 서블릿

의 web.xml 코드

<error-page> 
<exception-type>java.lang.Throwable</exception-type> 
<location>/error.jsp</location> 
</error-page> 

서블릿 코드

protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException 
{ 
     response.setContentType("text/html;charset=UTF-8"); 
     PrintWriter out = response.getWriter(); 
     try { 
      /* 
      * TODO output your page here. You may use following sample code. 
      */ 
      String a=null; 
      a.toString();//this line will throw exception 
     } 
finally {    
      out.close(); 
     } 
} 

그렇지 않습니다 error.jsp로 리디렉션합니다. 서블릿에 catch 블록을 쓸 때

+0

내가 서버 로그에서 특정 오류가 생각하는거야 일반적인 오류 페이지에 예외가 발생합니다 : "응답이 커밋 이미" . 로그 파일을 확인하십시오. – Gimby

+0

@Gimby, 서버 로그에는 예외가 없습니다. 나는 왜 그것이 실행되지 않는지 이해할 수 없다. 제안하시기 바랍니다 – ParthKansara

+0

예외를 throw하는 코드를 코드 최상단 ('response.getWriter()'위)으로 이동하여 차이가 있는지 확인하십시오. – Gimby

답변

0

서블릿 코드 이

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
       throws ServletException, IOException { 
      // response.setContentType("text/html;charset=UTF-8"); 
      PrintWriter out = response.getWriter(); 
      try { 
       /* 
       * TODO output your page here. You may use following sample code. 
       */ 
       String a=null; 
       a.toString(); 

      } 
      catch(Exception e) 
      { 
       throw new ServletException(e); 
      } 

      finally {    
       //dont write out.close(); 
      } 
     } 
0

일하고 우리가 쓰지 않을 때 catch는 그 일을 적절히 차단합니다. 서블릿 코드

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException{ 
     response.setContentType("text/html;charset=UTF-8"); 
     PrintWriter out = response.getWriter(); 
     DAL db=null; 
     ResultSet rs=null; 
      parameter p1=new parameter(); 

      // Object param[]; 
      // List<Object> param=new ArrayList<Object>(); 
      long myId=0; 
     try { 


      db=new DAL(); 
      String name=request.getParameter("fn"); 
      db.setQuery("{call usp_StudentInsertData(?,?)}"); 
      db.setInParam(1,name); 
      db.setInParam(2,1000); 
      db.insertUpdate(); 
      out.println("insert"); 
      response.sendRedirect("home.jsp"); 
      } 
     catch(Exception e) 
     { 

     } 
     finally {    
      } 
    } 
+0

좀 더 자세히 설명해 주시겠습니까? –