






-> 해당 파라미터 값이 항상 문자열로 넘어오니까
integer 값으로 바꾸기 위해서 타입을 조정하다 보면 exception 발생할 수 있음




-> method를 post로 바꿔서 doPost가서 연습할 수 있음
-> 단순 변수들은 연습 x

-> name속성을 select에 주고 option에는 주지않음

-> select는 입력이 아니라 골라주는것
(어느것을 골랐는지 서버측에서 이해하려면 option마다 value가 붙어야 함 )
-> value 가 안붙으면 빈문자열이 전송됨
★★★ 무조건 구분해서 이해!!!!!!!
사용자가 입력하는것 : value속성 x
사용자가 입력 x : valuet속성 만들기 **


-> 동일한 파라미터로 인식


doGet 2줄 복사
-> doPost 복사 (서로 상관이 없어짐)











-> 전체 주소를 적는 방법도 있음(하지만 그럴 필요가 없음)






같은 프로젝트 안에서는 같은 contextpath쓰는것(action="/servlet/response")











-> servlet url Mapping은 거의 다 바꿈



get방식으로 했으니 getmethod가서 진행




-> 보이지 않아서 사용자가 입력할 수 없기때문에 value가 있어야 의미있음


화살표 방향으로 공부하기




응답도 요청처럼 인코딩 필요함



응답은 String필요함


byte기반의 출력 스트림도 원하면 쓸 수 있음
(getOutputStream 쓰지x)


-> IOException 예외 처리 필요


-> 안해도 되는이유 : 처리가 되어있어서




-> pre 요소 내의 텍스트는 시스템에서 미리 지정된 고정폭 글꼴을 사용하여 표현되며, 텍스트에 사용된 여백과 줄바꿈이 모두 그대로 브라우저 화면에 나타난다
-> pre 요소를 사용하면, 독특한 서식의 텍스트나 컴퓨터 코드 등을 HTML 문서에 그대로 표현할 수 있다



-> 자바로 태그 만들기가 어려웠음(servlet이 먼저 나옴)



-> pre태그 쓴 곳 : 원래 글꼴 달라짐
-> 공백이랑 줄바꿈 넘어오는곳 보기


-> 요청을 POST 바꾸고 나면
-> Servlet에서 할 일은 없음


adjac 따로 할거임
-> 똑같음


-> 따로 빼서 할것임


-> 서버 코드를 이용해서 이동하는 방법(새롭게 나옴)


-> forward이건 redirect이건 이동을 해줌
(forward는 직접 전달해서 이동,redirect는 다시 가라고 다시 알려주는 방식)
-> 다시 client한테 알려주는 방식
(최종 도착지 : servlet 2)
-> 내부적으로 이동하는 방법이 조금 다름
(고객센터:servlet1(전화한번 걸음)
servlet2(담당바꿔줌


servlet으로 전송된 데이터는 다시 이동할 것
-> 최종 2개의 servlet을 만들것!!




-> 소문자 f로 바꾸기
doGet
-> 본문 지우기

-> forward : 전달






-> 고객센터에 전화를 함
(1588-3030)






-> 최종 목적지 확인이 불가능(client측에는 공개x:어디서 처리했는지 모름)
-> 분명히 이동했지만 이동경로가 보이지 않음







-> 응답으로 시작해야함






-> 주소창에서는 갔음


->외우지는 말고 나중에 서버 DB할때 다시 나옴
(특징 정확히 알고 있기)

-> 요청한 곳과 응답된 곳이 다른것
-> client입장 : 요청 한번만

-> 결론 : SELECT -> Select이후에는 forward함
-> select결과 : 목록주세요(/getList) 요청함





입력요소들을 form 태그 없이 id기반으로 만들기






async: true(기본 값) -> 생략하기


-> 파라미터만 잘라서 data로 옮기기(모양 맞추기)








-> JSON DATA로 만들수 있음

-> XML의 제작능력을 활용해서 XML 만들기



URL Mapping을 getXML로 바꾸는것이 중요


-> GET방식 요 청
-> doGet이 받음

-> 정상적으로 ajax 요청까지 되는지 확인
html 실행후

-> 나이는 정수를 입력(정수를 아닌 입력을 막는건 정규식으로 함)







SYSOUT -> 없애기










-> Json데이터 만들어서 보내주기
(xml은 거의 사용 x)
-> dynamic web project는 실무에서 사용할 일은 적다(옛날일)
-> 코드가 점점 줄고 동작은 함
(지금 배우고 있는 코드에서 동작을 함: 이런 데이터에서 왔다가 갔다는 것을 이해하는 것이 중요함)
-> 없는 코드가 꽤 있을 수 있음
★★
-> 이 코드는 변하지 않음
(servlet 쪽 코드가 변함)
var ul = $('<ul>'); // 새로운 'ul'요소를 생성한다. $('<ul>')는 새로운 빈 ul요소를 jQuery객체로 만든다.
ul.append() // 앞서 생성한 ul요소에 자식 요소를 추가하는 부분이다.
$('<li>').text($(resData).find('name').text(); //새로운 li요소를 생성하고 그 안에 resData에서 name 요소의 값을 가져와서 해당 li요소의 텍스트로 설정한다.
-> 여기에는 jqXHR 객체가 포함되며 이 객체는 jQuery XMLHttpRequest의 확장 버전이다.

empty 하는 이유 : append 메소드 써서( append : 원래있던 것 추가해서)
-> 애초에 덮어쓰기를 하면 기존 목록을 제거할 필요 없음
-> html(추가가 아니라 html요소로 덮어쓰기를 한다)

error: function(jqXHR){
alert(jqXHR.status + '(' + jqXHR.statusText + ')');
//jqXHR.status : Ajax 요청에서 서버로부터 수신한 HTTP 응답 상태 코드를 나타냄
(ex) 404 : Not Found, 500 : Internal Server Error
jqXHR.statusText : HTTP 응답 상태 코드에 대한 설명(텍스트)
(ex) 404 상태 코드에 대한 jqXHR.statusText는 'Not Found'가 된다.





★★★(이방법이 더 수월함-> 실수도 적음)

-> serilaize(직렬화) : 파라미터 쭉 줄세워서 보내기









-> 밑에 로고 뜨는지 확인




자바스크립트 객체니까 .찍고 속성만들기




-> 일반화된 코드라고 볼 수 없음
(라이브러리 바꾸면 코드가 다 바뀜)
google-gson 등등






id입력란에 key 3개가 있음





-> id입장 : 자기 focus를 잃어버림
-> focus를 잃었을때 검사함



-> 4글자를 치면 사라짐


-> 명시된 글자 이외의 수는 올 수 가 없음




-> 서로간의 색깔이 들어갔다 나갔다 하려면






-> 정규식 체크할 필요없음(이아이디가 있는지 없는지만 검증하면됨)
-> 굳이 만들면 글자수 정도만 체크만 하면 됨




-> 나중에 변수로 잡아놓고 성공했다, 실패했다
-> 나중에 true일때만 통과시켜주기
-> 서비스 구현시 실제로 유사하게 작업해볼 예정임