분류 전체보기

    [JSP & Servlet] JSP 내장 객체

    [JSP & Servlet] JSP 내장 객체

    JSP 내장 객체란? JSP는 실행되면 웹 컨테이너에 의해 Servlet 클래스로 변환되어 사용자의 요청을 수행한다. JSP 내장 객체는 JSP가 Servlet으로 변화될 때 컨테이너가 자동으로 생성시키는 Servlet 멤버 변수를 말한다. JSP를 지원하는 웹 컨테이너에서는 Servlet을 구현하는데 공통적으로 요구되는 javax.servlet 패키지 아래 8개의 객체 예외처리를 위한 java.lang 패키지 아래 1개의 객체 를 제공한다. JSP 내장 객체 직접 확인해 보기 JSP 파일이 실행되면 웹 컨테이너에 의해 다음 두 파일이 서버에 저장된다. Servlet 클래스로 변환된 자바 소스 파일(_jsp.java) 클래스 파일(_jsp.class) Servlet 클래스를 살펴보면 JSP 페이지에서 우..

    [JSP] JSP 스크립트 요소 (선언문, 스크립틀릿, 표현식)

    JSP 스크립트 요소는 JSP 페이지 내에 자바의 코드를 삽입하기 위해 사용된다. 선언문, 스크립틀릿, 표현식 3 가지로 구분된다. 📌선언문 선언문은 JSP 페이지에서 Java 코드에서 말하는 멤버 변수와 메서드를 선언하기 위해 사용된다. 선언문을 사용해 선언된 변수는 JSP 파일이 웹 컨테이너에 의해 컴파일될 때 멤버 변수로 인식되기 때문에 JSP 페이지의 어느 위치에서도 해당 변수를 참조하는 것이 가능하다. 또한 중복 사용이 가능하다. 스크립틀릿 요소에서 변수를 선언하면 멤버 변수가 아니라 지역 변수로 인식되기 때문에 변수를 선언하기 이전의 위치에서는 참조가 불가능한 점이 선언문과 스크립틀릿의 가장 큰 차이점이라 할 수 있다. 선언문은 태그를 사용한다. 위 코드를 보면 str변수가 선언부 안에서 선언..

    [JSP] JSP 지시어

    [JSP] JSP 지시어

    JSP 지시어는 위와 같은 형식으로 표현되며 JSP 파일 내에서 JSP를 실행할 컨테이너에서 해당 페이지를 어떻게 처리할 것인가에 대한 설정 정보들을 지정해주는데 사용된다. 지시어의 종류는 다음과 같다. page지시어 include 지시어 taglib지시어 📌page 지시어 page속성에는 스크립트 언어, import할 패키지/클래스, 세션 사용 여부, 에러 페이지 등 다음 표와 같이 12개의 설정 정보를 지정해 사용할 수 있다. 각각의 속성을 하나의 page 지시어에 한 번에 지정할 수도 있으며 여러 개의 page 지시어에 나누어 지정할 수도 있다. 그러나 import 속성을 제외한 나머지 속성은 하나의 페이지에서 오직 한 번씩만 지정할 수 있다. language 속성 JSP 파일 내에서 사용될 스크립..

    [JSP] JSP 주석

    📌HTML 주석 기본적으로 HTML 문서 또는 XML 문서에서 활용되는 주석의 형태로 브라우저에 나타나는 결과에는 영향을 미치지 않지만 브라우저의 소스 보기 기능으로 확인할 수 있다. 📌JSP 주석 JSP 주석은 브라우저의 소스 보기 기능으로도 확인할 수 없다. 오로지 원본 JSP 파일을 통해서만 확인할 수 있다.

    forward와 redirect 방식

    forward와 redirect 방식

    https://yeo-computerclass.tistory.com/m/374 [Servlet] 서블릿(servlet) 포워드(forward) 종류들(dispatch, redirect, location, Refresh) 포워드(forward) Servlet 작업을 하면서 다른 Servlet이나 JSP와 연동해야 하는 경우가 있을 것이다. 이때 사용하는 방법이 바로 포워드(forward)이다. 포워드(forward) 작업을 통해서 서블릿이 받은 request 정 yeo-computerclass.tistory.com forward ( Dispatcher 방식) 이 방식으로 포워딩을 하게 되면 주소 표시줄의 주소(URL)가 변경되지 않는다. 즉, 하나의 요청이라는 의미이다. 따라서, 같은 request, re..

    Server Tomcat v8.5 Server at localhost failed to start. Error

    Server Tomcat v8.5 Server at localhost failed to start. Error

    계속 위와 같은 오류가 발생하였다. port가 충돌나는 것도 아닌데 무엇이 문제인가 서칭해보다가 해결 방법을 찾았다. 그 이유까지는 알지 못하지만 추후 공부 후 알아내면 추가 수정하도록 하겠다! Publish modules contexts to separate XML files 를 체크하면 위 문제가 해결될 수 있다.

    [JSP & Servlet] 세션(Session)

    [JSP & Servlet] 세션(Session)

    📌세션(Session) 이란? 세션의 개념을 이해하기 위해선 HTTP 프로토콜의 특성부터 이해해야 한다. HTTP 프로토콜의 대표적인 특징 중의 하나는 상태를 유지하지 않는 것이다. 즉, 클라이언트가 한 번 요청을 하고 서버에서 응답을 하면 해당 클라이언트와 서버와의 연결은 유지되지 않는다는 특징이 있다. 쉽게 설명하면 클라이언트가 첫 번째 요청을 보내고 서버가 이에 대한 답을 하고 똑같은 클라이언트가 두 번째 요청을 했을 때 서버에서는 두 번째 요청을 한 클라이언트가 첫 번째 요청을 한 클라이언트임을 인식하지 못한다. 💡HTTP 프로토콜의 요청 흐름 HTTP 프로토콜의 상태를 유지하지 않는 특징 때문에 로그인, 장바구니 담기 등 상태가 유지되어야 하는 프로그램은 작성하기가 힘들다. 이러한 단점을 보안할..

    [JSP & Servlet] 여러 개 파라미터 값(ex. 배열) 받기 - getParameterValues()

    [JSP & Servlet] 여러 개 파라미터 값(ex. 배열) 받기 - getParameterValues()

    📌하나의 파라미터에 하나의 파라미터 값 String getParameter(String ParamName) 하나의 파라미터 이름으로 하나의 파라미터 값이 전송되는 경우에는 앞서 실습했던 거 처럼 HttpServletRequest에서 제공되는 String getParameter(String ParamName)으로 처리가 가능했하다. 📌하나의 파라미터에 여러 개 파라미터 값 String[ ] getParameterValues(String paramName) 예를 들어 배열을 받았을 때 처럼, 하나의 파라미터 이름으로 여러 개의 값이 전송되어 올 때는 HttpServletRequest 인터페이스에서 제공되는 String[] getParameterValues(String paramName) 메서드를 사용해서 처..