SpringMVC之带数据与统一异常处理问题

springMVC带数据给jsp页面

第一种方式:通过reqeust域

@RequestMapping(value = "/test5")
	public String test5(String user, String pwd,HttpServletRequest request){
		request.setAttribute("user", user);
		if ("admin".equals(user) && "123".equals(pwd)) {//登录成功
			return "front/success.jsp";
		}else {//失败
			return "front/fail.jsp";
		}
	}

在这里插入图片描述
在这里插入图片描述
第二种方式:通过Model带数据(默认存放到request域中)

	//视图解析器只对转发有效对重定向无效
	@RequestMapping(value = "/test5")
	public String test5(String user, String pwd, Model model){
		model.addAttribute("username", user);
		if ("admin".equals(user) && "123".equals(pwd)) {//登录成功
			return "front/success.jsp";
		}else {//失败
			return "front/fail.jsp";
		}
	}

在这里插入图片描述
在这里插入图片描述

第三种方式:通过Map集合带数据

	//视图解析器只对转发有效对重定向无效
	@RequestMapping(value = "/test5")
	public String test5(String user, String pwd,Map<String, Object> map){
		map.put("aaa", "王二妮子");
		map.put("users", user);
		if ("admin".equals(user) && "123".equals(pwd)) {//登录成功
			return "front/success.jsp";
		}else {//失败
			return "front/fail.jsp";
		}
	}

在这里插入图片描述
在这里插入图片描述

统一异常处理

//	异常问题
	@RequestMapping(value = "/test6")
	public void test6(){
		int i = 10/0;
	}
package cn.java.controller.exception;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

/**
 * @Description: TODO能够处理当前工程的所有controller错误
 * @Title:  GlobalExceptionHandler.java
 * @author: Matthew
 * @date: 2019年3月16日 下午6:39:15
 * @version V1.0
 */

@ControllerAdvice
public class GlobalExceptionHandler {
//	异常处理注解
	@ExceptionHandler(Exception.class)
	public String exceptHand(Exception ex){
		ex.printStackTrace();
		System.out.println("哈哈,恭喜您出错了");
		return "front/error.jsp";
	}
//	异常处理注解
	/*@ExceptionHandler(ArithmeticException.class)
	public void exceptHand2(Exception ex){
		ex.printStackTrace();
		System.out.println("哈哈,恭喜您出错了2222");
	}*/
}

@ControllerAdvice用来让GlobalExceptionHandler类变为异常处理类,所有出错的类都会执行这段代码,你可以更改@ExceptionHandler中的参数来控制不同的类出错会跳转到不同的界面。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值