본문 바로가기

프로젝트10

파이널 프로젝트_ @Scheduler를 활용한 통계 저장 기능 @Scheduler 어노테이션을 사용하려면실행되면 프로젝트 Application 클래스에 @EnableScheduling 을 붙여주어야 한다  DashBoardScheduleService   DashBoardScheduleService 는 예약 작업을 설정하는 @Scheduler 애노테이션을 사용하여특정 시간마다 자동으로 수행될 작업을 정의해놓았다 정의해놓은 작업은매일 오전10시에 실행되는 saveTotalYesterday( ) 메소드와 매주 월요일 오전 10시에 실행되는 saveTotalLastWeek( ) 메소드다 saveTotalYesterday( ) 메소드는   BUY 테이블에서오늘기준으로 어제날자의 판매 데이터를 조회해서 합산하고통계테이블인 DAY_TOTAL 테이블에 저장한다   saveTota.. 2024. 5. 1.
파이널 프로젝트_로그인, 로그아웃(Spring Boot, Session ) Admin Controller GET 방식 호출 : 로그인 페이지로 이동 POST 방식 호출 : 사용자가 입력한 아이디와 비밀번호를 String 타입으로 받고 사용자 세션을 관리하기 위해서 HttpSession 객체를 받는다 Admin admin = adminService.login(id, password) 입력받은 아이디와 비밀번호를 Service의 login 메소드로 전달한다 로그인을 성공하면 Admin 객체를 반환, 실패할 경우 null을 반환 if(admin != null){ session.setAttribute("admin", admin); } else { return "redirect:/admin/login?error"; } return "redirect:/admin/home"; } 이 조건문.. 2024. 4. 20.
파이널 프로젝트_회원가입(Spring Boot, @Valid , MySQL) Admin.class 회원가입 화면에서 사용자가 값을 입력한 내용을 데이터 베이스에 저장하기 위한 Admin 클래스 AdminController GET 방식 호출 : AdminRegisterForm 을 모델 객체에 담아서 뷰에 전송 (AdminRegisterForm 이 무엇인지는 아래에 설명) POST 방식 호출 : @Valid 어노테이션을 활용해서 모델 객체의 유효성 검사를 수행 BindingResult 데이터를 바인딩할 때 발생할 수 있는 오류들을 담는 객체 RedirectAttributes 리다이렉션을 수행할 때 파라미터를 URL에 붙여 넘기는 것이 아닌 세션을 통해 데이터를 임시로 전달하는 방법을 제공 // 폼 입력값 유효성 체크를 통과하지 못한 경우 if(error.hasErrors()){ //.. 2024. 4. 20.
세미프로젝트_견적요청(서비스 페이지) 견적요청은 navbar 상단을 통해서 들어갈 수 있는데 로그인 하지 않으면 견적요청 버튼 자체가 안나오게 처리를 했다 (위 코드 사진 ) 그래도 url을 통해 들어오는 것을 방지하기 위해 견적요청폼 페이지에도 따로 코드를 넣어놨다 (아래 코드 사진) 코드의 줄 친 곳을보면 name은 다 동일한데 value는 다 다른것을 알 수 있다 예시를 들어 어떤 종류의 이사를 하는지 고르는 영역에서의 name은 다 동일하게 moveType 이지만 value의 값들은 1, 2, 3으로 다 다르다 나중에 전달되는 파라미터값이 name=???&value=??? 이 구분되기 때문에 같은 구분의 영역들은 다 같은 이름으로 지정했다 estimateform.jsp 에서 제출버튼을 누르면 estimate.jsp로 각 파라미터 값들.. 2024. 2. 8.