Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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
Tags more
Archives
Today
Total
관리 메뉴

기분좋음

국비 53 일차 본문

IT 포트폴리오/국비지원교육 Diary

국비 53 일차

기분좋음:) 2022. 3. 7. 21:48
반응형

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

 

 

반응형

'IT 포트폴리오 > 국비지원교육 Diary' 카테고리의 다른 글

국비 55 일차  (0) 2022.03.10
국비 54 일차  (0) 2022.03.08
국비 52 일차  (0) 2022.03.03
국비 51 일차  (0) 2022.03.01
국비 50 일차  (0) 2022.02.25