본문 바로가기

Servlet&JSP

(24)
017 - 사용자 입력을 통한 GET 요청 반복횟수를 사용자로부터 입력 받으려면 입력폼을 준비해야 한다. UTF-8 을 기본 설정으로 하는 방법 Window -> Preference -> Web -> CSS/HTML/JSP Files 에서 설정 "안녕하세요"를 몇 번 듣고 싶으세요?
016 - 기본값 사용하기 http://.../hello?cnt=20 ㄴ>밑줄 친 전체가 요청. 그 요청에서 추가적으로 값이 전달되면 쿼리스트링(볼드체) http://.../hello?cnt=20 => "3" http://.../hello?cnt= => "" http://.../hello => null http://.../hello => null 공백("")이 들어갈 경우와 null이 들어갈 경우를 생각하여 if문 작성 String cnt_ = request.getParameter("cnt"); int cnt = 100; if(cnt_ != null && !cnt_.equals("")) cnt = Integer.parseInt(cnt_); for(int i=0; i
015 - GET 요청과 쿼리스트링 GET 요청 무엇을 달라고 하는 요청에는 옵션이 있을 수 있다. 기본적으로 클라이언트가 요청하는 건 문서. ex) http://localhost/hello hello라는 문서를 달라는 요청. http://localhost/hello?cnt=3 (원래 100번 반복하는 문서인데) 3번만 반복해서 달라고 요청. 문서를 요청할 때 추가적인 인자를 전달할 수 있다. 이것을 쿼리 스트링이라 함. 쿼리 스트링 : 문서를 요청하면서 뭔가를 전달할 수 있는 것. 서버랑 미리 약속이 된 것이어야 함! 쿼리 스트링 값을 이용한 반복문 작성 이를 막기 위해서 기본값이란 것을 사용하는데 이는 다음 시간에.
014 - 한글과 콘텐츠 형식 출력하기 한글이 깨지는 이유 1. 서버에서 한글을 지원하지 않는 문자코드로 인코딩한 경우. 웹서버에서 클라이언트로 보내질 때, 기본적으로 단위가 ISO-8859-1 이라는 코딩 방식을 이용. 해당 방식은 1바이트로 쪼개서 전달하기에 물음표로 나온다. (한글은 2바이트씩 묶어서 표현) "??" 2. 서버에서는 UTF-8로 인코딩해서 보냈지만 브라우저가 다른 코드로 잘못 해석한 경우. 인코딩 방식만 설정을 다시 하면 깨질 수도 있고 안 깨질 수도 있음. "덈뀞" 해결하는 방법 사용자가 보내는 코딩 방식을 결정 response.setCharacterEncoding("UTF-8"); 사용자가 받았을 때 어떻게 해석할 지에 대한 정보를 제공 (클라이언트에게 캐릭터가 UTF-8로 되었다는 것과, 이게 html 문서라는 정보..
013 - 서블릿 출력 형식을 지정해야 하는 이유 Servlet 출력 형식의 이해 원래 클라이언트는 서버가 보내준 내용들을 웹문서로 인식하는 게 정상. 원래는! 엣지가 정상. 소스를 봤을 때 엣지도 크롬도 내려쓰기가 되어 있음. 웹문서로 볼 때, HTML에서는 태그에 의해서만 내려쓰기가 가능해야 함. 을 추가한 이후 다시 실행 크롬의 경우 태그를 명령어로 인식하지 못하고 있음. 브라우저에 컨텐츠 형식을 알려주지 않은 경우 자의적인 해석을 하기 때문. 우리가 어떤 내용을 클라이언트에 보낼 때는 보내는 내용이 어떠한 형식의 문서인지 밝혀주는 게 중요함. 그렇지 않을 경우, 위처럼 브라우저가 자의적인 해석을 함. 아무런 문서 형식을 알려주지 않았을 경우 엣지, IE의 경우 : html로 해석 크롬의 경우 : text로 해석
012 - 어노테이션을 이용한 URL 매핑 Annotation : 클래스나 메소드에 붙여지는 주석. 컴파일러에 의해 사라지지 않음. metadata-complete="false" 모든 metadate(즉, 설정)이 web.xml에 있다는 의미. false > 여기 외에도 어노테이션을 이용해 설정한 것이 있으니 그것도 찾아봐라 라는 의미. web.xml을 이용하여 매핑하는 것보다 Annotation을 이용하여 매핑하는 것이 더 선호되는 이유 : 각자 분업화 된 내용들을 각자 처리할 수 있기에 훨씬 깔끔하게 협업이 가능함. 협업이 필요한 프로젝트에서 web.xml으로 매핑할 경우, 수정해야 하는 부분이 많아지고 좋지 않음.
011 - 이클립스를 이용한 서블릿 프로그래밍 http://localhost:8080/JSPPrj/index.html project를 개발할 때 root에 해당하는 프로젝트는 context 이름을 갖는 게 좋지 않음. 프로젝트명을 context로 쓰지 않기 위하여 프로젝트명 오른쪽 클릭 -> Properties -> Web Project Settings 에서 Context root 가 JSPPrj로 되어있는데 이를 / 로 변경. Servers에서 JSPPrj 삭제한 후 재실행 http://localhost:8080/index.html
010 - 웹 개발을 위한 이클립스 IDE 준비하기 프로젝트 관리 + 코드 편집 도구 : 코드 수정의 편리함 Ctrl + F11 : 코드수정 -> 컴파일 -> 배포 -> 톰캣 서버 재시작 -> 브라우저로 요청 eclipse EE workspace 변경시킬 때는 File -> Switch Workspace 로 변경 가능. 웹 개발 할 때 서블릿 코드를 바로 만드는 방식이 아니라 이 도구가 컴파일, 문서 관리, 실행을 해줄 것. 어떠한 통합 개발 환경도 통합 개발 환경을 쓰기 위한 환경이 필요한데 이것이 곧 프로젝트 파일. 이번 시간은 IDE를 준비하는 것까지.