Spring 수업노트 - jsp , jsp 구성요소

 

jsp(java server page)

jsp 는 화면 구성에 사용(html 안에 java 코드를 생성한다. )

요청에 따라 동적으로 컨텐츠(html , json , xml 등)를 생성/ 전달

jsp 는 화면 구성에 사용 ( html 안에 java 코드를 사용)

jsp 도 servlet 으로 변환되는 과정을 거친다.

servlet 랑 jsp 거의 유사함 (jsp 는 servlet으로 변환됨 )

servlet 은 로직 처리시에 사용 → MVC framework(spring, struts등 ) 사용

경로 :

Command line argument: -D:\A_TeachingMaterial\6.JspSpring\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\ROOT\org\apache\jsp

가면 class 로 보면 java 코드를 자동으로 out.print 를 해서 자동으로 jsp 코드로 변경해 주었다는 것을 알 수 있다.

출처 : https://aroundck.tistory.com/11

jsp 는 여러번 요청을 하더라도 위의 위치에 새로 만들어지지 않는다.

jsp 는 서버 요청을 할때 (클래스가 만들어져 있지 않으면 새롭게 변환을 하고 ) 생성이 된다.

-jsp 는 Servlet 으로 변환되어 서비스 된다. Servlet-Container(tomcat) 이 jsp 를 서블릿으로 변환하는 과정에서 사용하는 폴더는 work 폴더

-tomcat 도 개발자가 만든 프로그램으로 비정상적으로 동작할 때가 있음

-개발자가 jsp 파일을 수정하였음에도 수정 내역이 반영되지 않을 경우

-work 폴더에 생성된 jsp 변환파일들(java, class) 을 삭제 해주면 서버 연결할 때 (한번만)새롭게 파일을 만들어 준다.

-jsp를 서블릿으로 변환하는 시기는 해당 jsp 에 대해 최초 요청이 일어 났을 경우에 변환

-서블릿으로 생성이 된 이후 같은 파일에 대한 요청은 이미 변환된 파일로 서비스 (파일이 계속 생성이 되는것이 아니라 1번 생성이 된후 거기에 계속 요청변환되는것,,,,)

jsp 구성요소

  1. 지시자 : page 의 설정 정보
  2. 스크립틀릿 : JAVA 코드 == > 나중에 JSTL(Java Standard Tag Library) 로 변경할 예정이다.

<% Date date = new Date(); %> 3. 표현식 : 문자열로 출력 ==> EL(Expression Language , 표현언어 )

<%=date %> 4. 주석 5. 선언부 : 변수나 method 선언 , jsp 는 화면, 컨텐츠를 생성하는 역할 변수나 method 는 로직 처리시 주로 사용

jsp 가 변환된 클래스에서

  1. public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)

→ 미묘하게 서블릿에서 쓰는 service 와 다름

2)if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method) && !javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) { response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSPs only permit GET POST or HEAD"); return; } → get, post, head 방식만 사용가능 나머지는 에러를 보낸다.

댓글