Web

JSP 문법

똥태 2021. 11. 13. 17:23
  • 선언문(Declaration)  <%! %>
  • 스크립트릿(Scriptlet)  <% %>
  • 표현식(Expression)   <%= %>
  • 주석(Comment) 

 

 

 

선언문

  • JSP 페이지 내에서 필요한 전역변수나 메소드가 필요할 때 선언해 사용한다.
  • 클래스 body에 선언이 된다.
  • <%! 문장 %>

 

exam01.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

<h1> My name is <%=printName()%> </h1>

</body>
</html>

<%!
String userName = "nana";

public String printName(){
	return userName;
}

%>

 

 

서블릿 소스 코드

String userName = "nana";

public String printName(){
	return userName;
}




....

service() 메소드 내부{

      out.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n");
      out.write("<html>\r\n");
      out.write("<head>\r\n");
      out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\r\n");
      out.write("<title>Insert title here</title>\r\n");
      out.write("</head>\r\n");
      out.write("<body>\r\n");
      out.write("\r\n");
      out.write("<h1> My name is ");
      out.print(printName());
      out.write(" </h1>\r\n");
      out.write("\r\n");
      out.write("</body>\r\n");
      out.write("</html>\r\n");
      out.write("\r\n");
      
 }

 

 

 

 

 

스크립트릿

  • 주로 프로그래밍의 로직을 기술할 때 사용한다.
  • 스크립트릿에 선언된 변수는 지역변수이다.
  • <% %>

 

exam01.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

<% for(int i=1; i<=5; i++){ %>

<h<%=i%>> 글씨가 점점 작아져요 <h<%=i%>>

<% } %>

</body>
</html>

 

서블릿파일

  out.write("<body>\r\n");
      out.write("\r\n");
 for(int i=1; i<=5; i++){ 
      out.write("\r\n");
      out.write("\r\n");
      out.write("<h");
      out.print(i);
      out.write("> 글씨가 점점 작아져요 <h");
      out.print(i);
      out.write(">\r\n");
      out.write("\r\n");
 } 
      out.write("\r\n");
      out.write("\r\n");
      out.write("</body>\r\n");

 

화면

실행 결과 화면

 

 

 

 

 

표현식

  • jsp 페이지에서 웹브라우저에 출력할 부분을 표현한다.(화면에 출력될 부분)
  • 스크립트릿내에서 출력할 부분은 내장객체인 out객체의 print() 또는 println() 메소드를 사용해서 출력한다.
  • <%= %>

 

exam01.jsp

<body>

<% 

for(int i=1; i<=5; i++){ 
	out.println("i의 값은 "+ i + "<br>");
}

String name = "nana";
%>

그녀의 이름은 <%= name %>


</body>

 

서블릿 파일

     out.write("<body>\r\n");
      out.write("\r\n");
 

for(int i=1; i<=5; i++){ 
	out.println("i의 값은 "+ i + "<br>");
}

String name = "nana";

      out.write("\r\n");
      out.write("\r\n");
      out.write("그녀의 이름은 ");
      out.print( name );
      out.write("\r\n");
      out.write("\r\n");
      out.write("\r\n");
      out.write("</body>\r\n");

 

 

화면

 

 

 

 

 

 

 

주석

 

JSP는 HTML주석, java주석, JSP주석 3가지를 사용할 수 있다. 그러나 JSP가 서블릿으로 변환되고 컴파일되는 과정에서 각 주석들이 읽혀지고 무시되는 단계가 다르다.

 

1. HTML 주석

  • <!-- 주석내용  -->
  • HTML 주석은 서블릿으로 변환되고 컴파일 될 떄까지도 읽혀지다가 웹에서 서비스할 때 주석이 적용되어 화면에 주석 내용이 표시되지 않는다. 그러나 소스보기를 하면 주석의 내용을 볼 수 있다.

 

2. JSP 주석

  • <%-- 주석내용 --%>
  • JSP주석은 JSP상태 일때 주석이 적용되어 서블릿으러 변환될때 부터 보이지 않는다. 결국 화면에도 표시되지 않고 소스보기를 해도 주석 내용은 보이지 않는다.

 

3. java 주석

  • // , /* 주석내용 */
  • 스크립트릿이나 선언문에서 사용되는 주석으로, 자바와 주석처리 방법이 같다.

 

 

exam01.jsp

<body>

<%

// 자바 주석 입니다.

%>

<!-- html 주석 입니다. -->

<%-- jsp 주석 입니다. --%>

</body>

 

화면에는 아무것도 보여지는게 없으나 소스보기를 하면 html주석만 보인다.

화면 소스보기 결과

 

 

 

서블릿 파일(.java)을 보면 html주석과 자바 주석만 표시된것을 볼 수 있다.

.java 파일의 service() 메소드 부분

 

'Web' 카테고리의 다른 글

폼 데이터 입력 후 한글 깨짐 현상  (0) 2021.12.15
폼 데이터 입력 후 한글 깨짐 현상  (0) 2021.12.09
redirect와 forward  (0) 2021.11.15
JSP 라이프싸이클  (0) 2021.11.13
Servlet  (0) 2021.11.10