서블릿 vs jsp

공통점 : 웹에서 실행할 수 있는 자바


차이점 :
Servlet => HTML in Java (자바안에 html이 들어가있다..그래서 불편하다) out.println(~~~)이런식으로 작성

JSP => Java in HTML (html안에 자바)

Jsp는 바로 실행되지 않고(왜냐면 톰캣은 자바를 실행시키기 때문에) 자바인 서블릿으로 변경이 되었다가 실행된다. 근데 매번 바뀌지 않고 최초에 한번만 바뀌기 때문에 빠르다...!!

 

 

 

 

 

 

자바를 제외한 파일은 모두 webcontent안에 만드니까 jsp도 이 안에다가 작성한다...

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
Hello JSP!!!<br>
안녕 제이에스피!!!

</body>
</html>

 

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%!
    String name= "홍길동";
    %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
Hello JSP!!!<br>
안녕 제이에스피!!!<br>
안녕하세요 <%=name %>
</body>
</html>

 

 

 


3대 서버페이지 - 서버에서 동작하는 페이지

jsp asp php

 

모두 <% %>이런식으로 생겼다.

 

 

나중에 오류났을때는 워크스페이스의 .metadata에 들어가보기>.metatdata>.server.core>tmp0>work>Catalina>localhost>...>로 끝나는것 찾아보기

그럼 서블릿으로 바뀐것을 볼수 있다.

 

html안에서 java로 인식되고 싶으면 <% ~~java ~~%>라고 쓸것! => 이게 바로 스크립팅 요소!

 

 

 

JSP 스크립트 요소

1) 선언 <%! 선언문 %> : 전역변수같은것

2) 서비스 <% 서비스 %> : request나 response같은 작업들 ,, 뭐 for문 돌리고 

3) 출력문 <%= 출력문 %> : 클라이언트에 출력해줄때 out.print와 같은 의미이다!! 절대 안에다가 ; 금지

4) 주석문 <%-- 주석문 --%>

 

 

<!—-html 주석은 소스에는 보인다 —>

개발자끼리의 주석은 jsp 주석으로!

 

실행순서가 자바가 더 먼저여서 html 주석으로 감싸면 안된다!

<! - - <%= name %> —> 이런식으로 하면 안됨

jsp 주석으로 써야함

 

js안에 <% %> 이런거 쓰는것도 안된다!

 

 

html,css,자바스크립트 보다 java가 먼저실행된다!!!!!!

 

 

 

 

+ Recent posts