说明

在Sevlet中也可以编写一个处理器,用来对系统中异常作统一处理。

功能实现

第一步:自定义异常

public class ArgumentException extends RuntimeException {@Getterprivate String msg;public ArgumentException(String msg) {super(msg);this.msg = msg;}}

第二步:定义用来处理异常的Servlet

@WebServlet(urlPatterns = "/creditsExceptionHandler")
public class CreditsExceptionHandler extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {PrintWriter out = resp.getWriter();//获取页面对象PageContext pageContext = JspFactory.getDefaultFactory().getPageContext(this, req, resp, null, true, 8192, true);//通过页面对象获取异常对象CreditsException exception = (CreditsException) pageContext.getException();req.setAttribute("msg", exception.getMsg());req.setAttribute("aim", exception.getAim());req.getRequestDispatcher("error.ftl").forward(req, resp);}
}

第三步:在web.xml中配置异常处理器

<error-page><exception-type>com.wc.ex.ArgumentException</exception-type><location>/argumentExceptionHandler</location>
</error-page>

第四步:Servlet中使用测试

@WebServlet(urlPatterns = "/user")
public class UserServlet extends HttpServlet {private UserService userService = new UserServiceImpl();@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String username = request.getParameter("username");if(username == null || username.trim().length()==0){throw new ArgumentException("参数用户名不能为空");}}}

Servlet异常处理器相关推荐

  1. 简单异常处理器SimpleMappingExceptionResolver

    SpringMVC已经定义好了该类型转换器,在使用时可以根据项目情况进行相应异常与视图的映射配置 <!--配置简单映射异常处理器--> <bean class="org.s ...

  2. SpringMVC异常处理器代码示例

    异常处理器 springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑. 异常处理思路 Throwable(error,Exception) ...

  3. JavaWeb——springMVC异常处理器

    一.引言 第一次听说异常处理器这个东西,感觉好神奇高大上,可以一接触就感觉这不就是普通的exception处理么==一切名词都是纸老虎,下面来讲讲异常处理了,就是不能怂== 二.原理 总体说下,异常处 ...

  4. SpringBoot 自定义全局异常处理器

    SpringBoot自定义全局异常处理器 一.maven依赖 二.GlobalExceptionHandler.java 三.ResponseStandard.java 四.logback.xml 五 ...

  5. SpringMVC使用HandlerExceptionResolver实现全局异常处理器

    在SpringMVC中,提供了一个全局异常处理器,用于对系统中出现的异常进行统一处理.在一般的系统中,DAO层.Service层及Controller层出现异常都以"throws Excep ...

  6. Spring MVC的异常处理器

    异常处理器 异常处理思路 Java 中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发.测试等手段减少运行时异常的发生. ...

  7. SpringBoot的过滤器拦截器AOP和异常处理器

    目录 前言 过滤器 创建过滤器 拦截器 创建拦截器 配置拦截器 AOP 创建AOP 异常处理器 创建异常处理器 测试请求的执行过程 创建接口 发送请求 前言 过滤器.拦截器.AOP.异常处理器是搭建系 ...

  8. SpringMVC 异常处理(简单异常处理器 SimpleMappingExceptionResolver;自定义异常处理需要实现HandlerExceptionResolver接口)

    一.SpringMVC 框架异常处理流程 二.异常处理的两种方式 三.简单异常处理器 SimpleMappingExceptionResolver 1.自定义异常类 package com.lt.ex ...

  9. springboot全局异常处理器

    通过aop监控程序异常,全局异常捕获 定义全局异常处理器: import java.util.HashMap; import java.util.Map; import org.springframe ...

最新文章

  1. X@X.X域名转向的实现
  2. 【Linux】安装配置Tomcat7
  3. CentOS 初体验十七:Nexus发布仓库和引用
  4. python自动下载邮件_python实现邮件自动化
  5. 【牛客 - 283H】图论一顿套模板(思维转化,Dijkstra)
  6. 【Pytorch】model.train()和model.eval()用法和区别,以及model.eval()和torch.no_grad()的区别
  7. 洛谷——P1017 进制转换
  8. mysql oracle 锁机制_Mysql锁机制
  9. Windows配置MinGW环境变量
  10. 解决 Files 的值 HEAD无效。路径中具有非法字符...
  11. Linux 执行 Shell脚本报错,“syntax error: unexpected end of file” 原因及处理
  12. 百度网盘解析工具 利用IDM等工具提速下载
  13. css3 360度旋转
  14. 一文教会你使用R语言和基本统计分析
  15. EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER
  16. C++通讯录管理系统
  17. 迷失lost结局什么意思_《lost》《迷失》大结局,没看懂的进,详细讲解
  18. 项目使用jdk17人傻了
  19. matlab浊音段和清音段,基于Matlab编写的语音端点检测1
  20. 论文Makeup Like a Superstar: Deep Localized Makeup Transfer Network(2016,妆容迁移,基于数据库匹配)

热门文章

  1. 胡耀文教你:裂变8级、转化率32%、K值7.4的老带新式分销全复盘
  2. 如何以身作则,做孩子的榜样
  3. 戴尔游匣G15 系统蓝屏问题解决的方法
  4. 投资人说:多方抢投 4400 万美元,我们为何看好神策数据?
  5. 手把手教学:如何设计 SDK
  6. 基于vue的选择月日组件
  7. Android APP开机自启动基本方法
  8. iOS模拟器不能输入中文解决
  9. SCAFFOLD: Stochastic Controlled Averaging for Federated Learning
  10. 使用C#实现支持人脸识别的本地照片管理工具