반응형
JSP를 사용하는 이유
Servlet: Java 코드기반에 html코드가 들어가있다
JSP: html코드기반에 Java 코드가 들어가있다.
구현 -> Servlet
화면 -> JSP
각 경우에 맞춰서 쓴다.
.jsp 파일이 Servlet으로 바뀌고
서블릿이 컴파일되어 .class파일로
바뀌고 html로 변환되어 실행된다.
선언문: method, 전역변수를 만드는데 사용
스크립트릿: 자바코드의 영역
표현식: html사이의 변수를 출력
Dynamic web Project생성
Servlet은 src/main/java에 만들었었고
html은 src - webapp에 만들었었는데
JSP도 webapp에 만든다
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>
<!--
스크립 트릿
html코드 사이에 java 코드를 작성하는 영역
-->
<%
int num1 = 10;
int num2 = 20;
int result = num1 + num2;
%>
<!--
표현식
:html코드에 java 코드의 결과를 출력
;을 쓰지 않음
값, 값으로 떨어지는 식(메서드)를 쓴다
-->
<h1 class="<%=result %>"><%=result %></h1>
<!--
1 ~ 100까지 합을 구해서
h1태그 사이에 출력해보세요.
-->
<%
int result1 = 0;
for(int i=1; i<=100; i++){
result1 += i;
}
%>
<h1><%=result1 %></h1>
</body>
</html>
↓
여러가지 출력해보기
<%@page import="java.util.Arrays"%>
<%@ 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>
<!--
1~10까지 담긴 table만들기
단! 반복문 사용해서 만들것
-->
<table border='1'>
<tr>
<%
// 1. 내장객체 : Servlet으로 변환되는 과정에서 자동으로 선언
// JSP에서 바로 사용할 수 있는 객체
for (int i=1; i<=10; i++){
out.print("<td>"+i+"</td>");
}
%>
</tr>
<tr>
<!-- 스크립트릿끼리는 단절되어 보이지만 서블릿으로 변환된 파일을 보면 이어져 있어서 변수도 같이 쓸 수 있다.
2. for문을 태그처럼 쪼개서 사용하는 방법
-->
<%for(int i=1; i<=10; i++){%>
<td><%=i %></td>
<%} %>
</tr>
<!-- 1~20사이에 있는 짝수만 출력 -->
<tr>
<%for(int i=1; i<=20; i++){%> <- 길어지면 헷갈릴수도 있으니까 그냥 하나씩 닫고 열고
<%if(i%2==0){%>
<td><%=i %></td>
<%}%>
<%} %>
</tr>
</table>
</body>
</html>
↓
<!-- 1~20사이에 있는 짝수만 출력 -->
↓
두수의 합을 구하는 메소드 / 선언문
<%@ 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>
<!--
선언문
: 메서드를 만들거나, 전역변수를 선언할때
변환된 class파일의 상단에 위치한다
변수 선언시 class의 field가 된다. (전역변수)
-->
<%!
// 두 수의 합을 구해주는 메서드
public int sum(int num1, int num2){
int result = num1 + num2;
return result;
}
%>
<!-- 선언문에서 만든 메서드 사용 -->
<h1><%=sum(10,15) %></h1>
</body>
</html>
↓
예제
<%@ 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>
<!--
선언문
: 메서드를 만들거나, 전역변수를 선언할때
변환된 class파일의 상단에 위치한다
변수 선언시 class의 field가 된다. (전역변수)
-->
<!--
+, -, *, / 메서드 호출 하여 html페이지에 출력
전역변수 num1,num2를 선언해서 이 두 수가 들어가게 설정
-->
<%!
int num1 = 2;
int num2 = 2;
// 두 수의 합을 구해주는 메서드
public int sum(int num1, int num2){
int result = num1 + num2;
return result;
}
public int minus(int num1, int num2){
int result = num1-num2;
return result;
}
public int multi(int num1, int num2){
int result = num1*num2;
return result;
}
public int div(int num1, int num2){
int result = num1/num2;
return result;
}
%>
<!-- 선언문에서 만든 메서드 사용 -->
<h1><%=num1 %> + <%=num2 %> : <%=sum(num1,num2) %></h1>
<h1><%=num1%> - <%=num2 %> : <%=minus(num1,num2) %></h1>
<h1><%=num1%> * <%=num2 %> : <%=multi(num1,num2) %></h1>
<h1><%=num1%> / <%=num2 %> : <%=div(num1,num2) %></h1>
</body>
</html>
↓
복습
반응형
'빅데이터 서비스 교육 > JSP Servlet' 카테고리의 다른 글
JSP request, response (0) | 2022.05.11 |
---|---|
JSP 지시자, 내장객체 (0) | 2022.05.10 |
JSP Servlet (0) | 2022.05.09 |
JSP/Servlet 데이터 전송 (0) | 2022.05.03 |
JSP/ Servlet 웹 동작 방식 (0) | 2022.05.02 |