IT EDU23 [Spring] 의존성 주입 (Dependency Injection) Spring에서의 의존성 주입이란 다음과 같다. 어떠한 객체에 스프링 컨테이너가 또 다른 객체와 의존성을 맺어주는 행위 Spring프레임워크의 3가지 핵심 프로그래밍 모델 중 하나로, 외부에서 두 객체간의 관계를 결정해주는 디자인 패턴으로 인터페이스를 사이에 두고 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 동적으로 주입하여 결합도를 낮출 수 있게 하는 기법이다. DI (Dependency Injection) 의존성 주입은 IoC(Invesoin of Control, 의존성 역전) 원칙하에 객체간의 결합을 약하게 해 주고 유지보수가 좋은 코드를 만들어준다. 즉, 외부에서 생성된 객체를 이용하는 것이다. 한 객체가 어떤 객체에 의존할것인지는 별도의 관심사이다. DI컨테이너를 통해 .. IT EDU/SPRING 2022. 3. 8. Cookie vs Session Cookie Session - 클라이언트(브라우저)의 메모리 또는 파일에 저장 - 클라이언트 로컬에 저장되어 보안에 취약 - 특히 파일로 저장되는 경우 탈취, 변조될 위험이 있고 Request/Response에서 스나이핑당할 위험이 있어 보안이 비교적 취약 - 지속 쿠키의 경우 브라우저 종료시에도 저장되어 있을 수 있음 - 쿠키에 정보가 있기 때문에 서버에 요청시 헤더를 바로 참조하면 되므로 속도에서 유리함 - 서버 메모리에 저장 - 클라이언트 정보 자체는 서버에 저장되어있으므로 비교적 안전함 - 서버에서 만료시간/날짜를 정해서 지워버릴 수 있기도하고 세션 쿠키에 세션 아이디를 정한 경우, 브라우저 종료시 세션아이디가 날아갈 수 있다. - 제공받은 세션ID(key)를 이용해서 서버에서 다시 데이터를 참조.. IT EDU 2022. 3. 7. [JSP] Post, Get, sendRedirect를 이용한 페이지 이동 페이지 이동 웹 브라우저는 get 방식과 post 방식의 두가지 방식 중 한가지를 이용해서 파라미터를 전송한다. 입력 요소의 이름은 웹 브라우저가 서버에 전송하는 요청 파라미터의 이름으로 사용된다. 에 값을 입력한뒤 웹 서버에 전송하면 웹 브라우저는 파라미터 이름 형식으로 파라미터 목록을 웹 서버에 전송한다. 파라미터를 전송하면 그 파라미터를 받아줄 request 와 response 객체 등이 필요한데, 전송 방식에 따라서 객체를 사용하는 법과 파라미터를 받는 법이 다르다. Post 방식 Post 방식은 주로 form 태그를 이용하여 전송을 한다. Post 방식은 전송할때 값을 인코딩 하지 않고 보내기 때문에 받는 쪽에서 인코딩을 해서 값을 받아야한다. 인코딩한 데이터 값을 스코프 공간에 저장하여 받는 .. IT EDU/JSP 2022. 3. 7. [JSP] DAO, DTO를 통한 투표 프로그램 구현 👨💻 Code 1. index.jsp 야 식 전 쟁 회원가입 로그인 투표 시작 투표 종료 투표현황 투표현황 투표하기 투표현황 로그아웃 2. join.jsp 회원가입 Male Female 가입 취소 3. joinOk.jsp 4. login.jsp 로그인 확인 홈으로 5. loginOk.jsp 6. loginFail.jsp 요청에 응답하지 못했습니다. 메인으로 이동하기 7. logout.jsp 8. open.jsp 9. close.jsp 10. radioResult.jsp 기록되었습니다. 11. vote.jsp 투표하기 야식 메뉴 치킨 🍗: 피자 🍕: 분식 🍙: 회 🍣 : 닭발 🐔: 곱창 🐷🐮: 메인 12. yeunsung_resultpage.jsp 투표 결과 0 홈으로 13. UserDAO.jsp pac.. IT EDU/JSP 2022. 3. 4. JSP, HTML 기초 1. JSP 프로젝트 생성 2. JSP 문법 1. 주석 : 2. 선언문(함수) : 3. 스크립트릿 : 4. 표현식 : 5. 예제 - 계속 시간이 변화하는 페이지를 보기 위한 방법(ajax) 1. 페이지를 지속적으로 요청(페이지가 깜빡거림) 2. 데이터만 바뀌어 시간 요청 3. HTML & CSS index.jsp 회원가입 ID PASSWORD testPage.jsp 테스트 페이지 입니다. index.jsp a.jsp IT EDU/JSP 2022. 3. 3. Linux server Tomcat에 War 파일 배포 1. Linux에 tomcat 설치 2. Tomcat에 배포 1. autoDeploy 옵션이 true, appBase가 webapps인 경우 톰캣 구동 시 war 파일을 자동으로 읽어서 배포. unPackWARs가 true인 경우는 war파일을 압축 해제. 2. 지정된 appBase의 파일을 디플로이 시키고자 하면 위 Host 내부에 아래와 같이 정의 IT EDU/JSP 2022. 2. 28. [JSP, Servlet, AWS] 회원 가입 페이지 만들기 index.html HOME 회원가입 회원목록 주변맛집 2조 코드로 말한다 남궁윤호 14살 허예인 하드캐리 최최최 숙명여대 퀸카 김아현 insert.html HOME 회원가입 회원목록 주변맛집 회원가입을 시작해 볼까요? 가입 취소 near_store.html HOME 회원가입 회원목록 주변맛집 우리들의 점심 초선과여포 오늘통닭 하나우동 한돈애 살롱주막집 insertServlet.java package test; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql... IT EDU/JSP 2022. 2. 28. Apache Tomcat 설치 및 JavaSE-11(Eclipse) 연동 1. 설치 https://tomcat.apache.org/download-90.cgi 2. 이클립스 실행 File -> New -> Other -> Server(Server) 경로 설정 : C:\Program Files\Apache Software Foundation\Tomcat 9.0 http://localhost:8080/Web01/index.jsp 3. 새 프로젝트 생성 및 주의사항 새로운 프로젝트를 만들 때는 기존 서버를 STOP을 시켜야 한다. 프로퍼티의 Facets 설정을 다시 해주어야 한다. tomcat admin port number를 8005로 다시 설정해주어야 한다. 서버 관리는 아래의 사진에서 하자 IT EDU/JSP 2022. 2. 24. MySQL String Function 정리 ASCII() Function ASCII() 함수는 특정 문자의 ASCII 값을 반환해 주는 함수이다 Syntax : ASCII(character) SELECT ASCII(CustomerName) AS NumCodeOfFirstChar FROM Customers; CHAR_LENGTH() Function CHAR_LENGTH() 함수는 문자열 또는 문자의 길이를 반환해 주는 함수이다 Syntax : CHAR_LENGTH(string) SELECT CHAR_LENGTH(CustomerName) AS LengthOfName FROM Customers; CONCAT() Function CONCAT() 함수는 두 개 이상의 문자열을 합치는 함수이다 CONCAT_WS() 함수는 첫 파라미터에 구분자를 넣을 수 있.. IT EDU/SQL 2022. 2. 24. SQL 쿼리문 문법 순서 / 실행 순서 SQL의 문법 순서와 실행 작동 순서는 서로 다르다. 문법 작성 순서 SELECT 컬럼명 FROM 테이블명 WHERE 조건식 GROUP BY 컬럼명 HAVING 조건식 ORDER BY 컬럼명 실행 작동 순서 FROM ON JOIN WHERE GROUP BY CUBE | ROLLUP HAVING SELECT DISTINCT ORDER BY TOP 자주 사용하는 노란 글씨의 쿼리문의 간략한 설명은 다음과 같다. FROM - 조회 테이블 확인 WHERE - 데이터 추출 조건 확인 GROUP BY - 컬럼 그룹화 HAVING - 그룹화 조건 SELECT - 데이터 추출 ORDER BY - 데이터 순서 정렬 IT EDU/SQL 2022. 2. 23. 리눅스(Linux) 필수 명령어 20가지 ls 파일이나 디렉토리를 보는 명령어 -a : 전부 보여달라(숨김, 디렉토리) -l : 상세정보 (소유자, 크기, 수정시간 등) -s : 크기 별 정렬 -h : 단위 표현 변경(사람이보기 현판 단위로 보임) -a l: 리스트를 상세하게 모두출력 man 명령어 도움말 cd 디렉토리 이동 Cd /data : 루트디렉토리에서 data 디렉토리로 이동 Cd ./Users : 현재 디렉토리에서 Users 디렉토리로 이동 Cd .. : 상위 디렉토리로 이동 Cd ~ : 최상위 디렉토리로 이동 mkdir 신규 디렉토리 생성 Mkdir /Users/Temp : User폴더에 Temp 폴더 생성 rmdir 디렉토리 삭제 Rmdir /Test : Test 폴더 삭제 rm 파일이나 디렉토리 삭제 (rmdir 보다 더 자주 .. IT EDU/LINUX 2022. 2. 22. 이전 1 2 다음