일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 자바초보
- 코딩입문
- 코딩일기
- IdeaPad 3 15ABA7
- 레노버 아이디어패드 슬림3
- 사무용 노트북
- 코린이
- 오라클UPDATE
- SQL
- 자바입문
- 티모장인
- 오라클
- 오라클 DELETE
- 데이터베이스
- 데이터베이스 예제
- 데이터베이스기초
- 데이터베이스 기초
- lenovo ideapad 3
- 데이터베이스 UPDATE
- 레노버 노트북
- 데이터베이스 JOIN
- 라이젠노트북
- 슬림3
- 탑마이장인
- 가성비 노트북
- 데이터베이스 DELETE
- 데이터베이스 집합연산자
- 코딩초보자
- 레노버 슬림3
- 개발자준비
- Today
- Total
스퐁지송 개발노트
JSP기초 본문
JSP
: jsp로 작업한 파일 -> java파일로 변환 -> 컴파일 -> 클래스로 만들어짐 -> 실행
ex) sample01.jsp -> sample01_jsp.java -> sample01_jsp.class
클라이언트(사용자)요청 -> 서블릿 코드? -? 서블릿 아님 -> 서블릿으로 변환 -> 컴파일 -> 로드 -> 클라이언트 응답
한번 요청된 jsp -> 로드 -> 응답
서블릿은
요청 -> 컴파일 -> 로드 -> 응답
서블릿은 자바코드안에 HTML을 작성할 수 있음
JSP는 HTML안에 자바코드를 작성할 수 있다.
html (정적페이지)
jsp(동적페이지)
컨텍스트 패스(Context Path)
경로를 나타내는 것 (기본적으로 프로젝트명과 동일)
변경방법
dynamic Web Project 생성시 그냥 finish 하지말고 next 누른후 본 창이 뜨면 원하는 명 쓰기
아무것도 표시하지 않기
Server -> Tomcat... 폴더 -> server.xml -> ctrol+f 로 <Cotext 찾기 -> 해당 코드 중 원하는 프로젝트명의 path를 "/" 로 설정
변경후
JSP 태그
<% %>
: 스크립트릿(scriptlet) : 자바 코드를 작성할 수 있는 공간
JSP = HTML(디자인) + JAVA(동적작업)
(HTML작성된 위치에 코드가 만들어짐) - 지역변수
<%! %>
: 선언문 - 자바 코드 작성공간
변수, 메서드 생성시 여기에 작업을 함
(선언문으로 작업한 코드는 클래스 바로 아래에 정의가 됨) - 전역변수
<%= %>
: 표현식 변수출력 (out.print(a)) : <%= a %>
계산식 출력 -> out.print( a + b ) : <%= a + b %>
메서드 호출 -> out.print( sum ( a , b ) ) : <%= sum(a, b) %>
EX)
<%@ 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>
<h3> 여기 아래에 선언문 작성 </h3>
<%!
String str = "hi";
int a = 10;
int b = 20;
public int add(int x, int y){
return x + y ;
}
%>
<h3> 선언문 끝 </h3>
<h3> 스크립트 시작 </h3>
<%
out.print("<h5>" + str + "</h5>");
out.print("두수의 합 : " + add(a,b));
%>
<h3> 스크립트릿 끝 </h3>
</body>
</html>
ex)
test1
<%@ 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>
<form method="get" action="test02.jsp">
숫자 입력 : <input type="text" name = "num">
<input type="submit" value="전송">
</form>
</body>
</html>
test2
<%@page import="javax.swing.text.AbstractDocument.BranchElement"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%! //변수 선언
int global = 0;
//클래스 전체에서 사용가능
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
int local = 0;
//메서드 내에서만 사용가능
out.print("global : " + ++global);
out.print("<br>");
//int num = Integer.parseInt(request.getParameter("num"));
//out.print("전달 받은 숫자 : " + num);
%>
<br>
<%
out.print("local : " + ++local);
%>
//새로고침시 global변수만 숫자 증가함
get메서드 요청시
</body>
</html>