분류 전체보기 (149) 썸네일형 리스트형 day76 - 1115 ** 준비 - 로그인 구현 PageController @Controller @RequestMapping("/page") public class PageController { // 의존성 주입 @Autowired private SqlSession sqlSession; // 홈 Mapping @GetMapping("/home") public String home() { return "home"; } // 로그인 Mapping @PostMapping("/login") public String login(@ModelAttribute MemberDto memberDto, HttpSession session) { // 입력받은 회원 아아디로 단일 조회 MemberDto findDto = sqlSession.sele.. day75 - 1114 웹 소켓(Web Socket) - HTML5의 표준 기술 - HTTP 환경에서 클라이언트와 서버 사이에 하나의 TCP 연결을 통해 실시간 양방향 통신을 가능하게 하는 통신 프로토콜 - interface인 WebSocketHandler을 구현(implements) - WebSocketHandler의 구현체인 TextWebSocketHandler, BinaryWebSocketHandler를 상속(extends) 기본적인 웹 소켓 연결 BasicWebSocketServer @Slf4j @Service public class BasicWebSocketServer extends TextWebSocketHandler { @Override public void afterConnectionEstablished(WebS.. day73 - 1110 로깅(Logging) - 로그를 기록하는 행위 (로그 : 시스템의 정보를 제공하는 일련의 기록) slf4j (Simple Logging Facade For Java) - java.util.logging, logback, log4j 등 다양한 로깅 프레임워크에 대해 간단한 Facade 또는 추상화 역할을 하여 사용자가 배포시 원하는 로깅 프레임워크로 연결할 수 있도록 도와준다 Log Level - TRACE < DEBUG < INFO < WARN < ERROR < FATAL - FATAL : 치명적인 오류에 대한 메시지 - ERROR : 요청을 처리하는 중 발생한 오류에 대한 메시지 - WARN : 처리 가능한 문제이지만 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지 - INFO : 로그인, 상태 .. day72 - 1109 이메일 전송 의존성 추가 - Java Mail Sender 의존성 추가 - 의존성 추가 확인 ** SMTP(Simple Mail Transfer Protocol) JavaMailSenderImpl - Spring의 클래스 - JavaMailSender의 구현체 - 이메일 전송에 필요한 여러 설정을 할 수 있다 - JavaMailSenderImpl의 메소드 중 일부 void send(MimeMessage mimeMessage) Mime Message 전송 void send(SimpleMailMessage simpleMessage) Simple Message 전송 void setHost(String host) host 이름 설정 void setPort(int port) port 번호 설정 void setUs.. day71 - 1108 MyBatis를 이용한 복합 검색 - 하나의 에 여러 이 있으며 이중 일부만 사용하여 조건 검색을 구현 ** 구현하려는 검색창의 최종 형태 product-mapper 조건 조회 - 기본적으로 전체 조회 - 번호가 존재한다면 해당 번호로 조회 select * from product where no = #{no} 기본 검색 조회 - 기본적으로 전체 조회 - 검색 카테고리(type)과 검색어(keyword)가 존재한다면 검색 조회 - 태그처럼 해당 조건을 만족할 때만 안의 내용 동작 select * from product where instr(${type}, #{keyword}) > 0 복합 조회 (1) - 조건의 유무에 상관없이 여러 조건을 연결하여 한번에 쓰기 위해 where 1=1을 붙인다 select .. day70 - 1107 MyBatis 의존성 추가 - 프로젝트 생성시 기존 의존성 외에 MyBatis Framework 추가 - 의존성 확인 - (추가) jsp에 대한 의존성은 수동으로 추가해야 한다 application.properties 설정 추가 1) mybatis.configuration.map-underscore-to-camel-case - DB 컬럼명에 _가 포함된 경우 _ 이후 첫 글자를 대문자로 변환하여 Mapping 2) mybatis.type-aliases-package - mapper의 namespace를 간결하게 하기 위해 사용 3) mybatis.mapper-locations - mapper가 존재하는 위치 설정 mapper의 기본 형태 - 내에 태그 형태의 코드 작성 - namespace : 외부에서 .. day45 - 0928 Visual Studio Code (VSCode) Live Server - 웹 페이지를 새로고침하지 않아도 변경사항이 실시간으로 반영되어 바로 확인할 수 있다 1) 설치 2) Live Server를 실행시킬 브라우저 선택 - settings - browser 검색 - Live Server - Settings : Custom Browser에서 원하는 브라우저 선택 GitHub 연동 1. Git 설치 1) git 홈페이지에서 Downloads 선택 2) 운영체제(Windows) 선택 3) 버전 선택 4) 이후 특별한 선택 없이 다음을 눌러 설치까지 진행 ** 버전 확인 명령 : cmd 실행 후 git -version 2. Git Hub Pull Request and Issues 설치 3. Git Hub의 저.. day44 - 0927 게시판 첨부파일 업로드 및 다운로드 테이블 생성 게시판 첨부파일(board_attachment) - 게시글 번호(board_no) : 외래키, 게시판 테이블(board)의 게시글 번호(board_no) 참조, 필수 입력 - 첨부파일 번호(attachment_no) : 외래키, 첨부파일 테이블(attachment)의 첨부파일 번호(attachment_no) 참조, 필수 입력 ** 하나의 게시글에 하나의 파일만 첨부할 수 있도록 설정하기 위해 게시글 번호(board_no)와 첨부파일 번호(attachment_no)를 복합키로 설정 -- 테이블 생성 create table board_attachment( board_no references board(board_no) on delete cascade not n.. 이전 1 2 3 4 5 ··· 19 다음