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 구성요소
- 지시자 : page 의 설정 정보
- 스크립틀릿 : JAVA 코드 == > 나중에 JSTL(Java Standard Tag Library) 로 변경할 예정이다.
<% Date date = new Date(); %> 3. 표현식 : 문자열로 출력 ==> EL(Expression Language , 표현언어 )
<%=date %> 4. 주석 5. 선언부 : 변수나 method 선언 , jsp 는 화면, 컨텐츠를 생성하는 역할 변수나 method 는 로직 처리시 주로 사용
jsp 가 변환된 클래스에서
- 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 방식만 사용가능 나머지는 에러를 보낸다.
댓글
댓글 쓰기