JSP & Servlet 기초

Lee kyu min·2024년 2월 28일

JSP & Servlet

목록 보기
1/15

JSP

  • html코드로 프론트엔드 구현

ex)

<%	//스크립트릿
	int num1 =10;
	int num2 =20;
	int add = num1 + num2;
%>
<%= num1 %> + <%= num2 %> = <b><%= add %></b>

3) ${ } 명령어로 서블릿 코드 받아서 사용 가능

자료형 자바변수명 = request.getAttribute("JSP${}내 변수명");

으로 서블릿 코드 가져올 수 있음

4) JSP와 HTML차이

  • HTML은 클라이언트 브라우저에 의해 내용을 해석하여 실행(확장자가 html)
  • JSP는 자바와 톰캣이 설치된 컴퓨터 내에서 실행(확장자가 jsp이고 페이지에 < %@ page %>가 있어야함

서블릿

  • java 코드로 백엔드 로직 구현
  • out.println(); 코드로 Html 프론트엔드 구현 가능
    ex)
out.println("<html><head></head><body>");
out.println(num1 + " + " + num2 + " = " + add);
out.println("<br><b style='color: red'>hello<b>");
out.println("</body></html>");

* 포워드 방식

request.setAttribute();
request.getRequestDispatcher("jsp파일명.jsp").forward(request, response);
코드로 서블릿 코드 jsp로 전달하여 실행 가능

  • 이와 같이 로직과 표현을 분리하여 프로그래밍 하는 것을 MVC 패턴이라고 한다.
    ex)
//서블릿
int n1 = 20;
int n2 = 10;
int add = n1+n2;
		
request.setAttribute("num1", n1);
request.setAttribute("num2", n2);
request.setAttribute("add", add);

request.getRequestDispatcher("jsp파일명.jsp").forward(request, response);

//jsp
${num1 } + ${num2 } = ${add }
  • 출력할 내용이 한글인 경우 글자가 깨진다 아래의 명령어 사용
    response.setContentType("text/html; charset=utf-8"); ->인코딩 utf-8사용
  • 웹 서버 Html, CSS등으로 표출 되는 서버
  • 웹 애플리케이션 DB와 연결되어 개발자가 연산이나 로직등을 이루는 서버
    (톰캣은 웹서버+웹애플리케이션서버가 합쳐짐)
  • localhost : 내pc

3. MVC패턴

  • Model - View - Controller 역할을 분리해서 처리

Controller : 데이터 처리(서블릿)
View : 결과 처리(JSP)
Model : 데이터를 제공하는 객체

  • request + Model -> Controller(Servlet) -> View(JSP) -> Response

request -> 사용자가 서버에 데이터를 요구
response -> request에 대해 서버가 데이터를 만들어 사용자에게 건넴

0개의 댓글