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中的参数来控制不同的类出错会跳转到不同的界面。