일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 모두의 파이썬
- react오류
- 웹 게임을 만들며 배우는 리액트
- react
- props
- Spring-Framework
- 계산맞추기 게임
- Colaboratory 글자 깨짐
- ReactDOM.render is no longer supported in React 18. Use createRoot instead
- 타자 게임 만들기
- intellij
- Python
- node.js 설치
- spring-boot
- Do it 자바스크립트 + 제이쿼리 입문
- 리액트
- intllij 내 Bean을 찾지 못해서 발생하는 오류
- You are importing createRoot from "react-dom" which is not supported. You should instead import it from "react-dom/client"
- 따라하며 배우는 노드 리액트 기본 강의
- 거북이 대포 게임
- 인프런
- googleColaboratory
- Concurrently
- 노드에 리액트 추가하기
- JS 개념
- node.js로 로그인하기
- vs code 내 node
- DB Browser
- 모던자바스크립트
- 자바스크립트
- Today
- Total
프로그래밍 삽질 중
JSP 전반적인 설명 및 스크립트 태그(+스크립틀릿 태그) 본문
※ 웹 프로그래밍 언어
- 클라이언트 측 실행 언어와 서버 측 실행 언어로 구분
- JSP는 서버 측 웹 프로그래밍 언어 중 하나임
※ JSP 특징
- 서블릿 기술 확장
- 유지 관리가 용이
- 빠른 개발 가능
- 코드 길이 줄일 수 있음
※ 컨테이너
- 웹 컴포넌트 : 동적 콘텐츠 생성
- 컴포넌트를 저장, 메모리 로딩, 객체 생성 및 초기화
- 서블릿의 생명주기 관리
- JSP를 서블릿으로 변환
※ JSP 페이지 처리과정
1) 웹 페이지로부터 JSP에 대한 사용자 요청이 컨테이너로 전달
2) 요청 JSP에 대한 서블릿이 존재하면 다음 단계로 진행, 존재하지 않을 경우 JSP를 .java파일로 변환 후
.class 파일로 컴파일
3) 컴파일된 서블릿 클래스를 컨테이너 메모리에 적재 후 실행
※ HTTP(Hyper Text Transfer Protocol)
- TCP/IP 4계층에서 애플리케이션 계층에 해당
- 요청 방식 : GET(주소 줄에 URL 직접 입력하거나 하이퍼링크 클릭, 데이터가 헤더에 포함)
POST(데이터가 몸체에 전달)
- 전송 계층에서 TCP를 사용하여 웹 브라우저와 웹 서버간에 통신하는 프로토콜
- 무연결 : 응답 후 연결 끊음
- 무상태 : 요청마다 다른 연결
※ HTTP 요청 정보
- 프로토콜 : 서버와 통신하기 위한 규약
- 서버 주소 : 네트워크상에 연결된 서버를 찾아가기 위한 정보
- 포트 번호 : 컴퓨터에서 동작하고 있는 서버로 접속하기 위한 정보, 0-65535번
- URL: 서버에서 서비스하는 자원 정보
※ 스트립트 태그
-<% ... %> 사용
- JSP가 서블릿 프로그램에서 서블릿 클래스로 변환 시 사용
- JSP 컨테이너가 자바 코드에 삽입되어 있는 스크립트 태그를 처리하고 나머지는 HTML코드나 일반 텍스트로 간주
※ 스크립트 태그 종류
1) <%! ... %> (선언문) : 멤버 변수나 메소드 선언
2) <% ... %> (스크립틀릿) : 자바로직 코드를 작성하는데 사용
3) <%= ... %> (표현식) : 변수, 계산식, 메소드 호출 결과를 문자열 형태로 출력
4) <%@ ... %> (지시문) : 페이지에 대한 정보 설정
※ 스크립틀릿 태그
- 자바 코드로 이루어진 로직 부분 표현
- JSP페이지가 요청될 때마다 수행되어야 하는 자바 코드
- JSP 페이지가 서블릿으로 변환되고 요청될 _jspService(Tomcat 기준) 메소드 안에 선언되는 요소
- <% 자바 실행문; %>
※ 표현문 태그
- 웹 브라우저에서 출력할 부분 표현
- 표현문 태그에 숫자, 문자, 불(boolean) 등 기본 데이터 타입과 자바 객체 타입도 사용 가능
- 스크립트릿 코드 내 out이라는 내장객체를 통해 브라우저 출력 가능
- <%= 자바코드 %>
※ 선언문 태그
- jsp에서 사용될 변수나 메소드를 선언할 수 있는 영역들의 요소
- jsp 페이지 내에서 변수 및 메소드를 선언 후
스크립틀릿 태그
- 변수 선언 가능, 메소드 선언 불가
- 서블릿 코드로 변환 시 _jspService() 메소드 내부에 위치
선언문 태그
- 변수나 메소드 선언 가능
- 서블릿 코드로 변환 시 _jspService() 메소드 외부에 배치
[예제 1] Q3 1부터 100까지의 합을 구하여 다음과 같이 출력하기
예_ 1+2+3+......100 = 5050
[예제 1 답]
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
|
<%@ 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>
<h1>Q3 1부터 100까지의 합을 구하여 다음과 같이 출력하기 </h1>
1부터 100까지의 합은?
<%
int sum = 0;
for(int i=1; i<=100; i++) {
sum=sum+i;
if(i<100) {
out.print(i+"+");
}
if(i==100) {
out.print("100=");
sum+=100;
}
}out.print(sum);%>
</body>
</html>
|
cs |
[예제 2] 구구단 출력하기(2*1 ~ 9*1)
[결과]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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>
<h3>구구단 출력</h3>
<%
for(int i=2; i<10; i++) {
for(int j=1; j<10; j++) {%>
<%=i %> * <%=j %> = <%=i*j %> <br>
<%
}
}
%>
</body>
</html>
|
cs |
'과거 프로그래밍 자료들 > 자바(Java)' 카테고리의 다른 글
JSP Session & param (0) | 2021.04.12 |
---|---|
JSP 디렉티브 태그(page, include, taglib) (0) | 2021.04.08 |
[서버 문제] 웹페이지를 불러오고 html 파일로 저장하기 (0) | 2021.03.15 |
서버와 클라이언트 설명 및 예시(1) - InetAddress 위주 (0) | 2021.03.11 |
입출력 스트림 설명 및 예시 (0) | 2021.03.10 |