[서블릿/JSP] JSP 페이지 초기화시 ServletConfig의 초기화 파라미터 사용하기
참고글[서블릿/JSP] JSP 페이지 초기화와 종료 메서드. jspInit(), jspDestroy()[서블릿/JSP] 서블릿의 초기화 과정 및 초기화 방법[서블릿/JSP] web.xml의 태그로 JSP 페이지 URL 설정하는 법.JSP 페이지 초기화시 ServletConfig의 초기화 파라미터 사용하기JSP에서도 서블릿을 작성할때와 마찬가지로 초기화 메서드인 jspInit() 메서드가 존재하며 web.xml에서 을 통해 초기화시 사용할 값들을 정의해주어 사용할 수 있습니다./jspTest.jsp먼저 아래와 같이 JSP 페이지를 작성합니다. jspInit() 메서드는 JSP 페이지가 초기화 될 때 최초에 한 번 실행되는 메서드로 JSP 초기화시에 수행되어야 할 행동이 있다면 오버라이딩 해서 사용..
Servlet&Jsp
2018. 8. 13. 22:57
[서블릿/JSP] web.xml의 <jsp-file> 태그로 JSP 페이지 URL 설정하는 법.
JSP 페이지 URL 맵핑 하는 법JSP 페이지는 별다른 설정이나 Spring MVC같은 프레임워크를 사용하지 않는 이상은 웹어플리케이션에 위치한 경로를 그대로 따라가게 됩니다. 예를 들어 작성한 JSP 파일을 webapps/myJsp/jspTest.jsp로 저장해 두었다면 클라이언트에서 접근할 때의 URL은 http://xxx.xxx.xx/myJsp/jspTest.jsp가 됩니다.그러나 JSP 페이지 또한 보통 작성하는 서블릿과 마찬가지로 URL을 설정해야 할 때가 있을 것입니다. JSP도 결국은 서블릿이므로 web.xml 설정을 통해 URL 맵핑을 할 수 있습니다.서블릿 설정과 마찬가지로 web.xml에 다음처럼 태그와 설정을 사용합니다. --JSP 페이지 등록-- --등록한 JSP 페..
Servlet&Jsp
2018. 8. 13. 01:49
[서블릿/JSP] JSP 페이지 초기화와 종료 메서드. jspInit(), jspDestroy()
JSP 페이지 초기화와 종료 메서드Servlet의 초기화와 종료시 호출되는 메서드인 init() 메서드와 destroy() 메서드 처럼 JSP에도 JSP 페이지가 최초 생성시 호출되는 jspInit() 메서드와 종료(제거)시 호출되는 jspDestroy() 메서드가 존재합니다.JSP는 웹 컨테이너에 의해 최초 호출 시점에서 서블릿으로 변환 되는데, 이때 서블릿의 init() 메서드를 통해서 JSP 페이지의 jspInit() 메서드를 호출하므로 결국은 JSP 페이지가 변환된 서블릿이 초기화 되는 시점에 jspInit() 메서드를 호출하는 것입니다. 종료될 때도 마찬가지입니다.이는 Servlet/JSP 구현체마다 조금씩 다를 수는 있지만 톰캣의 경우에 우리가 작성한 JSP페이지는 서블릿으로 변환될 때 Htt..
Servlet&Jsp
2018. 8. 10. 16:00
[서블릿/JSP] forward 사용시 Cannot forward after response has been committed 예외
JSP 또는 서블릿에서 forward() 사용시 예외 발생하는 경우java.lang.IllegalStateException: Cannot forward after response has been committedjava.lang.IllegalStateException: Cannot forward after response has been committed at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:328) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:318) at o..
Servlet&Jsp
2018. 8. 10. 13:16
[서블릿/JSP] RequestDispatcher로 include() 하기
이전글[서블릿/JSP] RequestDispatcher란. RequestDispatcher로 forward() 하기RequestDispatcher의 include() 메서드RequestDispatcher의 메서드 중 하나인 include() 메서드는 처리 흐름 제어를 특정 대상에게 넘기고 대상이 처리한 결과를 현재 페이지에서 처리한 결과에 포함시키는 기능을 합니다.include() 메서드의 선언부를 보면 다음과 같이 매개변수로 ServletRequest 객체와 ServletResponse 객체를 넘기는 것을 알 수 있습니다. 우리가 작성하는 서블릿 또는 JSP 페이지에는 이 둘을 상속받은 HttpServletRequest와 HttpServletResponse를 사용하므로 이 둘을 include() 메서드..
Servlet&Jsp
2018. 8. 9. 00:14
[서블릿/JSP] RequestDispatcher란. RequestDispatcher로 forward() 하기
RequestDispatcher란참고글[서블릿/JSP] JSP 리다이렉트로 페이지 이동시키기[서블릿/JSP] JSP 기본객체 종류[HTTP] 리다이렉트(Redirect)란?RequestDispatcher란RequestDispatcher는 클라이언트로부터 최초에 들어온 요청을 JSP/Servlet 내에서 원하는 자원으로 요청을 넘기는(보내는) 역할을 수행하거나, 특정 자원에 처리를 요청하고 처리 결과를 얻어오는 기능을 수행하는 클래스입니다. 즉 /a.jsp로 들어온 요청을 /a.jsp 내에서 RequestDispatcher를 사용하여 b.jsp로 요청을 보낼 수 있습니다. 또는 a.jsp에서 b.jsp로 처리를 요청하고 b.jsp에서 처리한 결과 내용을 a.jsp의 결과에 포함시킬 수 있습니다.요청을 보내..
Servlet&Jsp
2018. 8. 6. 09:41
[서블릿/JSP] <jsp:param> 액션태그와 사용자 요청 파라미터 겹칠 때 처리 우선순위
이전글[서블릿/JSP] 액션 태그 사용법. 으로 데이터 넘기기. 데이터 공유하기 액션태그와 사용자 요청 파라미터가 겹치는 경우만약 greeting이라는 파라미터 속성에 대해 브라우저에서 URL?greeting=xxxx와 같이 파라미터를 보냄과 동시에 를 사용하는 것처럼 같은 속성에 대해 겹치게 되면 어떻게 될까요? 이때에는 포함되는 페이지 입장에서 우선적으로 에 명시된 값을 사용합니다.main.jsp included.jsp다음과 같이 http://localhost/main.jsp?greeting=hello로 요청을 하게 되면 포함되는 페이지에서는 넘겨받은 "안녕하세요."를 출력하고 있습니다. 그런데 included.jsp 페이지 처리 이후 다시 main.jsp로 제어가 돌아왔을 때에는 hell..
Servlet&Jsp
2018. 8. 3. 03:00
[서블릿/JSP] <jsp:include> 액션 태그에서 <jsp:param> 사용시 Expecting jsp:param 오류.
액션 태그에서 사용시 Expecting jsp:param 오류를 통해 서브 페이지를 포함시켜 사용하고, 이때 액션 태그를 통해 request 파라미터를 넘기려 했으나 다음과 같은 오류가 발생했습니다. 재밌는것은 main.jsp를 10번 요청하면 1 ~ 2번 오류가 발생하고 나머지는 정상적으로 결과가 리턴 된다는 점이었습니다. Stack Trace 정보를 바탕으로 디버깅이라도 해보려고 변환된 서블릿 클래스를 찾아보려 했으나 이상하게 컴파일된 서블릿 클래스가 존재하지 않았습니다.오류 메시지라도 읽어보자는 마음에 살펴보았습니다. 영알못인 제 기준으로 오류 내용을 살펴보자면 액션 태그를 사용하기 위해서는 name과 value 속성을 사용해야 한다 정도로 의역할 수 있을 것 같습니다./main.jsp (li..
Servlet&Jsp
2018. 8. 2. 23:58
[서블릿/JSP] <jsp:include> 액션 태그 동작 방식 및 JSP 모듈화 개념
이전글[서블릿/JSP] JSP out 기본 객체[서블릿/JSP] JSP 출력 버퍼란웹사이트의 페이지 분할 구성웹사이트에서(예를 들면 게시판) 한 페이지의 구성을 살펴보면 다음과 같이 사이드 메뉴, 상단 메뉴, 컨텐츠 와 같은식으로 이루어집니다. 다음은 이고잉님의 생활코딩 사이트입니다. 앞서 말했던 것처럼 좌측 사이드 메뉴, 상단메뉴, 중앙 컨텐츠 부분으로 나누어진 것을 볼 수 있습니다.여기서 중요한 점은 사이드메뉴의 각 항목을 클릭하면 중앙 컨텐츠만 변경된다는 점과 상단 메뉴의 각 항목을 클릭하면 상단메뉴를 제외한 사이드 메뉴 및 중앙 컨텐츠만 변경된다는 점 입니다.즉 사이드메뉴에서의 각 항목들. 여기서는 CSS 소개, 실습환경, HTML과 CSS가 만나는 법 등을 각각 클릭했을때는 중앙 컨텐츠만 변경되..
Servlet&Jsp
2018. 8. 2. 23:55
[서블릿/JSP] <jsp:include> 액션 태그 사용법. <jsp:param> 으로 데이터 넘기기. 데이터 공유하기
액션 태그 사용법 액션 태그를 사용하면 현재 JSP 페이지에 대상 JSP 페이지의 처리 결과를 포함시킬 수 있습니다. 액션 태그의 내부 동작 및 자세한 내용은 이전글을 참고합니다. 액션 태그의 사용 형식은 다음과 같습니다.page 속성page 속성에는 포함시키고 싶은 JSP 페이지를 지정해주면 됩니다.flush 속성flush 속성 - 포함 대상 JSP 페이지에 제어를 넘기기 직전에 출력 버퍼를 클라이언트로 출력하는 flush를 수행할지 여부(true, false)를 지정합니다. 기본값은 false이며, flush 하지 않습니다.main.jsp 페이지에서 included.jsp 페이지를 포함시키는 방법은 다음과 같습니다. 다음은 main.jsp 페이지이며, 액션태그를 사용하면 해당 위치에 include..