Servlet/JSP-1

DeadWhale·2022년 4월 26일
0

Servlet/JSP

목록 보기
1/22
post-thumbnail

웹서비스를 위한 자바 클래스

  • 자바를 이용해 웹을 만들기 위해 필요한 기술.

웹 프로그래밍에서 요청 (Request)을 처리하고 그 결과를
응답(Response)하는 구현 규칙을 가진 자바 프로그래밍 기술

사용자가 로그인 하려 할 때 아이디와 비밀번호를 입력 후
로그인 버튼을 누르면 서버는 아이디와 비밀번호를 확인하고
다음 페이지를 띄워주는 역할 수행

<< 서블릿은 자바로 구현된 CGI >>

CGI(Common GateWay Interface)

라이브러리나 도구를 의미하는 것이 아닌 그냥
별도로 제작된 웹서버 와 프로그램간의 교환 방식의 이름

CGI방식은 프로그래밍 언어로도 구현 가능하고
별도로 제작한 프로그램에 HTML의 GET / POTS 방식으로
클라이언트 데이터를 환경 변수로 전달하고
프로그램의 표준 출력 결과를 클라이언트에게 전송하는 것.


Servlet 특징

클라이언트의 요청에 따라 동적 으로 작용하는 웹 애플리케이션 컴포넌트

클라이언트 요청에 대한 서버 응답 시 미리 만들어둔 화면( 정적)이 아닌 요청을 받을 때 마다 알맞은 화면을 만들어 (동적) 응답한다.

  • HTML을 사용하여 요청에 응답한다
  • Java Thread를 이용하여 동작 (각각의 요청마다 Thread가 생성됨
  • MVC Model 패턴에서 Controller으로 사용
  • Http protocol를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속 받는다

단점

servlet에 HTML 코드 변경 시 재 컴파일 해야 하는 단점이 있다


서블릿 상속 관계

  • Servlet 코드를 작성할 클래스는 반드시 HttpServlet 상속받아 구현해야한다.

상속 관계도


오늘 작성한 클래스

프로그램의 흐름도

1 웹에서 특정한 정보를 가지고 서버로 전송
2 서버에서는 전송받은 정보를 가지고 매핑 되어 있는 서블릿을 찾아간다
3 서블릿으로 등록된 클래스에서는 전달받은 Request에서 필요한 정보를 뽑아 원하는 형태로 가공한다.

  • 연결을 원하는 클래스는 무조건 HttpServlet을 상속 받아야 한다!!!
  • HttpServletRequest : 클라이언트 정보+ 요청 정보
  • HttpServletResponse : "서버"가 클라이언트에게 응답하는 방법을 제공

  • 요청 정보는 Parameter로 전달 받아야 한다.
  • req.getParmeter ("전달받을 값의 name") ;
    **이 때 전달받는 값이 여러개인 경우에는
    ( req.ParameterValues )를 이용해 배열 형태로 받아야 한다.

여담

form 태그 내부의 값은 지정된 서버로 페이지 제출(전달)하는 역할이다

  • action : input 태그의 값을 전달할 서버 혹은 페이지의 주소를 적는 속성
  • method : 데이터의 전달 방식을 지정하는 속성(Get / Post)

General > WorkSpace > Refresh using native hooks or polling

  • vs에서 수정한 사항을 '실시간' 적용하는 것.

src.main.webapp.WEB.INF에는 자바 클래스 파일을 제외한 모든 파일들이 들어간다.
이때 index.html은 서버의 접속한 유저에게 Welcome Page를 제공한다.

서버로 제출된 모든 input 태그 값들은 [String 자료형]이다

input type = " password "는 화면에서만 안보이고 서버로는 값이 정상적으로 넘어간다

0개의 댓글