본문 바로가기

전체 글

Spring 15. 공공데이터 API 활용하기 // 한국환경공단_에어코리아_대기오염정보 를 활용하였다. public class AirVo { // 공공데이터포탈의 항목명과 동일해야 한다. private String stationName; // 측정소명 private String dataTime; // 측정일시 private String khaiValue; // 통합대기환경수치 private String so2Value; // 아황산가스 농도 private String coValue; // 일산화탄소 농도 private String o3Value; // 오존 농도 private String no2Value; // 이산화질소 농도 private String pm10Value; // 미세먼지(PM10) 농도 // getter/setter/tostring .. 더보기
Spring 14. Scheduler(2)-Quarts ▶ Spring Quarts 설정방법 1. 추가 => bean객체 등록시 필요 2. pom.xml에 quartz관련된 의존성 3개 추가 org.quartz-scheduler quartz 2.3.2 org.quartz-scheduler quartz-jobs 2.3.2 org.springframework spring-context-support ${org.springframework-version} ▶ Spring Quarts 작업단위(컴포넌트 3가지) - Job : 실제로 작업할 작업단위(기능) - Trigger : Job을 어떤 방식으로 실행시킬지 정의 - Scheduler : 만든 Trigger들을 등록해서 내가 원하는 시간에 작업이 이루어 지도록 스케쥴링하는 컴포넌트 // ChangePwdSchedu.. 더보기
Spring 14. Scheduler(1) ▶ Scheduler : 매일, 매분, 매초, 매주, 매달, .. 등 반복적으로 실행시켜야 하는 작업(프로세스)가 있는 경우 스프링 스케쥴러를 사용하면 간편하게 셋팅 가능하다. ▶ Spring Scheduler 작업순서 1. xml파일 만들고 task, context 스키마를 등록(하단 namespace탭을 이용) 2. 스케쥴링 관련 annotation 활성화 3. 스케쥴러로 사용할 클래스들을 bean객체로 등록 4. web.xml에 프로그램 구동시 현재 xml이 읽혀지도록 등록 -> *-context.xml로 등록 5. 스케쥴링을 원하는 메서드에서 schedule어노테이션 추가(#2가 되어있어야 함) -> ScheduleController.java에 추가함 // scheduler-context.xml .. 더보기
Spring 13. Intercepter ▶ Intercepter : DispatcherServlet (Intercepter) Controller -> DispatcherServlet Controller 요청 또는 응답을 보내기 전에 Intercepter가 끼어들어 작성해놓은 메서드를 먼저 실행하게 하는 것 // 로그인 여부를 체크하는 인터셉터. // -> 로그인이 필요한 페이지 요청시 로그인을 할 수 있도록 페이지로 리다이렉트해주는 메서드 // -> 로그인 후 요청했던 URL로 리다이렉트해주기 public class LoginIntercepter implements HandlerInterceptor{ @Override public boolean preHandle(HttpServletRequest request, HttpServletRespon.. 더보기
Spring 12. 채팅(채팅하기 및 채팅방 나가기) // chatRoom.jsp 나가기 //내가 작성한 글 ${msg.createDate} ${msg.message} //상대방이 작성한 글 ${msg.userName} ${msg.message} ${msg.createDate} 보내기 // chat.js // 페이지 로딩 완료 후 => 채팅창을 맨 아래로 내리는 작업(ex.window, onload) // 즉시실행함수(IIFE, 속도 빠름, 변수명 중복문제 해결) (function () { // 채팅창 요소 가져오기 const display = document.querySelector(".display-chatting") // 채팅창 맨 아래로 내리기 display.scrollTop = display.scrollHeight; // scrollTop : 스크.. 더보기
Spring 11. 채팅(채팅방 리스트 및 생성) @Slf4j @Controller @RequestMapping("/chat") //기본경로 지정 @SessionAttributes({"loginUser", "chatRoomNo"}) public class ChatController { @Autowired private ChatService chatService; // 채팅방 목록 조회(SELECT) @GetMapping("/chatRoomList") public String selectChatRoomList(Model model) { // 1) DB에서 채팅방 목록데이터 조회 List list = chatService.selectChatRoomList(); // 2) 조회된 데이터를 model에 추가 model.addAttribute("list", li.. 더보기
Spring 10. 게시글 작성(사진게시판) // 지난시간 사진첨부 insertBoard()에서 추가작업했다.. public class BoardController { @PostMapping("/insert/{boardCode}") public String insertBoard( Board b, @PathVariable("boardCode") String boardCode, @ModelAttribute("loginUser") Member loginUser, Model model, //게시글등록 실패시 errorMsg 담아줄 예정 HttpSession session, RedirectAttributes ra, // form태그안에 input type="file"(첨부파일 1개) @RequestParam(value="upfile", required=fa.. 더보기
Spring 09. 게시글 작성(일반게시판+사진첨부) // boardEnrollForm.jsp 게시글 작성하기 제목 작성자 ${loginUser.userId} 첨부파일 내용 등록 취소 // root-context.xml // 10MB로 제한 // spring/common/Utils.java public class Utils { // 파일저장함수 // -> 파일을 저장시키면서 파일명을 수정한 후 수정된 파일명을 반환해주기 public static String saveFile(MultipartFile upfile, String savePath) { // upfile을 savePath로 이동시키기 // 랜덤파일명 생성하기 String originName = upfile.getOriginalFilename(); String currentTime = new java.. 더보기