목록servlet (7)
Hayden's Archive
3.1은 web.xml을 선택적으로 만들 수 있다.(Generate web.xml deployment desciptor을 선택적으로 체크) web.xml이 없으면 자바 코드에다가 하는데 Annotation으로 한다. 개발자 입장에서는 Annotation 구조로 하는 게 편하다.(주로 SI 업체) 대기업의 관리자, 유지, 보수하는 입장에서는 web.xml로 만들어주는 게 좋다.(주로 SM 업체) 서블릿 annotation에서 load-on-startup 처리 참고 https://dololak.tistory.com/737 [서블릿/JSP] 톰캣(서블릿 컨테이너) 시작시 Servlet 초기화 되도록 설정하기 참고글 [서블릿/JSP] 서블릿의 초기화 과정 및 초기화 방법 [서블릿/JSP] init() 메서드를 ..
페이지 이동을 네비게이션이라고 함. Web 페이지 이동 1. Forwarding(포워딩. 앞으로 간다. 제일 많이 씀. 거의 90%) 2. Redirect Forwarding 방식 - 요청하고 응답하고, 요청하고 응답하면 첫번째 요청이랑 두번째 요청이 전혀 관련 없는 남남. 이걸 Stateless한 protocol라고 함. - 원래는 요청 2번, 응답 2번 해야 하는 것을 요청 1번, 응답 1번으로 줄일 수 있음. - 포워딩을 하게 되면 응답하지 않고 서버상에서 다이렉트로 이동함. - 그렇게 되면 클라이언트로부터 받은 폼값을 그대로 가져가게 됨. ServletRequest에 저장한 객체도 없어지지 않고 JSP로 넘어가서도 쓸 수 있음. 그리고 나서 응답하면 죽으니까 메모리 효율성 뛰어남. 이 경우에는 H..
Attribute : 서버상에서 데이터(개체)를 보관하는 저장소. -보관할 때 Binding : setAttribute(" ", object) //키는 String으로 밸류는 객체로 들어감. -찾아올 때 Look-up : getAttribute(" ") //키로 찾아옴. Attribute 총 3가지가 있음. -> 용도에 따라 적절하게 사용해야 함. : 모두 setAttribute(), getAttribute가 있음. : 동일한 메소드가 서로 다른 객체에 있을 때는 이름, 기능이 똑같더라도 뭔가 다른 점이 있음. : 데이터가 보관되는 scope가 다름. 데이터가 저장되는 유통기한이 다름. - ① ServletRequest : WAS 가동하자마자 만들어짐. 서버 꺼지기 전까지 저장함. 모든 서블릿들이 공유할..
- 요청을 하면 폼값을 받고, 응답을 하면 페이지를 돌려줘야 하는데 이 때 영어는 깨지지 않지만 한글은 깨짐. - 따라서 양방향 한글 인코딩 처리가 필요하다. - 한글 처리부터 하고 폼값 받아와야 하고, 한글 처리부터 하고 응답해야 한다. - 따라서 service() 메소드에 다음 코드를 포함시킨다. request.setCharacterEncoding("utf-8"); //요청 관련 인코딩 처리 response.setContentType("text/html;charset=utf-8"); //응답 관련 인코딩 처리 - 그런데 filter를 사용하면 서블릿을 작성할 때마다 번거롭게 위 코드를 적어주지 않아도 된다. - Filter의 원리 필터를 만들어주고 컨테이너가 알아들을 수 있게 등록해줘야 함. 필터 뒤..
- form 태그 method 속성으로 Get 방식과 Post 방식을 정해줄 수 있다. 디폴트는 Get 방식이다. - 클라이언트에서 데이터 쪼가리 날리면서 요청한다. get 방식이면 데이터 쪼가리를 주소에 입력폼 key, value으로 붙이고 / post 방식이면 ServletRequest에 입력폼 key, value을 담음. 1. Get 방식 - Get 방식. get it (페이지 줘.) - 데이터 전달이 목적이 아니라 페이지 연결이 주목적. 태그가 Get 방식임. - 응답받은 페이지 주소 보면 http://localhost:8888/web02_HTTServletForm/FS?userId=111&userPass=222&menu=김치볶음밥&menu=닭도리탕 - 객체에 안 담기고 주소창에 붙인 걸 보면 F..
web.xml (DD 파일) - 클라이언트의 요청을 수행할 서버사이드의 컴포넌트가 먼저 만들어져 있어야 함. - 자바 SE 레벨에서는 객체 생성의 주체는 개발자. 하지만 자바 EE 레벨에서는 WAS가 서블릿 객체를 생성한다. 개발자는 실행해서 컴파일하고 배포하면 됨. - 서버가 인식할 수 있는 유일한 기술이 xml. 프로그램 아님. 프로그램은 인간이 머신을 이해하는 랭귀지. WAS(컨테이너)가 인식할 수 있는 기술은 xml임. 예전에는 이걸 다 개발자가 만들었다. - WAS는 가동되면 web.xml을 읽어들인다. - WAS가 이걸(web.xml) 읽어서 매핑해서 인스턴스를 컨테이너 메모리 안에다가 생성. XML은 주석 잘 안 다는 게 좋음. - web.xml을 DD(Deployment Descriptor..
- 결론적으로 클래스 필드로 정보가 저장되는데 최종적으로 정보를 넣는 곳이 DB. DB에 액세스하기 위한 프로그램이 DAO. - Model : DAO와 VO를 한꺼번에 가리키는 말. - 개발의 순서는 Back부터 시작. 그래서 프로그램 배울 때도 Back부터 시작. 그게 안 되어있으면 앞으로 dependency 할 수 없음. - 제이쿼리는 Front UI 프레임워크 => 프론트 쪽에서 쓰이는 자바스크립트를 다 모아놨다. - 프로그램은 동적. 들어오는 입력값에 따라 결과값이 달라짐. 이게 프로그래밍. html, css는 값이 들어올 공간도 없을 뿐더러 값이 고정. - 프로그램의 전반적인 매커니즘을 알려면 연결구조를 알아야 한다. 연결구조를 알려면 이 부분을 알아야 함. - 화면은 2가지가 있음. 초기(in..