簡體   English   中英

如何在MVC Web應用程序(Servlet和Jsp)中處理異常?

[英]How can I handle exception in a MVC web application (Servlet and Jsp)?

我有一個MVC Web應用程序:一個集中式servlet,幾個jsp和一個DAO。 在我的Servlet中,我有一個switch語句作為后續語句:

try {
            DAO d = new DAO();
            List<Entry> var = d.listentries();

            switch (enumPage.fromString(operation)) {
                case list:
                    request.setAttribute("list", var);
                    link = "listentries.jsp";
                    break;

                case home:
                    request.setAttribute("home", var);
                    link = "index.jsp";
                    break;

                case searchEntry:
                    request.setAttribute("searchEntry", var);
                    link = "searchentry.jsp";
                    break;

                 // [...]
            }

        } catch (NamingException ex) {
            Logger.getLogger(
                    NewServlet.class.getName()).log(Level.SEVERE, null, ex);
            link = "Error.jsp";
        }

如何在程序中處理異常? 我是否必須在每種情況下都使用try-catch。

    case list:
        try{..
        }catch(Exception ex);{
        String error=ex;
        request.setAttribute("error",error);
        link="Error.jsp";
    }

..還是我必須使用單個try-catch作為第一個示例? (或兩者?)

我必須創建一個error.jsp還是一個以上?

在servlet的“ doGet”方法中處理異常是否正確?

您的控制器應處理請求和響應,不要將請求/響應對象傳遞給Dao層。 將您的企業登錄信息放入服務層和Dao層以進行數據庫交互。 將異常從Dao拋出給服務,將服務拋出給控制器。 控制器將捕獲您的異常,並決定應返回什么作為響應。 通過在WEB-INF / web.xml中進行定義來使用自定義錯誤頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM