스프링 10

[팀 프로젝트] 24.02.29. 노트

*url 파라미터로 보낸 값의 키와 input 태그의 path 이름이 같으면 파라미터의 값이 input 태그 안에 출력된다. 여행 코스 구현을 위해 네이버 길찾기 API로 코스간 소요시간을 구하는 함수를 만들었다. 그런데 지도에 길을 표시하려면 자바스크립트를 사용해야 한다...자바를 쓰고 싶어서 티맵이 아니라 네이버 길찾기를 사용한 건데... 2시간동안 네이버 길찾기 만진 건 자바로 API 다루는 연습을 한 거라고 치자...속도가 느려서 연습해야 하기는 했다. JSONArray에서 JSONObject를 얻는 getJSONObject는 인덱스로만 사용할 수 있다. JSONObject에서 JSONObject를 얻는 getJSONObject는 키(객체 이름)로 사용할 수 있다. 티맵 API DB에 등록되어있는..

[스프링] 강원 반려동물 동반관광 API 활용 코드

강원 반려동물 동반관광 API 시스템에 공개되어있는 정보를 데이터베이스에 입력하는 코드를 작성했다. 강원 반려동물 동반관광 Open API 링크 Open API 목록 | 강원특별자치도 반려동물 동반관광 API 시스템 > OpenAPI > Open API 목록 (pettravel.kr) Open API 목록 | 강원특별자치도 반려동물 동반관광 API 시스템 > OpenAPI > Open API 목록 www.pettravel.kr 사용 설명 PDF에 사용방법이 적혀있다. 여기서는 분야 코드 PC03으로 접근할 수 있는 관광지 정보를 다룬다. API에는 4가지 종류가 있다. 1)분야코드별 리스트 http://pettravel.kr/api/listPart.do?page=[현재 페이지 값]&pageBlock=[페..

[스프링]관리자 입장에서의 회원 관리(RUD)

회원이 자신의 정보를 관리하는 코드는 로그인한 상태를 가정하고 sessionId를 사용해 처리했다. 하지만 관리자는 sessionId를 사용할 수 없기 때문에 @RequestParam을 사용해 id를 주고받아 sql문으로 전달했다. 1. 회원 목록 출력: List 사용 [스프링] 회원 목록 불러오기 (tistory.com) [스프링] 회원 목록 불러오기 DTO를 여러 개 불러올 때는 List에 DTO를 담아서 출력한다. 1. 뷰 페이지 작성 회원관리 아이디 이름 닉네임 이메일 상세정보 ${member.mem_id} ${member.mem_name} ${member.mem_nickname} ${member.mem_email} 상세정보 c:f mangowhale.tistory.com 2. 회원 개별 정보 출..

[스프링] 회원 탈퇴 구현

(초기 버전) 1. 폼에 회원 탈퇴 추가 취소 회원탈퇴 2. Repository 작성 @Override public int delete_member(String sessionId) { String sql = "DELETE FROM user_mem WHERE mem_id = ?"; int verify = template.update(sql, sessionId); return verify; } 3. Service 작성 @Override public int delete_member(String sessionId) { System.out.println("memberService.delete_member() 도착"); int verify = memberRepository.delete_member(sessionId..

[스프링] 회원정보 불러오기(READ), 수정(UPDATE) 구현

회원정보는 회원가입시 입력한 폼과 같은 곳에 value 속성을 이용해 값을 불러온다. 같은 페이지에서 회원수정까지 가능하게 한다. 회원정보 불러오기 1. form 페이지 작성 회원가입 회원가입 회원 정보 아이디 비밀번호 이름 닉네임 전화번호 이메일 주소 상세주소 2. Repository 작성 @Override public Member get_member_info(String sessionId) { String sql = "select mem_id from user_mem where mem_id = ?"; System.out.println("sessionId와 일치하는 mem_id 취득"); String mem_id = template.queryForObject(sql, new Object[] {sessi..

[스프링] 로그인 구현

회원가입 구현에서 작성한 도메인 Member를 사용한다. package com.springmvc.domain; public class Member { private String mem_id; private String mem_pw; private String mem_name; private String mem_nickname; private String mem_phone; private String mem_email; private String mem_addr; private String mem_addr2; //getter/setter 생략 public String toString() { return "Member [mem_id=" + mem_id + "mem_pw=" + mem_pw + "mem_nic..

[스프링]유효성 검사③

Ch13 유효성검사 13.1 유효성 검사의 개요 13.2 JSR-380을 통한 유효성 검사 13.3 사용자 정의 애너테이션을 통한 유효성 검사 13.4 Validator 인터페이스를 통한 유효성 검사 13.3 사용자 정의 애너테이션을 통한 유효성 검사 13.3.1 사용자 정의 애너테이션 생성 형식 @Constraint(validatedBy=유효성검사클래스.class) @Target(속성) @Retention(속성) @Documented public @interface 사용자정의이너테이션명 { String message() default "출력할 오류 메시지"; Class[] groups() default {}; Class[] payload() default {}; } 사용자 정의 애너테이션의 필수 속성 ..

정리노트 2024.01.30

[스프링] 로그

Ch11 로그 기록 11.1 Log4j 개요 11.2 인터셉터 개요 11.3 인터셉터를 이용한 로그 기록 만들기 11.1 Log4j 개요 11.1.1 Log4j의 구조와 로깅 레벨 11.1.2 로그 환경 설정 파일의 구성 11.1.1 Log4j의 구조와 로깅 레벨 Log4j: 로깅 프레임워크 logger, appender, layout으로 구성 (1)logger: 로깅 레벨 결정 Log4j의 로깅 레벨 레벨 설명 FATAL 조기 종료를 유발하는 심각한 오류 발생(exception/서버 과부하) ERROR 런타임 오류 또는 예기치 않은 상태 WARN 경고성 메시지(사용되지 않는 API 사용, API의 사용 빈도, 오류, 바람직하지 않거나 예기치 않은 런타임 상황) INFO 런타임 이벤트 메시지(함수 호출/..

정리노트 2024.01.24

[스프링] Spring 설치 및 Maven Project 생성

스프링 설치 Eclipse에서 [Help]→[Eclipse Marketplace] 선택 Spring 검색, Spring Tools 4 9aka Spring Tool Suite 4) 4.21.0.RELEASE의 Install 클릭 프로젝트 생성 [File]→[New]→[Maven Project] 워크스페이스 지정 Catalog에서 Internal 선택, Filter에 webapp 검색 org.apache.maven.archetypes 선택하고 Nest 프로젝트명 입력 후 생성 콘솔창에 Y 뜨면 엔터 입력 프로젝트명 우클릭→Properties Project Facets 선택 버전 선택 Dynamic Web Module은 4.0, Java는 17로 지정 후 우측 Runtiems에서 Apache Tomcat에 ..

정리노트 2024.01.12