개발 공부 127

Controller

심플 바인딩 get방식 parameter는 ulr뒤에 ?붙여서 사용 Appender: log를 어디에 출력할것인가 기존에 있던 것 뒤에 붙여 나가는 것. 로그를 찍을때 두 가지 appender가 있는데 console appender, 로그로 찍어주는 형태. 어떤 식으로 찍을 것인가. 밑에 패턴으로 나와있는 부분이 있다 콘솔에 이러한 형식으로 appender를 찍어라 %c : 클래스 -%m%n : file appender 로그를 찍을때 파일을 이용하는 로그가 있고, db를 이용하는 로그도 있다. 파일 로그를 이용하는 형태가 많다. 기본적인 로그라는 것이 있다. appender는 어딘가에 출력한다는 것이고, log는 무엇을 출력할 것인가. Model 객체를 spring에서 만들어줌. view에 공유될 수 있..

MVC설정

MVC 사용자의 Requset로 Controller를 호출 -> Controller에서 Model을 이용해 data처리 -> model을 통해 view로 전달 설계이유 : 추후 view를 교제할 때 사용자가 호출하는 URL자체에 변화 없게 만들 수 있기 때문 Controller: 개발자가 작성하는 클래스. Request를 처리하는 로직 작성. view에 전달해야 하는 데이터는 주로 Model 객체에 담아 전달. Spring MVC사용시, Servlet/JSP의 API (HttpServletRequest/Response) 사용 불필요 => 어노테이션, XML로 개발 가능 XML파일 : (Java confinguration은 xml필요X) web.xml : 톰캣 구동과 관련된 설정 - DispatcherSe..

spring 환경 설정

톰캣 서버 설정 java에서 묶어놓은 archvie압축파일 WAR : 결과물이 war한 파일로 나옴. 프로젝트 할때마다 변경해야 할 사항 1) 스프링프레임워크 2) 자바버전 버전을 5.0.7로 변경한 뒤 Build Path에서 maven libraries확인 하면 버전이 위와같이 5.0.7로 변경된 것을 확인 할 수 있음 오류 뜨는경우 problems에서 확인 가능 자바 버전 변경 3) 인코딩 (web.xml 인코딩 코드를 추가) UTF-8 인코딩 web.xml파일에 인코딩 파일 추가해주어야 함. UTF-8 소스코드 encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true en..

Mybatis

return false를 하지 않은 경우 기본 이벤트 처리하러 감 =>href url처리하러.. service ( ) : 요청방식과 무관. 요청시마다 호출되는 메서드. 요청방식이 get/post인 경우 자동호출됨. 구분하고 싶지 않은 경우 service( ) 오버라이딩 하면 됨. nio 패키지 : 입출력보다 확장된 패키지. 출력에서 제공되지 않던 path에 관련된 라이브러리 제공해줌. contentType // 다운로드 할 파일의 형식 ex) 이미지/png, 이미지/jpg String contentType = Files.probeContentType(path); 파일의 형식을 찾으려하다보니 path인자가 필요함. 첨부파일로 무조건 다운로드를 할 경우 : attachment 응답파일 내용을 파일로 만들어주..

개발 공부/WEB 2023.08.02

git으로 협업하기

1. Repository 생성 2. 팀원 초대 Add people 팀원 id입력 수락을 기다리고 있는 멤버들 목록이 나옴 master branch : 완벽한 코드만 오라 (고객에게 보여주는 파일) git init : 추척 시작 git add 파일명 git commit -m " " git remote add origin http~ 주소 : 로컬 컴퓨터랑 repository 연결 git push origin 브랜치 : 브랜치로 로컬 컴퓨터에 있던 코드가 업로드 repository에 파일이 업로드 됨 develop 브랜치 생성 : 브랜치 하나 더 만들어줌 ( master 복사본 ) : 개발자를 위한 연습장이 필요함 git checkout -b develop master에서 develop으로 변경된 것을 확인 ..

개발 공부/GIT 2023.07.26

싱글톤패턴/ 파일 업로드

서블릿마다 service객체와 respository객체가 생성되어 메모리 낭비가 서블릿을 하나로 묶는 방법 서비스 객체를 싱글톤 패턴으로 만드는 방법 java -cp 클래스 1) .class찾아 JVM에 로드 2) ByteCode 검증 3) Byte -> Binary 재해석 4) 0,1로 해석된 내용 기억(Method영역) 5) static변수 자동초기화 6) Main( ) 호출 - Java SE 싱글톤패턴으로 변경하기 미리 생성된 service객체를 반환만 해준다 파일 업로드할때 요청 형식을 바꿔야 함. 첨부할때 규칙 ajax 다음페이지로 넘어가지 않고 바로 첨부가능!

개발 공부/WEB 2023.07.19

session / MVC

html -> jsp로 확장자 변경할 경우 property에서 인코딩 UTF-8해주어야 함 응답할 형식을 한번 만 결정해주어야 한다. 실행할 때 include태그를 이용하여 포함하면 정상 포함된다. 로그인 여부에 따라 메뉴가 바뀌도록 설정 로그인에 마우스를 가져가면 아래와 같이 path경로가 뜸! http://localhost:888/frontback/jsp/login.html 스타벅스코리아 상대경로보다 사용 권장 세션 속성(이름 :"loginedId")을 제거 요청 성공 시 , 중복된 경우 status를 서블릿에서 ( id 중복시 0, 사용가능 시 1로 설정) 응답 CustoemrRepository - selectById() 재사용 return타입으로 성공실패를 확인하지 않고 예외처리로 확인한다. id..

개발 공부/WEB 2023.07.14

Session Tracking : 상태 정보 유지기술

SessionTracking : 상태 정보 유지기술 (쿠키/세션) Cookie / Session / Storage 쿠키 : 클라이언트쪽 정보유지 세션 : 서버쪽 정보유지 왜 해야되는가? Http는 요청/응답/연결끊김의 구조이다. 클라이언트와 서버측에서 연결이 끊겨 있음. 계속 연결 되어 있는것 처럼 보일 필요가 있음. 로그인 성공 후 , 상품조회 , 장바구니 넣기를 이용하여 저장하려고 함. 서로 다른 서블릿 1.첫번째 서블릿을 요청하여 로그인 성공 응답을 받음 2. 장바구니 넣기 작업을 해서 장바구니 담기 성공 응답 받음 3. 결제하기를 또 다른 서블릿 요청 (로그인 성공한 사용자 / 로그인 안 한 사용자 구분 필요) 연결이 끊어진 구조이기 때문에 로그인 성공된 정보를 기억할 수 없음. (웹서버는 기억력..

개발 공부/WEB 2023.07.13

jsp / Servlet

Servlet? 웹 클라이언트의 요청을 처리할 수 있는 클래스. HttpServlet을 상속하여 만들어짐 jsp파일-> Servlet으로 동작 기존방식 - 클라이언트의 요청을 jsp파일로 받음 서블릿 - 클라이언트의 요청을 Servlet으로 직접 받음 MVC패턴 Model - Java View - JSP파일 (보여지는 용도) Controller - Servlet (요청을 처리하는 역할) HTML/CSS/JS - 정적 사이트 JSP(Java) - 동적사이트 사용자의 입력을 위해 페이지가 필요하고, 입력한 내용이 처리되려면 특정 jsp파일로 요청을 해야만 함 jsp파일 하나가 사용자의 입력을 받을 수 있고, 입력받은 내용으로 서버에 전달하게 됐을때 입력받은 내용들을 서버로 요청하여 서버에서 이 데이터를 받아..

개발 공부/WEB 2023.07.12