728x90
Spring Legacy · STS · OracleDB · SQLDeveloper
예외처리 연습
HomeController.java
package com.human.ex;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* Handles requests for the application home page.
*/
@Controller
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
/**
* Simply selects the home view to render by returning its name.
* @throws Exception
*/
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) throws Exception {
logger.info("Welcome home! The client locale is {}.", locale);
if(true) throw new Exception("kj"); //강제로예외처리만들어봄
return "home";
}
}
if(true) throw new Exception("kj"); 강제로예외처리만들어봄
CommonExceptionAdvice.java
package com.human.ex;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;
@ControllerAdvice
public class CommonExceptionAdvice {
private static final Logger logger = LoggerFactory.getLogger(CommonExceptionAdvice.class);
//예외처리 -프로젝트에서 예외가 발생하면 예외처리
@ExceptionHandler(Exception.class)
private ModelAndView errorModelAndView(Exception ex) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("board/error_common2"); //예외발생시보여줄페이지
modelAndView.addObject("exception", ex);
return modelAndView;
}
@ExceptionHandler(ArithmeticException.class) //수학적예외
private ModelAndView errorMath(Exception ex) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("board/error_common");
modelAndView.addObject("exception", ex);
return modelAndView;
}
}
error_common.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page session="false"%>
<html>
hi COMMON1
${exception}
${exception.getMessage()}
<c:forEach items="${exception.getStackTrace() }" var="stack">
<h1>${stack.toString() }</h1>
</c:forEach>
</html>
error_common2.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page session="false"%>
<html>
hi COMMON2
${exception}
${exception.getMessage()}
<c:forEach items="${exception.getStackTrace() }" var="stack">
<h1>${stack.toString() }</h1>
</c:forEach>
</html>
실제 제작할 프로젝트 예외화면에는 집그림으로 준비중.. 으로 해놓거나 보여줄 화면을 만들어놓으면 된다.
JSP include 태그
jsp파일을 include 태그(jsp문법)을 통해 해당 페이지의 일부로 포함시킬수있다.
listAll.jsp파일은 include로 header와 footer jsp파일을 가져와 사용하고있다.
header.jsp
header와 footer 파일 위치 / footer.jsp
728x90
'STUDY > SpringLegacy' 카테고리의 다른 글
[Spring] 페이징 처리와 검색 기능 생성 이해하기 (0) | 2022.09.21 |
---|---|
[Spring] JOIN table 생성과 설명 이미지 (0) | 2022.09.21 |
[Spring] 게시판 만들기 총정리 (게시글 등록·확인·삭제·수정) (0) | 2022.09.19 |
[Spring] 글 목록·상세 출력 / 입력·등록·삭제·수정 만들기 (0) | 2022.09.17 |
[Spring] DTO,DAO,mapper생성과 DB연결 설정하기 (0) | 2022.09.17 |