일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JSP #표현언어 #page #include #taglib
- #라이브러리 #개발자 #REACT #Bootstrap #REST API #웹 디자인 #디자인 툴
- #라이브러리 #개발자 #REACT #Bootstrap #Visual Studio
- #홍콩 #홍콩한달살기 #홍콩버스 #버스어플 #홍콩음식 #홍콩여행 #kmb #lwb#홍
- #홍콩 #홍콩여행 #홍콩한달살기 #홍콩집밥 #홍콩생활 #홍콩베이징구스 #홍콩산책 #홍콩조깅 #홍콩우편함
- #홍콩여행 #홍콩국가 #홍콩지도 #홍콩날씨
- #국비 #국비학원 #IT #개발자 #프로그래머 #신입 #코딩 #안드로이드 #자바 #JAVA #오라클 #Oracle #SQL #MYSQL #HTML #CSS #JAVASCRIPT #자바스크립트 #서블릿 #SERVLET #JSP #자바스프링 #데이터베이스 #프레임워크
- #홍콩쌀국수 #탐차이
- #홍콩 #홍콩여행 #홍콩한달살기 #옥토퍼스카드
- #홍콩 #홍콩여행 #홍콩한달살기 #홍콩사이언스파크 #홍콩산책 #홍콩야경 #홍콩턱돌이
- #라이브러리 #개발자 #REACT #Bootstrap #REST API
- JSP #액션태그 #
- #라이브러리 #개발자 #REACT #Bootstrap
- #라이브러리
- #홍콩 #홍콩여애 #홍콩한달살기 #베트남식당 #viet'schoice #외식 #카레 #양지머리카레 #양지머리 #고기쌀국수 #육수존맛 #레몬차 #밀크티 #shatin #홍콩쇼핑 #asus노트북 #어댑터 #홍콩돼지코
- Servlet #JSP #GET #POST #클라이언트
- 서블릿 #Servlet #Request #Response #개발자
- 백엔드개념 #WAS
- #홍콩2층버스
- forward #include #param
- 블로그 태그 #국비 #국비학원 #IT #개발자 #프로그래머 #신입 #코딩 #안드로이드 #자바 #JAVA #오라클 #Oracle #SQL #MYSQL #HTML #CSS #JAVASCRIPT #자바스크립트 #서블릿 #SERVLET #JSP #자바스프링 #데이터베이스 #
- Today
- Total
기분좋음
국비 53 일차 본문
jsp (java server page)
-HTML, JSP태그로 구성되어 화면을 작성하는 웹프로그래밍 기술
Servlet - JAVA 코드 안에 HTML 코드(하나의 클래스)
JSP - HTML 코드 안에 JAVA코드
서블릿에서 사용
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int num1 = 20;
int num2 = 10;
int add = num1+num2;
request.setAttribute("num1",num1);
request.setAttribute("num2",num2);
request.setAttribute("add",add);
RequestDispatcher dispatcher = request.getRequestDispatcher("addition02.jsp");
dispatcher.forward(request, response);
}
setAttribute("attribute-name", "attribute-value") 속성이름, 속성값을 넣어준다.
Dispatcher HTTP프로토콜로 들어오는 요청을 적합한 컨트롤러에 보내준다.(화면을 포워딩, 화면이 바뀌어도 값이 전달)
JSP에서 사용
<form method="GET" action="MethodServlet">
<input type="submit" value="get 방식으로 호출하기">
</form>
<br>
<br>
<form method="POST" action="MethodServlet">
<input type="submit" value="post 방식으로 호출하기">
</form>
method에 사용할 방식 , action에 Servlet의 상대경로 작성해준다.
int age = Integer.parseInt(request.getParameter("age"));
String → int 값으로 바꿔줄 때
out.print("<br><a href='javascript:history.go(-1)'>뒤로 돌아가기</a>");
(서블릿)-page뒤로가기
로그인, 회원가입등 사용자가 폼에 입력한 데이터 유효성 검사(서버에서 정상처리 위해)
유효성 검사는 자바스크립트로만 가능
JSP 웹 프로그래밍
HTML은 확장자가 html이고 클라이언트의 웹브라우저 내의 번역기가 해석
JSP는 확장자가 jsp이고 WAS가 해석해서 그 결과를 HTML로 번역한 후 클라이언트에 전송한다.
서블릿과 JSP의 차이
• 자바 기반의 웹 애플리케이션을 구동하기 위해서는 서블릿이 필요하다. → 자바를 모르는 웹개발자 불편
• HTML코드 기반의 JSP 나옴 BUT 서블릿 컨테이너는 JSP를 해석하지 못하므로 JSP→서블릿으로 변환 필요
JSP → 웹서버 → 서블릿파일로 변환 (컴파일) → 클래스 생성 → 메모리에 로딩 후 실행
종류 | 사용용도 | 형식 |
스크립트릿(Scriptlet) | 자바 코드를 기술 | <% %> |
선언 | 변수, 메소드를 선언 | <%! %> |
표현식 | 계산식이나 함수를 호출한 결과를 문자열 형태로 출력 |
<%= %> |
주석 | JSP 페이지에 부연설명 삽입 | <%-- --%> |
지시자 | JSP 페이지의 속성을 지정 | <%@ %> |
선언
<%! %> 선언문 내부에 선언된 변수는 인스턴스 변수
스트릿트립에 선언된 변수는 로컬변수
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%!int global_cnt = 0; %> //페이지 내에서 사용되는 멤버 변수
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
int local_cnt=0; //스크립트릿 내부에서 사용되는 지역변수
out.print("<br> local_cnt : ");
out.print(++local_cnt);
out.print("<br> global_cnt : ");
out.print(++global_cnt);
%>
</body>
</html>
표현식
<% out.print(a); %> 매번 출력 불편 → <%= %> 단순 출력 표현식 사용
<%=변수 %>
<%=수식 %>
<%=메소드 호출 %>
주석
HTML주석은 내용 그대로 클라이언트에 보내지만 JSP의 주석은 클라이언트로 보내지 않는다.
스크립트릿 내부에 자바주석 사용가능 // /* */
지시자
<%@ 지시자 속성="값" %>
종류 | 사용용도 |
page | 해당 JSP페이지 환경설정 지정 |
include | 현재 페이지에 다른파일(HTML, JSP)의 내용을 삽입할때 사용 |
taglib | 태그 라이브러리에서 태그 꺼내서 사용가능하게 기능제공 |
include
유일 속성-file (URL주소를 속성값으로 가진다)
모든 페이지에 공통 사용 부분이 있을시 적용 (ex 공통 사용되는 header, footer)
taglib
사용자 정의 태그를 만들어 사용할 때 사용(ex 사용자 정의 태그를 모아둔 jar파일 적용시 사용)
속성
language | JSP에서 사용되는 언어 결정(only JAVA-생략가능) |
extend | JSP내부에서 특정클래스로부터 상속시 사용 |
import | 자바 import와 동일 |
session | 세션사용 결정 속성 (기본값-true) ex)로그인,회원가입 |
buffer | 출력버퍼에 데이터 쌓인 후 클라이언트에게 제공기능(기본값-8KB) |
autoFlush | 버퍼 비우기(기본값- true)버퍼가 차면 자동으로 비움 |
isThreadSafe | true로 설정해서 동기화를 통해 스레드 안전 동작 가능하게 한다 |
info | JSP 페이지에 설명 기록 용도로 사용 |
errorpage | JSP 페이지에 에러발생시 보여줄 에러페이지 결정 |
isErrorPage | 현재 페이지가 에러페이지인지 알려주는 속성 (기본값false) 예외원인 알려주는 용도 |
contentType | JSP페이지의 MIME타입 결정 ex)contentType=text/html;charset=UTF-8 |