标签:autowire err 地方 item name control springmvc message 异常类
springmvc.xml
添加异常处理器
<!-- Springmvc异常处理器 --> <bean class="com.itheima.springmvc.exception.CustomExceptionResolver"></bean>
CustomExceptionResolver
package com.itheima.springmvc.exception; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; /** * 异常处理器的自定义的实现类 * @author mjl * */ public class CustomExceptionResolver implements HandlerExceptionResolver{ @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object obj, Exception e) { //obj 发生异常的地方 包名+类名+方法名(形参) 字符串 ModelAndView mv = new ModelAndView(); //判断异常类型 if(e instanceof MessageException){ //预期异常 MessageException me = (MessageException)e; mv.addObject("errorPage", me.getMsg()); }else{ mv.addObject("errorPage","未知异常"); } mv.setViewName("showError"); return mv; } }
MessageException
package com.itheima.springmvc.exception; public class MessageException extends Exception{ private String msg; public MessageException(String msg) { super(); this.msg = msg; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } }
ItemController
@Controller public class ItemController { @Autowired private ItemService itemService; /** * void- * @throws MessageException */ @RequestMapping(value="/item/itemList.action") public void itemList(Model model,HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException, MessageException{ //已知的异常类型 // Integer i =1/0; List<Items> list = itemService.selectItemList(); //自定义的异常类型 if(null == null){ throw new MessageException("商品信息不能为空"); } model.addAttribute("itemList", list); request.getRequestDispatcher("/itemList").forward(request, response); } }
标签:autowire err 地方 item name control springmvc message 异常类
原文地址:https://www.cnblogs.com/syj1993/p/9910318.html