【问题标题】:How can I handle exception in a MVC web application (Servlet and Jsp)?如何处理 MVC Web 应用程序(Servlet 和 Jsp)中的异常?
【发布时间】:2015-06-25 13:50:46
【问题描述】:

我有一个 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”方法中处理异常是否正确?

【问题讨论】:

  • 您希望您的代码会抛出什么类型的异常。为什么不在您的 web.xml 中使用异常标记进行配置。上传你的 web.xml

标签: java jsp exception servlets model-view-controller


【解决方案1】:

您的控制器应该处理请求和响应,不要将请求/响应对象传递给 Dao 层。 把你的业务登录放到服务层和Dao层进行数据库交互。 从 Dao 向服务和服务向控制器抛出异常。 控制器将捕获您的异常将决定应返回什么作为响应。 通过在 WEB-INF/web.xml 中定义来使用自定义错误页面。

【讨论】:

    猜你喜欢
    • 2011-09-05
    • 2012-05-08
    • 1970-01-01
    • 2014-05-11
    • 1970-01-01
    • 1970-01-01
    • 2016-02-01
    • 2010-09-08
    • 1970-01-01
    相关资源
    最近更新 更多