JSP

2024. 9. 9. 17:55JSP

JSP : Java Server Pages
    - HTML 코드 안에서 자바 코드를 작성할 수 있음
    - 모든 java 코드를 html 안에 작성하는게 아니라 부분적으로 필요한 기능만 java로 작성
    - Thymeleaf와 같은 환경으로 사용
    - Dynamic Web Project 나 Springboot 환경으로 실행
    - 즉 타임리프를 JSP 형식으로 작성하면 됨

 

JSP 문법을 사용하기 위해선 index.jsp 페이지에서 <% %> 안에 자바처럼 작성해주면 됨

 

<% %> : java 코드 실행 태그
    - <% %> 안에 java 코드를 넣으면 해당 코드가 서버에서 실행.
    - 웹 브라우저에서 직접 출력되는 것이 아니라, 서버에서 처리를 진행하고 결과를 다시 HTML 태그로 전달해서 보여줌
    - 대부분의 java 코드 허용. 변수 선언 및 조건문, 반복문 작성

※ JSP에서 System.out.println을 사용할 때는 System을 지워주고 사용

 

	<% 
	String name = "홍길동"; 
	out.println("이름 : " + name);
	%>

 

jsp를 사용하기 위해선 프로젝트 우클릭 -> Properties -> Java Build Path -> Libraries -> Add Library -> Server Runtime -> Apache Tomcat 설정

요즘은 Springboot + JSP 에서 Springboot + React (+ NextJs or TypeScript) 로 바뀌는 중

 

- 예제

<pre>만약 i가 10보다 클 때 10보다 크다 출력</pre>
<% 
int i = 0;
if(i > 10){
    out.println("i가 10보다 큼");
}
else{
    out.println("i가 10보다 작음");
}
%>

 

이 때 자바 코드들만 따로 <% %> 로 묶고 println(텍스트) 부분을 HTML 형식으로 바꿀 수 있음 -> 텍스트 서식을 위함

<% int a = 0;
if(a > 10) {%> <!-- 자바 태그로 설정 -->
    a가 10보다 큼 <!-- 일부러 텍스트를 자바 태그에서 제외 -> 텍스트 서식을 위함 -->
<% }else{ %>	<!-- 다시 자바 태그로 설정 -->
    <p>a가 10보다 작음</p>
<% } %>

<%
int b = 4;
if(b > 1){%>
    <p>1보다 큼</p>
<% }else if(b >= 4 && b <= 5){%>
    <p>4 ~ 5 사이에 존재함</p>
<% }else{ %>
    <p>10보다 작음</p>
<% } %>

 

switch문 예시

	<h1>switch 활용 JSP</h1>
	<%
	int b = 3;
	switch(b) {
	case 1:%>
		<span><%= b %>는 1임</span>
	<% 	break;
	case 2:%>
		<span><%= b %>는 2임</span>
	<% 	break;
	case 3: %>
		<span><%= b %>는 3임</span>
	<% 	break;
	default:%>
		<span><%= b %>는 몰?루</span>
	<%	break;
	}%>

 

 

<%= %> : java 표현식의 결과를 HTML로 출력할 때 사용

    위 태그에서 선언한 변수를 다른 태그 안에서 불러오고 싶을 때 사용
    -> 위에서 선언한 name 변수를 다른 태그에서도 사용하고 싶을 때

 

<p>이름 : <%= name %></p> <!-- 위에서 작성한 name을 여기서도 작성함을 의미 -->

 

 

<%! %> : 메서드에 대한 설정을 작성할 때 사용

	<%!
	//메서드 선언
	public String Greeting(){
		return "하이요";
	}
	%>

 

** <%! %>, <%= %>, <% %> 활용하기

 

<%
//위에서 작성한 Greeting 호출해서 결과 출력
String greeting = Greeting();
%>
<p>인사말 : <%= greeting %></p>

 

또 다른 예제 for 문 돌리기

<%
for(int i = 1; i < 6; i++){%>
    <p>i 값 : <%= i %></p>
<%}%>

'JSP' 카테고리의 다른 글

jsp-EL  (0) 2024.09.11
jsp - jstl  (1) 2024.09.10
JSP + springboot 연결  (0) 2024.09.09