공부/그룹 스터디 28

WAR파일 자동 배포

자동배포EC2 보안그룹8080포트를 내IP로만 접근가능하게 생성이제 퍼블릭 IPv4 DNS주소:8080 하면 이렇게 톰캣이 나오는데요 여기서 Manager App 클릭 모바텀원격 톰캣이 깔려있는 conf/tomcat-users.xml로 가줍니다 cd tools/apache-tomcat-9.0.89/conf로 가보시면 아까 찾으려한 tomcat-users.xml이 있는걸 확인할 수 있습니다그러면 pwd하여 경로가 나오게하고 이 경로를 복사/home/ec2-user/tools/apache-tomcat-9.0.89/conf좌측 상단 /home/ec2-user 에 붙여넣고 Enter그러면 좌측에 conf안의 파일들이 보입니다tomcat-users.xml우클릭 > Open with default tex..

[Spring]Jasypt 암호화

Jasypt 암호화pom.xml에 Jasypt 라이브러리 적용 org.jasypt jasypt-spring31 1.9.3pom.xml에 Jasypt 라이브러리 추가(jasypt은 Spring 3.0까지 지원,jasypt-spring31은 Spring 3.1 이상을 지원)암호화 사이트를 활용한 암호화https://www.devglan.com/online-tools/jasypt-online-encryption-decryption 간단하게 위 사이트를 사용하여 암호화 & 복구화가 가능 암호화암호화는 사진의 왼쪽 붉은 부분을 입력Enter Plain Text to Encrypt : 변환시키고 싶은 값을 입력Select Type of Encryption : 복구화도 해야 하기에 Two..

원격 톰캣의 Jasypt 환경변수 설정

원격 톰캣의 Jasypt 환경변수 설정이클립스 상단 RUN > Run Configuration > Arguments >VM arguments > - Djasypt.encryptor.password=key값입력(그냥 타이핑하면 입력가능) Arguments > Environment > add > Variable(Name) : 복구화키를 불러올 key값 입력, Value : 복구화키 입력 > apply# 최종 경로 /usr/lib/jvm/java-11-amazon-corretto.x86_64cd /usr/lib/jvmjava-11-amazon-corretto.x86_64가 있는 /usr/lib/jvm로 이동java 환경변수 설정vi ~/.bash_profilevi : 텍스트 편집기~/ : 홈 디렉토리 경로..

AWS EC2 재생성 및 수동배포

EC2 삭제인스턴스 > 작업 > 종료 방지 기능 변경 > 비활성화 > 저장인스턴스 > 작업 > 중지 방지 변경 > 비활성화 > 저장인스턴스 > 인스턴스상태 > 중지인스턴스 > 인스턴스상태 > 종료EC2 생성이름을 원하시는 걸로 입력하시고 Amazon Linux의 Amazon Linux 2023 AMI를 선택합니다. 이때 프리 티어 사용 가능이 무료임으로 잘 확인하세요아키텍처에 자신에가 맞는 비트를 선택시면 되며인스턴스 유형에 t2.micro를 선택합니다 이것도 프리 티어 사용 가능을 확인하세요그다음 새 키 페어 생성을 클릭 (이전에 했던 SSH key를 만든것처럼 해주면 됩니다 차이점이라하면 저희 key를 등록하는게 아닌 아마존이 key를 저희에게 만들어 줍니다)키 페어 이름 : 노트북 이름으로 하겠습니..

[6회차 01] 게시판 리스트 만들기 - DB값 넣기, 의존성 주입

[6회차] 게시판 리스트 만들기10_board_01-develop.zipproperties위 파일을 다운로드 하셔서 import해줍니다import후 properties -> Project Facets -> Java버전을 11로 바꿔줍니다 -> ApplyJava Build Path에 Server Runtime가 없다면 Targeted Runtimes에가서 톰캣을 선택해줍니다pom.xmlmaven-compiler-plugin의 release도 11로 변경jakarta.servlet은 원래 javax.servlet인데 이름이 jakarta로 바뀐겁니다web.xml 10_board_01 org.springframework.web.context.ContextLoaderListene..

[5회차 05] Filter - 페이지 접근 처리

페이지 접근 관리IndexController현재 로그인을 해야 main을 갈 수 있게 하도록 하겠습니다@RequestMapping("/mainPage.do")public String mainPage() { return "main";}IndexController에 간단하네 mainPage를 가는 메서드를 만들어 줍니다현재는 mainPage.do를 하면 바로 main페이지가 보이는데요 이걸 로그인을 안하면 접속을 못하게 바꾸어 보겠습니다로그인 여부는 어떻게 알까요?로그인을 하면 session이 생기기에 session을 활용해 로그인 여부를 체그해줍니다@RequestMapping("/mainPage.do")public String mainPage(HttpServletRequest request) { ..

[5회차 04] Enum - 메시지 처리

메시지 처리프론트에 메시지를 직접전달하면 너무 많은 데이터를 많이 사용하게됩니다.(한글 한글자 = 2바이트, 1바이트 = 8비트)통신을 할때 가장 중요한것은 쓸데없는 데이터를 최소화 하는 것입니다이걸 해결하기 위해 공통으로 사용하는 코드를 만들어 사용합니다 (ex. 0000:성공, 9999:알수 없는 에러)이렇게 숫자 4개만 보내면 프론트에서 이 숫자 4개만 찾아서 보여주면 됩니다Rest에서는 보통 이렇게 사용하지만 Legacy에서는 그게 잘 안되기에 흉내만 한번 내서 사용해 보겠습니다enum : 태생이 싱글톤MessageEnum.java생성com.portfolio.www.message 패키지를 만들고 Enum으로 MessageEnum.java파일을 생성합니다public enum MessageEnum {..

[5회차 03] 로그인 - 예외처리

예외처리먼저 현재 회원가입되지 않은 값을 넣어 로그인해보면이처럼 500에러가 발생하고콘솔창에는 기대값은 1인데 아무것도 안나와 0이기에 EmptyResultDataAccessException이 발생하였습니다 (null값을 주지 않음)하지만 사용자에게는 절대 이러한 에러 페이지를 보여주면 안되기에 예외처리를 해보겠습니다 Tip 예외 코드를 보면 아래서부터 실행되는 것입니다 thread가 생성 -> javax.servlet 이 받고 springframework가 servlet을 땡겨와 dispatcher servlet -> RequestMapping -> 실행시켜 찾아온 곳이 우리가 작성한 패키지의 클래스와 메서드가 나오며 그중 제일 위에 끝난부분이 에러가 발생한 곳으로 우리가 수정할 수 있는 부분이 나옵..