控制器异常处理:
@ResponseStatus(value=HttpStatus.NOT_FOUND)
public class StaffNotFoundException extends Exception {
}
自定义StaffNotFoundException异常类:员工信息没有找到异常。
@ResponseStatus(value=HttpStatus.NOT_FOUND)作用是将该异常映射为http 404异常,就是浏览器接受到的是404错误。
@Controller
@RequestMapping("/")
public class PCInfoController {
@Autowired
PCInfoRestClient PCInfoRestClient;
/**
* 个人信息页面
* @param
* @return
* @throws StaffNotFoundException
*/
@RequestMapping(value="info",method=RequestMethod.GET)
public String staffInfo(Model model) throws StaffNotFoundException {
HashMap staff = PCInfoRestClient.getStaff();
if(staff == null)
throw new StaffNotFoundException();
model.addAttribute("staff", staff);
return "info";
}
@RequestMapping(value="staff/notfound",method=RequestMethod.GET)
public String error(Model model)
{
return "error";
}
}
控制器中如果获得staff是null 则抛出StaffNotFoundException异常。
@ControllerAdvice
public class CommonExceptionHandler {
@ExceptionHandler(StaffNotFoundException.class)
public String handleStaffNotFound(Exception exception, WebRequest request)
{
return "redirect:/staff/notfound";
}
}
@controllerAdvice注解的CommonExceptionHandler 类中,handleStaffNotFound()方法上加了@ExceptionHandler(StaffNotFoundException.class)注解,表示处理当控制器抛出StaffNotFoundException异常时,将会委托该方法来处理。
@controllerAdvice最为实用的一个场景就是将所有@ExceptionHandler方法收集到一个类中,这样所有的异常都能在一个地方进行一致处理。
@ControllerAdvice默认所有控制的抛出的异常都会在这个类进行处理
@ControllerAdvice(annotations = {PCInfoController .class}) 配置你需要拦截的控制器,
@ControllerAdvice(basePackages = "com.demo") 配置你需要路径下的控制器
分享到:
相关推荐
本篇将详细介绍如何利用Maven和SpringMVC来实现统一的异常处理机制。 首先,我们需要理解什么是统一异常处理。在Web应用中,异常处理通常是分散在各个控制器方法中的,这使得代码复用性差,且不易维护。统一异常...
SpringMVC异常处理知识点总结 SpringMVC 异常处理是指在 Spring MVC 框架中对异常情况的处理和解决机制。...在实际开发中,需要根据不同的业务需求来设计和实现异常处理机制,以便能够更好地处理异常情况。
此外,还可以使用`@ControllerAdvice`注解和`@ExceptionHandler`注解来定义一个全局的异常处理类。 3. 错误页面配置:在SpringMVC的配置中,可以通过`<error-page>`标签定义不同类型的错误代码对应的错误页面,或者...
此外,错误处理和异常处理也是必不可少的部分。可以使用@ControllerAdvice和@ExceptionHandler注解全局处理可能出现的异常,向用户友好地展示错误信息。 总结起来,使用SpringMVC实现登录功能涉及的知识点包括:...
除了局部处理外,我们还可以使用 @ControllerAdvice 注解来实现全局异常处理。例如: ```java @ControllerAdvice public class ExceptionController { @ExceptionHandler public ModelAndView error(Exception ...
- SpringMVC通过@ControllerAdvice和@ExceptionHandler注解实现全局异常处理。 - 可以定义一个全局的异常处理器,处理所有Controller中抛出的异常,提供统一的错误页面或JSON响应。 通过以上知识点的学习,读者...
8. **异常处理**:SpringMVC提供了统一的异常处理机制,通过@ControllerAdvice和@ExceptionHandler可以全局处理特定类型的异常。 9. **文件上传与下载**:SpringMVC支持文件上传和下载功能,通过MultipartFile接口...
6. **异常处理**: SpringMVC提供了一种优雅的方式来处理应用中的异常。通过`@ExceptionHandler`注解,可以在控制器中定义特定异常的处理方法。此外,全局异常处理器(`@ControllerAdvice`)可以捕获所有控制器的...
6. **异常处理**: - 通过 @ExceptionHandler 注解处理特定类型的异常,可以自定义错误页面。 - 全局异常处理器:使用 @ControllerAdvice 注解创建全局异常处理器。 7. **上传下载**: - 使用 ...
总结起来,Spring MVC的异常处理机制是多方面的,包括`@ExceptionHandler`、`@ControllerAdvice`、`HandlerExceptionResolver`以及`web.xml`中的错误页面配置。通过这些工具,开发者可以创建健壮且用户友好的应用...
Spring MVC 中的异常处理可以通过实现 HandlerExceptionResolver、使用 @ControllerAdvice 和 @ExceptionHandler 注解、使用 ErrorController 三种方式来实现。每种方式都有其特点和适用场景,我们可以根据实际情况...
对于更复杂和个性化的异常处理,开发者可以实现Spring的HandlerExceptionResolver接口,创建自己的异常处理器。自定义处理器提供更大的灵活性,可以在处理异常时执行任何必要的逻辑,如记录日志、发送报警邮件等,...
9. **异常处理**:SpringMVC通过@ControllerAdvice和@ExceptionHandler可以全局捕获和处理异常,提供统一的错误页面。 10. **上传下载**:SpringMVC提供了处理文件上传和下载的功能,通过MultipartFile接口处理文件...
13. **异常处理**: - 可以通过@ControllerAdvice和@ExceptionHandler全局处理异常,提高代码的可读性和可维护性。 14. **RESTful API支持**: - SpringMVC支持创建RESTful服务,通过@RequestMapping的GET、POST...
@ControllerAdvice是一个SpringMvc/SpringBoot提供的注解,可以被用于实现全局的异常处理和加解密。在这里,我们可以使用@ControllerAdvice来实现DecodeRequestBodyAdvice类,从而实现全局的加解密。 SpringMvc/...
在Spring MVC中,我们通常使用`@ControllerAdvice`或`HandlerInterceptor`来全局处理自定义注解。这两种方式都可以在请求处理之前或之后进行干预,检查注解并执行相应的逻辑。 4. **获取用户登录信息** 要获取用户...
3. **Springmvc自定义异常处理**:Spring MVC提供了@ControllerAdvice和@ExceptionHandler注解,用于全局异常处理。通过@ControllerAdvice注解,可以创建一个全局的异常处理器,然后在其中的@ExceptionHandler方法中...
通过定义@ControllerAdvice和@ExceptionHandler注解,可以实现全局异常处理,捕获并处理所有Controller中的未捕获异常。 七、记录异常到日志: 结合日志框架(如Log4j或SLF4J),在全局异常处理中记录异常信息。 ...
9. **异常处理**:可以自定义异常处理器,通过@ControllerAdvice和@ExceptionHandler注解全局捕获和处理异常。 10. **视图渲染**:视图通常使用JSP、Thymeleaf或Freemarker等技术。在Controller方法中返回视图名,...
7. **异常处理**: SpringMVC允许定义全局或特定类型的异常处理器,通过@ControllerAdvice和@ExceptionHandler注解实现。 8. **视图解析**: 视图解析器如InternalResourceViewResolver,负责根据视图名查找实际...