Servlet/JSP-4

DeadWhale·2022년 4월 28일
0

Servlet/JSP

목록 보기
4/22
post-thumbnail

[복습]

Servlet : 웹 서비스(요청 , 응답)을 위한 자바 클래스.

  • HttpServlet을 상속 받아야 한다

  • Javax.servlet.http.HttpServlet == 서블릿 컨테이너(Servlet Container)

  • WebServlet ("요청 주소") : 서브릿클래스임을 등록하면서 요청주소도 같이 매핑한다.

    • 주소 등록 방식
      프로토콜 이름 :// 클라이언트 아이피 /프로젝트 이름/ ~
      http:// localhost:10005/JSPProject/ ~
  • Servlet으로 응합 화면 만들기가 어려워 응답화면만 만드는 부분을 분리하자 === JSP의 탄생
    눈에 보이는 코드는 HTML으로 보이지만 해석은 JAVA

  • Servlet ->
    Request Dispatcher(요청 발송자) ->
    forward(전송(req,resp)) ->
    JSP

  • jsp로 추가적인 변수를 추가하고 싶을때는
    setAttribute 을 이용해 추가한다.

//Http Servlet Request 객체에 message 변수를 추가 
req.setAttribute("msg", message);
  • <% %> : 스크립틀릿 , 자바코드영역

  • <%= %> : 표현식

  • <%@ %> : @ =지시자




    include( 포함하다 )

    화면을 만들어 낼 때 footer 혹은 header를 항상 포함하고 중간 body만 만들어내는 듯하게 만들 수 있다.

    manuBar만들때도 사용 가능할 듯.

    taglib

    if문을 스크립트릿으로 사용하기 너무 어려우니깐 그냥 < if>라는 태그로 활용하도록 도와주는 JSP 확장 기능.

    -----

    POST 방식

    잠깐 설명 못한 Post 쪽으로 넘어왔다.
    봉투에 담아 편지를 보내듯이 보내는 방식
    여기서 편지봉투를 HTTPBody라는 이름으로 불린다


    한글이 다 깨진다 ...

데이터 전달 방식 차이점

  • GET : 주소(URI)를 통해서 데이터를 전달
    이 때, 문자 인코딩은 제출된 HTML 파일의 문자 인코딩(charset)을 따른다

  • POST : HTTP Body를 통해서 데이터를 전달
    이 때, 문자 인코딩은 서버의 기본 문자 인코딩을 따른다
    tomcat(현재 내가 사용중인 서버) -> ISO-8859-1이 기본 문자 인코딩



    ISO-8859-1 : 모든 문자를 1byte
    UTF-8 : 영,수,특=1byte , 한글,외국어=3byte


해결방법

  • Post 방식으로 전달받은 데이터의 문자 인코딩을 변경 해주면 된다
req.setCharacterEncoding("UTF-8");
  • 문자 인코딩을 UTF-8로 설정

  • 상대 경료

    현재 위치를 기준으로 특정 위치를 기준으로 해서 경로를 표한
    집주소 : CU건너편 소나무 지나서 오른쪽 위치.

  • 절대 경로

    변하지 않는 절대적인 한 위치를 기준으로해서 경로를 표현
    집주소 : 대한민국 서울시 중구 남대문로 120-2 대일빌딩2층


    파일 경로 : C:\WorkSpace\IntellJ ( C드라이브 기준)


    웹 주소 : /JSPProject/signUp
    JSPProject 기준

---

String parameter

  • Integer.parseInt = String 자료형을 int형으로 바꿔얻어옴
//1) 요청 발송자
String path="/WEB-INF/views/el/result.jsp";
RequestDispatcher dispatcher 
				= req.getRequestDispatcher(path);
//2) 요청 위임할때 추가하고 싶은 값 세팅
req.setAttribute("menu", menu);
req.setAttribute("person", p);
//3) 요청 위임.
dispatcher.forward(req, resp);

0개의 댓글