contents와 만드는 방법 동일
1. wirteForm.jsp
수정할 페이지에 원래 제목, 내용, 첨부파일 불러오기 설정, 뒤로가기 링크다시 설정, form action부분 수정
2. borardcontents - upboard에 javascript로 링크 설정
3. boardcontroller
링크설정
4. boardsevice
5. boardcontroller 연결
수정 글쓰기 = 글쓰기와 동일
1. boardcontroller
2. boardDto - boardDto.xml
3. boardservice
4. boardcontroller 연결
수정 파일 개별 삭제
1. updateForm.jsp
2. boardcontroller
3. boarddto - boarddto.xml
4. boardsevice
5. boardcontoller
6. updateForm.jsp
오류페이지 만들기
# error page
server.error.whitelabel.enabled=false
server.error.whitelabel.enabled=false
404, 500 오류 시 보여질 페이지
views 폴더 하위에 'error' 폴더 생성 후 다음 페이지 작성
- 페이지 없음 오류용 페이지 : 404.jsp
- 프로그램에서 발생되는 오류(Exception)
DB 접속 실패, 파일 처리 등 : 500.jsp
비인가 접속제어 - SessionInterceptor
ppt자료
@Component
@Slf4j
public class SessionInterceptor implements AsyncHandlerInterceptor {
// 컨트롤러로 요청(request)이 전달되기 전에 처리
// 로그인 전에 처리하는 메소드
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
log.info("preHandle()");
// 세션의 로그인 정보가 있는지 확인하기 위해 session 구하기
HttpSession session = request.getSession();
// 로그인을 안한 상태로 페이지 접근
if(session.getAttribute("mb") == null){
log.info("인터셉트! - 로그인 안함");
response.sendRedirect("/");
return false;
}
return true;
}
// 로그아웃 후에 처리하는 메소드
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
log.info("postHandle()");
// 현재 사용하는 웹 프로토콜(http) 버전은 1.1과 1.0 혼용
if(request.getProtocol().equals("HTTP/1.1")){
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
} else {
response.setHeader("Pragma", "no-cache");
}
}
}
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Autowired
SessionInterceptor interceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 인터셉터 영역에 모든 것을 다 추가 /**
// 제외할 것들 excludePathPatterns
registry.addInterceptor(interceptor).addPathPatterns("/**")
.excludePathPatterns("/","/css/**", "/js/**", "/images/**")
.excludePathPatterns("/joinForm", "/idCheck", "/joinProc", "/loginForm", "/loginProc", "/error/**");
}
}
'공부기록' 카테고리의 다른 글
6월 21일 라즈베리파이 - VS Code 연동, LED 2 (0) | 2023.06.21 |
---|---|
6월 20일 (2) 라즈베이파이 - 이론, LED 연결 (0) | 2023.06.20 |
5월 24일 Spring - 홈페이지 삭제 처리 (0) | 2023.05.24 |
5월 24일 Spring - 게시판 다운로드, 댓글 처리 (0) | 2023.05.24 |
5월 23일 Spring - 파일 처리, 홈페이지 게시물 상세 (0) | 2023.05.23 |