이하 구디아카데미 김지훈 강사님의 수업자료와 강의 내용 정리, 실습한 내용을 정리함!
오전 1차 테스트 진행 후 오후 수업 진행 예정
먹고 싶은 음식으로 항목을 만들었다.
테스트 코드
출력
String
문자열
- Programming 에서 문자열을 다루는 것은 byte 와 char 뿐이다.
- 본래 문자열(string)은 char 의 배열(array)이다.
- Java 에서는 문자열을 다루기 위한 String 이라는 class를 만들게 된다.
- Client 요청에 "Hello String"이라는 답변을 main.jsp에 해주는 예시
문자열의 기능들
- String class 는 문자열과 관련된 많은 기능을 제공해 준다.
- 자주 사용하는 기능은 아래와 같다.
예시
- index
- action이 ./login 이고 method 가 post 인 form 생성
- ID 입력하는 타입 text 창 생성 -> name 이 id
- PW 입력하는 타입 password 창 생성 -> name 이 pw
- 서버 전송하는 버튼 생성
- EL 태그의 msg 값을 변수 msg 에 담고 만약 msg가 ''(공란)이 아니면 msg를 경고창으로 띄움
- LoginController
- /login 경로를 처리함
- Char 인코딩을 UTF-8로 설정해서 한글이 깨지지 않도록 함
- id 값을 가져와 변수 id에 담음
- pw 값을 가져와 변수 pw에 담음
- page 라는 변수에 "index.jsp" 를 담음
- msg 라는 변수에 "아이디 또는 비밀번호를 확인하세요." ekadma
- id에 trim 메서드 반환값을 id 변수에 넣음(공백 제외) && pw 동일
- 만약 id가 "admin"과 같고 pw 가 "pass"와 같다면 id+ 님 반갑습니다. 를 변수 msg에 담음
- 그리고 main.jsp 를 page 변수에 담음
- session 값을 가져와서 변수 sission에 담음
- session의 id를 "loginID" 라는 이름으로 설정
- msg 를 "msg"라는 이름으로 설정
- page로 값을 보내는 코드(아이디 비밀번호가 틀릴 시 변수 page에 저장된 경로는 index.jsp, 변수 msg에 저장된 메시지는 "아이디 또는 비밀번호를 확인하세요." / 아이디 비범이 맞을 시엔 page에 저장된 경로는 main.jsp, msg 에 저장된 값은 id 님 반갑습니다)
- main
- action 이 upload 이고 method 는 post 인 form을 만듦
- text 타입에 name 이 fileName 이며 value 는
[image]test@image
임. 검사 버튼이 있음
- El 태그로 가져온 msg를 변수 msg에 담음
- 만약 msg 가 공백이 아니라면 경고창을 띄움
- StringUtils
- main.jsp 의 주의사항을 검사하기 위한 클래스. check 메서드 실행
- fileName의 글자수를 변수 len에 넣음
- 만약 len이 20보다 크다면 반환값 "글자 수가 20자를 넘었습니다."
- "@","$","#","%","&" 문자 배열을 변수 arr에 넣음
- for 문을 사용해 arr 변수를 str에 한씩 넣어줌
- 매개변수 fileName에 contains 메서드 사용해서 str이 있는지 확인
문자열 내에 지정 문자열이 포함되어 있는지 확인하는 boolean 타입 메서드
- 만약 contain 이 true 라면 반환값 "@,$,#,%,& 가 포함되어 있으면 안 됩니다."를 뱉음
- 만약 startsWith 메서드를 사용하여 fileName 앞에
[img]
가 없다면(false 라면) 반환값 "파일명 앞에 [img]가 붙어야 합니다." 를 뱉음
- pass 변수는 false 로 선언
- 문자열 ".png", ".jpg",".jpeg",".gif"를 exts 변수에 넣음
- for 문을 사용하여 exts 변수의 문자열을 ext 변수에 하나씩 넣어줌
- fileName에 endsWith 메서드를 사용하여 ext 문자열이 있다면 변수 pass에 넣음
- 만약 pass 가 true 라면 for 문을 빠져나감.
- 만약 pass 가 false 라면 반환값 "허용되는 확장자는 .png .jpg .gif 입니다." 뱉음
- 만약 fileName의 끝에 .jpeg 문자열이 있다면 (endsWith 메서드 사용) fileName을 replace(특정문자 변경) 메서드를 사용해서 ".jpeg" -> ".jpg" 변경
- 그리고 반환값으로 fileName+" 은 정상적인 파일명입니다."를 뱉음
- UploadController
- /upload 경로를 처리함
- 문자 인코딩을 UTF-8로 변경하여 한글 입력 시 깨지지 않도록함
- "fileName" 값을 가져와 변수 fileName 에 넣음
- StringUtils 클래스를 객체화하여 변수 utils 에 넣음
- utils 객체의 매개변수 fileName으로 chack 메서드 실행한 값을 msg 변수에 넣음
- msg를 "msg" 이름으로 설정
- "main.jsp"로 보내는 메서드 사용하여 dis 변수에 저장
- dis의 forward 메서드로 값을 보냄
오전의 시험 때문에 크게 진도가 나가지 않았던 하루
그새 익숙해졌다고 공부를 별로 안 한 기분이네🤣