`

基于Spring MVC的Web应用开发(9) - Exceptions

 
阅读更多

本文介绍SpringMVC中的异常处理,@Controller注解的方法可能由于各种各样的原因抛出异常,如果没有写try...catch()...语句,异常的堆栈信息将直接抛给浏览器,这样对用户来说很不友好,并且异常的堆栈信息可能含有一些敏感信息(如数据库的表字段,sql语句等等...)是不能暴露出去的。因此在程序中最好捕捉到所有的异常并处理后将友好的界面或者信息返回给客户端,SpringMVC提供了一个Handler,该handler指定一种异常,并返回一个view,举个例子,增加一个Controller,叫ExceptionController:

 

package org.springframework.samples.mvc.exceptions;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class ExceptionController {

	@ExceptionHandler
	public @ResponseBody String handle(IllegalStateException e) {
		return "IllegalStateException handled!";
	}
	
	@RequestMapping("/exception")
	public @ResponseBody String exception() {
		throw new IllegalStateException("Sorry!");
	}

}

 

@ExceptionHandler注解的方法接收一个异常类型的参数,返回值类型和@RequestMapping一样(String,void,ModelAndView...),

访问http://localhost:8080/web/exception,浏览器显示"IllegalStateException handled!"

分享到:
评论

相关推荐

    spring mvc 项目错误,和一些配置

    根据提供的文档信息,我们可以归纳总结出一系列与Spring MVC框架相关的常见问题及解决方案。这些问题主要集中在配置错误、依赖缺失以及常见的异常处理等方面。 ### Spring MVC 项目常见错误与配置 #### 1. Java....

    <Struts Web设计与开发大全>电子版

    - Struts 是一个基于MVC架构的开源Java Web框架,它使用Servlet和JSP技术来构建应用程序。Struts 提供了一个强大的框架结构,使得开发者能够更容易地管理和维护复杂的Web应用程序。 - **1.3.2 其他MVC框架** - ...

    struts+spring文件上传大小限制.rar

    在Java Web开发中,Struts和Spring是两个非常流行的开源框架。它们经常被结合使用来构建企业级应用程序,提供强大的MVC(Model-View-Controller)架构支持。本压缩包"struts+spring文件上传大小限制.rar"显然是针对...

    spring web flow 官方文档

    Spring Web Flow依赖于Spring Framework的核心组件,包括Spring Core、Spring Context、Spring Web MVC等,同时还需要Servlet API的支持。此外,对于某些特定功能,如持久化管理,可能还需集成如Hibernate或JPA等...

    sturts1 spring hibernate开发的详细介绍

    Struts1、Spring和Hibernate是Java Web开发中的三大框架,它们各自解决应用程序的不同问题:Struts1主要用于控制层,提供MVC(Model-View-Controller)架构;Spring框架则是一个全面的企业级应用框架,提供了依赖...

    Web on Servlet Stack

    Spring Web MVC是Spring框架的一个核心模块,主要用于构建基于Servlet容器的Web应用程序。它提供了一个灵活、强大的机制来处理HTTP请求,并将其映射到适当的控制器上执行业务逻辑。Spring Web MVC的设计理念之一就是...

    web相关的各种Test例子

    理解Spring的核心机制和使用Spring MVC开发Web应用是必备技能。 6. **异常处理(Exceptions)**:Java的异常处理机制(try-catch-finally、throw、throws)在Web开发中至关重要,正确处理异常可以提高程序的健壮性...

    phase3-spring-ecomm-api-exception-handling-03-14-2021:phase3-spring-ecomm-api-exception-handling-03-14-2021

    1. **Spring MVC Exception Handling**: Spring MVC是Spring框架的一部分,专门用于处理Web应用程序,包括APIs。它提供了一种优雅的方式来处理控制器方法中抛出的异常。可以通过定义`@ExceptionHandler`注解的方法来...

    Eclipse开发Struts1.2

    Struts1.2 是一个流行的Java Web框架,它基于Model-View-Controller (MVC)设计模式,提供了强大的控制层功能,便于开发人员构建可维护、可扩展的Web应用程序。Eclipse作为一款强大的Java集成开发环境,是开发Struts...

    Manning.Spring.in.Action.4th.Edition.2014.11.epub

    7.1. Alternate Spring MVC configuration 7.1.1. Customizing DispatcherServlet configuration 7.1.2. Adding additional servlets and filters 7.1.3. Declaring DispatcherServlet in web.xml 7.2. Processing ...

    spring-framework-reference-4.1.2

    3.7. General Web Improvements ............................................................................... 19 3.8. WebSocket, SockJS, and STOMP Messaging ..............................................

    struts+spring+mybatis+hibernate的dtd文件

    在Java Web开发中,Struts、Spring、MyBatis和Hibernate这四个框架各有其特定的配置文件,而这些配置文件有时会使用DTD来定义它们的元素和属性,确保文件格式的正确性。下面将详细阐述这四个框架与DTD的关系以及相关...

    Java Struts教程

    Struts 1是Java EE领域早期的主流MVC框架,其设计目标是简化Java Web应用程序的开发,通过提供一系列可重用的组件和设计模式,使得开发者可以更专注于业务逻辑,而不是底层的HTTP请求处理和页面跳转。Struts 2是其...

    struts基础面试笔试题及其答案

    Struts 是一个基于MVC设计模式的Java Web框架,用于构建结构清晰且易于维护的Web应用。它通过提供控制器Servlet(ActionServlet)来协调模型、视图和控制器之间的交互。 2. **Struts框架的核心组件有哪些?** - *...

    配置 struts1.3

    Struts 1.3 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,由Apache软件基金会开发并维护。这个框架为开发者提供了一种组织和控制Web应用程序的方式,使得代码更加结构化,易于维护。在本文中,...

    Java框架房屋出租系统

    Struts是Apache软件基金会开发的一个开源MVC(Model-View-Controller)框架,它在Java Web开发中被广泛应用,帮助开发者构建结构清晰、易于维护的Web应用程序。 ### Struts框架详解 1. **MVC设计模式**: MVC模式...

    struts1的简单应用

    Struts1是一个经典的Java Web开发框架,由Apache软件基金会维护,它主要负责处理MVC(Model-...通过学习和实践Struts1,开发者可以更好地理解和掌握Web应用的开发流程,为后续学习更复杂的框架如Spring MVC打下基础。

    struts-1.2.9

    Struts 是一个开源的 MVC(Model-View-Controller)框架,它被广泛应用于Java Web开发中,以提供更有效的架构模式。Struts 1.2.9是该框架的一个较早版本,它在当时非常流行,尽管现在已被更新的Struts 2所取代,但仍...

    SSH整合_-简单登录过程详解

    SSH框架是指由Struts、Spring和Hibernate三个开源框架组成的轻量级Java企业级应用开发框架。这三个框架在Java Web开发中各自扮演着重要的角色:Struts负责MVC设计模式中的控制层;Spring则作为一个轻量级的容器,...

Global site tag (gtag.js) - Google Analytics