GitHub

https://github.com/Backcoder-June

BackCoder 기록 그리고 숙달

Back to the Servlet 9

[[ Session /applicaiton ]] 공유데이터를 서버에 저장 => set / get

RequestDispatcher rd = req.getRequestDispatcher("second"); - RequestDispatcher 는 공유할 서블릿을 '하나' 지정해서 1 : 1 로 공유하는 관계였다면, 공유할 서블릿 : setAttribute => 서블릿 지정 => forward(req,resp) 공유받을 서블릿 : getAttribute 이를 확장시켜서, - 하나의 서블릿 데이터를 => 다른 모든 서블릿에서 가져다 사용할 수 있게 해주는 게, Session 이다. 공유할 서블릿 : Session생성 => setAttribute 공유받을 서블릿 : Session생성 => getAttribute [[ Session ]] : 공유할 클라이언트 정보가 있으면, 서버의 메모리에 저장해놓고 지속 사용..

Back to the Servlet 2022.08.08

[Servlet] RequestDispatcher / set/getAttribute / sendReirect("url");

[ RequestDispatcher ] : 요청 공유해서 처리하기 - HTTP 통신에서 [ 요청 - 응답 ] 이 많으면 서버에 무리를 줄 수 있다. - 요청에 대한 처리 작업이 A 서블릿 코드도 거쳐야 하고, B 서블릿 코드도 거쳐야 한다면, 원래대로라면 A 에서도 http [ 요청 - 응답 ] 발생, B 에서도 http[ 요청- 응답 ]이 발생한다. => RequestDispatcher 를 사용해서 A 서블릿에서 받은 요청 정보를 B에 넘겨 공유할 수 있다. - A 서블릿은 받아온 요청의 입력값을 ( req.getParameter ) 1차 처리 한다. => 1차 처리한 결과물을, RequestDispatcher을 이용해 B 서블릿한테 넘겨준다. => B 는 http 요청을 할 필요 없이, 서버에서 친구..

Back to the Servlet 2022.08.08

[Servlet] Maven 맨바닥 Servlet 세팅 (intellij)

[[ Maven 맨바닥 Servlet / JPA 셋팅 ]] (intellij) 1. Maven 으로 프로젝트 생성 => *webapp 모듈 추가해서 생성 2. main에 java 파일 생성 - main 안에 webapp 은 있는데, java 가 없다고 당황하지 말자. (intellij) => new - directory 하면 "java 경로폴더" 를 만들수 있게 해준다. 3. Tomcat(WAS) 연동 4. UTF-8 세팅 및 Language level 맞추기 Language level (1) pom.xml 11 11 (2) 프로젝트 module - Language 레벨 통일 (3) Setting - java Compiler language 레벨 통일 (same as 로 default ) - UTF 는 ..

Back to the Servlet 2022.08.06

Tomcat 연동 / Tomcat UTF-8 설정 ( intellij )

[ Tomcat 과 Intellij ] 일단, intellij community 버전을 사용하면 내장 smarttomcat 만 사용이 가능한 듯 하다. ( ultimate 버전은 따로 tomcatserver 설치가 가능하다. ) [[ Tomcat 연동 ]] 1. edit configuration => Tomcat Server 추가 2. Application server : 톰캣 설치된 폴더 경로 3. URL : 기본 URL 설정 4. VM options : -Dfile.encoding=UTF-8 ( UTF-8 맞추려면 설정 ) 5. HTTP port : 다른거랑 안겹치게 적절히 설정 6. Deployment 설정 : 해당 프로젝트로 설정 1단계 연동이 끝났다면, 2단계가 남았다. 언어코드를 맞춰줘야, t..

Back to the Servlet 2022.08.06

URL Mapping / @WebServlet("/url") / web.xml 버전

[ URL Mapping ] - form태그에서 action 으로 날려보낼 URL 주소를 생성한다. 1. : 사용자 요청 들어오면 저 주소로 날려보낼게 2. : " http://localhost:8080/ " 이후 주소(파일명)만 적기 ( " / " 쓰면 안된다. " / " 쓸거면 다쓰고 안쓸거면 깔끔하게 주소만 적어라 ) - form태그에서 action으로 날린 주소를 받아내야한다. @WebServlet("/login") - 서블릿 에서 URL 표현은 " / " 로 시작 : "http://localhost:8080 " 이후 주소명 @WebServlet(" / ") : http://localhost:8080/ (- 컨텍스트 포함일 때 @WebServlet(" / ") :현재컨텍스트 의미 "http://l..

Back to the Servlet 2022.08.05

[HTTP 요청방식] get 방식과 post 방식

HTTP 요청방식 [ get 방식 post 방식 ] 1. get 방식 - 기본방식. 쉽고 간단하다. - URL 뒤에 요청입력데이터 담아서 보낸다. - URL 에서 보임 url?변수명=값&... (암호 x) - 250자 데이터라 긴거 안됨. - 파일 전송 불가능 - - a 태그, location.href => 무조건 get 방식 밖에 없음 - get방식일 때는 URL 로 넘어가므로 UTF-8 설정 자동 적용 2. post 방식 - URL 과 분리되어 전송 - 길이무제한, 안보임 ( 암호보안 O ) - 파일전송가능 ( 파일전송은 아예 get은 안됨 ) - - post 방식은 form태그에서 메소드 post로 설정하는 방법이 유일 - post 방식일 때는 URL 로 넘어오는게 아니므로 따로 UTF-8 임을 세..

Back to the Servlet 2022.08.05

[Servlet] HttpServlet 메소드, Request 와 Response

[ HttpServlet 메소드 ] [ doGet( ) / doPost( ) ] - 실질적인 로직 처리 - 매개변수 내장 doGet( HttpServletRequest req, HttpServletResponse resp ) => HttpServletRequest / HttpServletResponse 객체를 매개변수로 받아서 실질적인 요청용 / 응답용 메소드를 사용 - doGet은 get방식으로 들어온 요청만, doPost는 post방식 요청만 처리할 수 있다. [ service( ) ] - doGet/doPost 통합으로 사용할 수 있는건데 구분해서 사용해야 할 경우가 많기 때문에 get post 많이 사용 - get/post 도 섞어두기 가능 => doPost(HttpServletRequest re..

Back to the Servlet 2022.08.05

WAS 와 Servlet, lifecycle

[ Web Server ] - Web Client : 웹브라우저쪽 => HTML / CSS / JS / - Web Application Server : 서버쪽 => Servlet / JSP / Spring MVC / mybatis => HTTP 요청 응답 방식으로 두 단이 통신 - jsp 파일 : HTML 태그 + 자바문장 뒤섞인 것 => jsp 파일이 들어오면 - HTML 파일은 WS에서 그대로 보내주고 - 자바문장은 웹서버(WAS)에서 처리하고 응답 WS+ JSP container / Servlet container = WAS ( Tomcat ) - 정적인 WS 의 한계를 극복하고 동적인 웹페이지를 구현하기 위해 나온 것이 Servlet 이고, 이걸 발전시켜서 나온것이 JSP, JSP 에서 발전해서 ..

Back to the Servlet 2022.08.05