SpringMVC项目使用log4j
2016-10-25 11:57
190 查看
简介:在SpringMVC项目中,所有的异常都抛至Controller,然后在Controller统一用一工具类ExceptionHandler进行处理。
第一步:编写BaseController(所有的Controller都要继承这一BaseController)
第二步:编写工具类
第三步:如何使用
第一步:编写BaseController(所有的Controller都要继承这一BaseController)
//所有的Controller继承后都会有一个logger对象 public class BaseController<T extends Object> { protected Logger logger = Logger.getLogger(this.getClass()); //异常类型的错误集合 private List<String> actionError = new ArrayList<String>(); //字段类型的错误集合 private Map<String,String> fieldError = new HashMap<String, String>(); public List<String> getActionError() { return actionError; } public Map<String, String> getFieldError() { return fieldError; } public void addActionError(String value){ actionError.add(value); } public void addFieldError(String key,String value){ fieldError.put(key, value); } }
第二步:编写工具类
/** * Controller中异常处理 */ public class ExceptionHandler { /** * 异常处理 * @param logger * @param baseController * @param e * @param request * @param errorMessage */ public static String handle(Logger logger,BaseController baseController,Exception e,HttpServletRequest request,String errorMessage,String errorPage){ logger.error(errorMessage, e); baseController.addActionError(errorMessage); request.setAttribute(ErrorConstants.ACTION_ERROR, baseController.getActionError()); request.setAttribute(ErrorConstants.FIELDE_RROR, baseController.getFieldError()); return errorPage; } /** * ajax异常处理 * @param logger * @param e * @param errorMessage * @return */ public static void handle(Logger logger,Exception e,String errorMessage){ logger.error(errorMessage, e); Map<String, Object> map = new HashMap<String, Object>(); map.put(Constants.CODE, Constants.CODE_VALUE_FAILURE); } }
第三步:如何使用
public class InventoryController extends BaseController<Inventory> { public String inventoryList(int page,int size,Inventory t,HttpServletRequest request){ try { PageBean<Inventory> inventories = inventoryService.getAllEntity(t, size, page); request.setAttribute("inventories", inventories); } catch (BaseServiceException e) { ExceptionHandler.handle(logger, e, "项目查询失败"); } return "admmodular/inventoryList"; } }
相关文章推荐
- 在用maven搭建的springmvc项目中配置使用log4j日志文件
- 使用Maven搭建SpringMVC项目(入门详解)
- SpringMVC使用log4j输出csv文件
- Web项目中使用Log4j实例
- Eclipse 建立 Log4j 2 的 Hello World 项目(使用 properties 文件)
- 使用myeclipse构建maven管理的springmvc项目
- 使用maven和springMVC项目的结构
- Intellij Idea 14使用Maven创建SpringMVC项目
- 在web项目中使用SpringMVC
- 在Intellij Idea中使用Maven创建Spring&SpringMVC项目
- JavaWeb项目中使用LOG4J
- 关于java web项目使用log4j / 当装了两个tomcat后,如何修改tomcat端口
- 使用Eclipse构建Maven的SpringMVC项目
- 使用Eclipse构建Maven的SpringMVC项目
- 分布式锁实现思路及开源项目集成到springmvc并使用
- Web项目同时使用Struts2和SpringMVC
- Spring-Spring Web项目中配置使用Log4j 2
- Web 项目中使用Log4j
- 在eclipse中使用maven创建springMVC项目
- 在Eclipse中使用Maven构建SpringMVC项目