
이전에 자바 스윙(Java Swing)을 활용하여 To Do List 프로그램을 만들었었다.
[java] To do List 구현 (Swing, MVC패턴)
스프링을 배웠으니 이번에는 스프링 레거시(Spring legacy)를 활용하여 To Do List의 웹페이지 버전을 만들어 보았다. 웹페이지 이름은 "호두 스케쥴러(Hodoo Scheduler)"!!
스프링 레거시 프로젝트를 작성하기 위해 IDE는 STS3를 사용했고, DB는 mysql, Dbeaver를 사용했다.
호두 스케쥴러는 오늘의 할일을 추가하고 수정하고 삭제할 수 있는 [일정] 메뉴와 오늘의 일기를 쓸 수 있는 [다이어리] 메뉴가 있다. 그리고 수업 중 배운 내용을 적용시켜 [날씨] 메뉴와 [실시간 채팅], [챗봇] 메뉴를 추가했다.
일단 간단하게 요구사항 정의서, 엔티티정의서, 테이블 정의서를 작성해봤다.





위 내용은 코딩을 하다가 조금 변동된 부분이 있으니 참고만 해주면 좋겠다.
main의 java 폴더 구성이다.

수업 중 배운 내용을 최대한 활용하려고 했기에 중간에 AOP, 인터셉터도 추가하였다.
우선 메인 화면이다.
메뉴 중 [일정], [다이어리]는 로그인을 해야만 접근할 수 있게 로그인 체크 인터셉터를 추가하였다.

package com.multi.hodooScheduler.common.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
public class LoginCheckInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
String requestURI = request.getRequestURI();
System.out.println("[interceptor] : " + requestURI);
HttpSession session = request.getSession(false);
if (session == null || session.getAttribute("loginUser") == null) {
// 로그인 되지 않음
System.out.println("[미인증 사용자 요청]");
// 로그인으로 redirect
request.getRequestDispatcher("/WEB-INF/views/common/loginRedirectPage.jsp").forward(request, response);
return false;
}
// 로그인 되어있을 떄
return true;
}
}
<interceptors>
<interceptor>
<mapping path="/diary/*" />
<mapping path="/task/*" />
<beans:bean id="LoginCheckInterceptor"
class="com.multi.hodooScheduler.common.interceptor.LoginCheckInterceptor" />
</interceptor>
</interceptors>


[메인 이미지 출처] https://timeruler100.co.kr/2024%EB%85%84-%EB%8B%AC%EB%A0%A5-%EB%AC%B4%EB%A3%8C-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C%EC%97%91%EC%85%80%EC%84%9C%EC%8B%9D-2/
본 포스팅은 멀티캠퍼스의 멀티잇 백엔드 개발(Java)의 교육을 수강하고 작성되었습니다.