servlet
-
JSTL Core에 대해서백엔드/서블릿&JSP 2021. 1. 15. 17:48
JSTL 중 Core에 해당하는 태그는 가장 많이 쓰이는 태그들을 모아뒀다. 일반적으로 자바의 fo each, if, switch 등의 기능을 태그만으로 구현 가능하도록 만들었다. 사실 Core에 해당하는 태그는 많긴한데 여기서는 가장 많이 쓰이는 자바의 for each, if, switch에 대응하는 태그 3개만 알아볼 것이다. : 자바의 for each 태그를 이용하면 편리하게 java의 for each 기능을 이용할 수 있다. 예를 들어서 아래와 같이 리스트를 다른 jsp 페이지로 전달하는 코드가 있다고 생각해보자. 첫번째 jsp 파일 기존에는 리스트에 있는 요소들을 출력하기 위해선 자바를 이용해야 했다. 하지만 를 자바 코드 없이도 손쉽게 출력이 가능하다. 아래와 같이 items에 전달된 리스트를..
-
JSTL(JSP Standard Tag Library)백엔드/서블릿&JSP 2021. 1. 15. 16:25
JSTL이란? JSP 페이지에서 자바 코드 사용없이도 데이터를 출력해서 코드를 간결하게 만들기 위한 것이다. 자바 대신 EL을 이용해서 전달된 데이터를 출력하는 것에 대한 이미 포스팅한 적이 있다. 하지만 이러한 EL도 한계는 존재한다. 간단한 연산이나 데이터 출력은 EL로도 가능하지만 조금 더 복잡한 계산의 경우는 힘들다. 결국 JSP의 HTML 코드에서 완벽하게 자바 코드없이 돌아가게 하기 위해 만들어진 것이 JSTL이다. JSTL은 개발에서 많이 쓰이는 기능들을 태그들을 모아서 만든 라이브러리다. 태그 라이브러리의 종류 JSTL태그 라이브러리는 크게 5개로 나뉜다. 종류는 5가지로 나뉘지만, 실제로 사용하게 되는 것들을 대체로 Core, Function, Formatting이다. 이름 설명 Core..
-
EL(Expression Language)란?백엔드/서블릿&JSP 2021. 1. 14. 16:51
EL이란? EL이란 Expression Language의 약자로서 JSP에서 자바코드를 더욱 간결하게 하기 위해 만들었다. 어떻게보면 완벽하게 자바 코드를 JSP에서 걷어내고 EL을 통해 가독성을 높이고자 한 것이다. 다른 JSP 파일로 입력한 숫자값을 전달하는 form을 가진 JSP 파일이 있다고 가정해보자. 일반 JSP 파일에서는 위와 같은 form을 통해 전달된 파라미터 num을 받기 위해 아래와 같이 자바 코드를 삽입한다. 하지만 EL을 사용하면 아래와 같이 간략하게 표현이 가능하다. 파라미터로 넘어오는 값 중 이름이 num인 값을 출력하겠다는 의미다. 결과물도 당연히 같다. EL의 기본 표현법 EL을 사용하기 위해서는 아래와 같이 $ 기호 뒤에 중괄호 { }를 붙이고 그 안에 표현식을 넣으면 된..
-
JSP의 내장객체, 암시적 객체(implicit object) - application, pageContext, page백엔드/서블릿&JSP 2021. 1. 14. 10:51
JSP는 총 9개의 내장 객체, 암시적 객체를 가진다. 암시적 객체란 개발자가 따로 명시하지 않아도 이미 JSP 자체에서 자동으로 제공하는 객체를 의미한다. 암시적 객체는 아래와 같이 총 9개가 존재한다. 이름 관련 API 설명 Request javax.servlet.http.HttpServletRequest jsp에서 클라이언트의 요청을 객체화 한 것 Response javax.servlet.http.HttpServletResonse jsp에서 클라이언트의 요청에 대한 회신을 객체화 한 것 Config javax.servlet.jsp.jspwriter 초기화 단계를 위해 입력한 정보를 저장하는 객체 Application javax.servlet.ServletContext 어플리케이션(프로젝트) 단위의 ..
-
서블릿 기초 형태백엔드/서블릿&JSP 2021. 1. 13. 11:09
2020/10/30 - [백엔드/서블릿&JSP] - 서블릿(Servlet)이란? 서블릿(Servlet)이란? 서블릿이란? 자바를 기반으로 하는 웹페이지를 동적으로 만들어줄 수 있는 일종의 프로그램을 말한다. 사실 좁게 보면 서블릿이란 위와 같은 기능을 하는 자바의 클래스를 뜻한다. 넓게보면 위 sgcomputer.tistory.com 위와 같이 이전에 서블릿에 관한 글을 썼다. 간단하게 요약하면 서블릿을 만들기 위해서 HttpServlet 추상 클래스 상속 받아야 한다. 그리고 해당 추상 클래스는 서블릿 구동에 필요한 모든 것(init(), destroy(), service())이 이미 구현되있다. 그래서 아래와 같이 이클립스를 통해 서블릿을 생성하면 아래와 같은 기본 폼이 제공된다. 그리고 이걸 바로 ..
-
javax.servlet 패키지백엔드/서블릿&JSP 2021. 1. 6. 18:57
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Test extends HttpServlet { } 우리가 흔히 쓰는 서블릿은 위와 같이 HttpServlet라는 추상 클래스를 상속 받는다. 그리고 이러한 HttpServlet의 상속도를 보면 다음과 같다. HttpServlet 추상 클래스는 Gener..
-
JSP(JavaServer Pages)란?백엔드/서블릿&JSP 2020. 11. 1. 23:13
JSP란? JSP는 동적인 웹서버에서 동적인 페이지를 만들어 주는 서버 사이드 스크립트 언어다. 설명만 들으면 서블릿(Servlet)과 같은 기능을 하는 것처럼 보인다. 실제로 기능적으로는 굉장히 비슷하다. 하지만 아주 큰 차이가 있는데 작성하는 언어의 기반이 다르다는 것이다. 서블릿이 클래스의 형태를 띄고 있고 자바의 형태를 온전히 가져가는데 반해 JSP는 HTML 코드를 기반으로 그 사이에 자바코드를 삽입하는 식으로 만든다. 즉 서블릿은 누가 봐도 자바의 형태고 자바 언어를 쓴다. 하지만 JSP는 HTML 안에 자바 코드를 삽입하는 형식으로 코드를 작성한다. JSP의 등장 배경 이름: 나이: 사는곳: 예를 들어 위와 같은 HTML 페이지가 있다고 생각해보자. 이를 실행하면 다음과 같다. 그리고 이름과..
-
서블릿(Servlet)이란?백엔드/서블릿&JSP 2020. 10. 30. 11:58
서블릿이란? 자바를 기반으로 하는 웹페이지를 동적으로 만들어줄 수 있는 일종의 프로그램을 말한다. 사실 좁게 보면 서블릿이란 위와 같은 기능을 하는 자바의 클래스를 뜻한다. 넓게보면 위 기능을 수행하기 위한 자바의 패키지를 뜻한다. 서블릿의 등장 배경 서버 부분에서 이야기했다시피 과거 서버는 정적인 자료(주로 HTML 문서)만 주고받을 수 있었다. 초기의 클라이언트가 자료를 요청하면 서버는 미리 만들어진 자료를 저장하고 있다가 반환했다. 하지만 인터넷 사용자가 많아지고 다양한 기능을 웹을 통해 구현하고자 하는 움직임이 많아졌다. 사용자는 정적인 자료가 아닌 자기 필요에 맞는 자료를 웹페이지를 통해 제공 받고 싶어했다. 그리고 사용자 요구에 맞춰 동적으로 반응하는 페이지을 만들기 위해 만들어진 것이 서블릿..