12. SpringMVC 访问异常处理
2016-03-09 20:42
393 查看
本系列入门学习参考极客学院Spring入门系列视频学习记录总结而来
基于上一个例子代码
添加一个BaseController,里面定义异常处理逻辑,其他Controller均继承该BaseController:
增加一个异常访问页面:
index.jsp增加一个链接:
基于上一个例子代码
添加一个BaseController,里面定义异常处理逻辑,其他Controller均继承该BaseController:
import javax.servlet.http.HttpServletRequest; import org.springframework.web.bind.annotation.ExceptionHandler; import com.dragon.springmvc.exception.MyException; public class BaseController { @ExceptionHandler(MyException.class) public String handleException(Exception ex, HttpServletRequest request) { request.setAttribute("error", ex.getMessage()); return "/WEB-INF/jsp/exception.jsp"; } }
import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import com.dragon.springmvc.constant.Global; import com.dragon.springmvc.exception.MyException; import com.dragon.springmvc.model.User; import com.dragon.springmvc.service.LoginService; @Controller public class LoginController extends BaseController { @Resource LoginService service; @Resource HttpServletRequest request; @RequestMapping("/exception") public void exception() throws MyException{ throw new MyException("测试springmvc中的异常捕获"); } @RequestMapping("/loginpage") public String toLoginPage(){ return "/WEB-INF/jsp/login.jsp"; } @RequestMapping("/user/home") public String toUserHome(){ return "/WEB-INF/jsp/userhome.jsp"; } @RequestMapping(value = "/doLogin", method = RequestMethod.POST) public String doLogin(@RequestParam String userName, @RequestParam String password){ try { User user = service.doLogin(userName, password); request.getSession().setAttribute(Global.USER_SESSION_KEY, user); return "redirect:/user/home.html"; } catch (Exception e) { return "/WEB-INF/jsp/login.jsp"; } } }
增加一个异常访问页面:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>异常</title> </head> <body> <div style="margin:0 auto; padding-top: 100px;" align="center"> <h1>服务器发生异常,异常信息:${error }</h1> </div> </body> </html>
index.jsp增加一个链接:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>首页</title> </head> <body> <div style="margin:0 auto; padding-top: 100px; font-size: 18px;" align="center"> <p><a href="loginpage.html"> 登录 </a></p> <p><a href="user/home.html"> 用户中心 </a></p> <p><a href="exception.html"> 触发异常 </a></p> </div> </body> </html>
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- Zend的MVC机制使用分析(二)
- ASP.NET MVC 4 捆绑和缩小实例介绍
- ASP.NET Mvc开发之查询数据
- ASP.NET MVC中将控制器分离到类库的实现
- asp.net实现在非MVC中使用Razor模板引擎的方法
- ASP.NET MVC中的AJAX应用
- 为ASP.NET MVC及WebApi添加路由优先级
- ASP.NET MVC中图表控件的使用方法
- ASP.NET MVC的四种验证编程方式
- 仅30行代码实现Javascript中的MVC
- ASP.NET MVC 3仿Server.Transfer效果的实现方法
- 如何在MVC应用程序中使用Jquery
- ASP.NET MVC小结之基础篇(二)
- ASP.NET小结之MVC, MVP, MVVM比较以及区别(一)