[IT국비지원] 개발자 교육 21일 차 : JAVA(2023.08.24)fit.구디아카데미,김지훈 강사님

Nicole Gold·2023년 8월 24일
0

K-digital training

목록 보기
22/60

이하 구디아카데미 김지훈 강사님의 수업자료와 강의 내용 정리, 실습한 내용을 정리함!

오전 1차 테스트 진행 후 오후 수업 진행 예정
먹고 싶은 음식으로 항목을 만들었다.

테스트 코드

출력



String

문자열

  • Programming 에서 문자열을 다루는 것은 byte 와 char 뿐이다.
  • 본래 문자열(string)은 char 의 배열(array)이다.
  • Java 에서는 문자열을 다루기 위한 String 이라는 class를 만들게 된다.
  • Client 요청에 "Hello String"이라는 답변을 main.jsp에 해주는 예시



문자열의 기능들

  • String class 는 문자열과 관련된 많은 기능을 제공해 준다.
  • 자주 사용하는 기능은 아래와 같다.

예시

  • index
  1. action이 ./login 이고 method 가 post 인 form 생성
  2. ID 입력하는 타입 text 창 생성 -> name 이 id
  3. PW 입력하는 타입 password 창 생성 -> name 이 pw
  4. 서버 전송하는 버튼 생성
  5. EL 태그의 msg 값을 변수 msg 에 담고 만약 msg가 ''(공란)이 아니면 msg를 경고창으로 띄움
  • LoginController
  1. /login 경로를 처리함
  2. Char 인코딩을 UTF-8로 설정해서 한글이 깨지지 않도록 함
  3. id 값을 가져와 변수 id에 담음
  4. pw 값을 가져와 변수 pw에 담음
  5. page 라는 변수에 "index.jsp" 를 담음
  6. msg 라는 변수에 "아이디 또는 비밀번호를 확인하세요." ekadma
  7. id에 trim 메서드 반환값을 id 변수에 넣음(공백 제외) && pw 동일
  8. 만약 id가 "admin"과 같고 pw 가 "pass"와 같다면 id+ 님 반갑습니다. 를 변수 msg에 담음
  9. 그리고 main.jsp 를 page 변수에 담음
  10. session 값을 가져와서 변수 sission에 담음
  11. session의 id를 "loginID" 라는 이름으로 설정
  12. msg 를 "msg"라는 이름으로 설정
  13. page로 값을 보내는 코드(아이디 비밀번호가 틀릴 시 변수 page에 저장된 경로는 index.jsp, 변수 msg에 저장된 메시지는 "아이디 또는 비밀번호를 확인하세요." / 아이디 비범이 맞을 시엔 page에 저장된 경로는 main.jsp, msg 에 저장된 값은 id 님 반갑습니다)
  • main
  1. action 이 upload 이고 method 는 post 인 form을 만듦
  2. text 타입에 name 이 fileName 이며 value 는 [image]test@image임. 검사 버튼이 있음
  3. El 태그로 가져온 msg를 변수 msg에 담음
  4. 만약 msg 가 공백이 아니라면 경고창을 띄움
  • StringUtils

  1. main.jsp 의 주의사항을 검사하기 위한 클래스. check 메서드 실행
  2. fileName의 글자수를 변수 len에 넣음
  3. 만약 len이 20보다 크다면 반환값 "글자 수가 20자를 넘었습니다."
  4. "@","$","#","%","&" 문자 배열을 변수 arr에 넣음
  5. for 문을 사용해 arr 변수를 str에 한씩 넣어줌
  6. 매개변수 fileName에 contains 메서드 사용해서 str이 있는지 확인
    문자열 내에 지정 문자열이 포함되어 있는지 확인하는 boolean 타입 메서드
  7. 만약 contain 이 true 라면 반환값 "@,$,#,%,& 가 포함되어 있으면 안 됩니다."를 뱉음
  8. 만약 startsWith 메서드를 사용하여 fileName 앞에 [img] 가 없다면(false 라면) 반환값 "파일명 앞에 [img]가 붙어야 합니다." 를 뱉음
  9. pass 변수는 false 로 선언
  10. 문자열 ".png", ".jpg",".jpeg",".gif"를 exts 변수에 넣음
  11. for 문을 사용하여 exts 변수의 문자열을 ext 변수에 하나씩 넣어줌
  12. fileName에 endsWith 메서드를 사용하여 ext 문자열이 있다면 변수 pass에 넣음
  13. 만약 pass 가 true 라면 for 문을 빠져나감.
  14. 만약 pass 가 false 라면 반환값 "허용되는 확장자는 .png .jpg .gif 입니다." 뱉음
  15. 만약 fileName의 끝에 .jpeg 문자열이 있다면 (endsWith 메서드 사용) fileName을 replace(특정문자 변경) 메서드를 사용해서 ".jpeg" -> ".jpg" 변경
  16. 그리고 반환값으로 fileName+" 은 정상적인 파일명입니다."를 뱉음
  • UploadController
  1. /upload 경로를 처리함
  2. 문자 인코딩을 UTF-8로 변경하여 한글 입력 시 깨지지 않도록함
  3. "fileName" 값을 가져와 변수 fileName 에 넣음
  4. StringUtils 클래스를 객체화하여 변수 utils 에 넣음
  5. utils 객체의 매개변수 fileName으로 chack 메서드 실행한 값을 msg 변수에 넣음
  6. msg를 "msg" 이름으로 설정
  7. "main.jsp"로 보내는 메서드 사용하여 dis 변수에 저장
  8. dis의 forward 메서드로 값을 보냄

오전의 시험 때문에 크게 진도가 나가지 않았던 하루
그새 익숙해졌다고 공부를 별로 안 한 기분이네🤣

profile
JAVA 개발자로 가는 길

0개의 댓글

관련 채용 정보