본문 바로가기

programming/Gukbi

국비 교육 74일차 - jsp 정리, spring 설치

728x90
반응형

오늘은 jsp마무리와 spring 시작을 위한 설치시간이었다

 

<%@ page info="2021-04-12 홍길동" language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%--
   1. 웹프로그램 실행을 위한 구성요소
      1) 웹브라우저 : 클라이언트 영역
      2) 웹서버 : 서버 (요청을 받고 결과값 응답하는 역할)
               번역이 필요없는 파일 요청시 (브라우저에서 실행이 가능)
               HTML, XML, CSS, JavaScript
               => Java, C# , 파이썬 : 반드시 컴파일 후 전송해야함 
      3) 웹어플리케이션서버 : 번역 => HTML, XML로 변환
                  ==> 톰캣,레진 : 자바번역기 , IIS
      4) 데이터베이스 : 오라클 => 웹 사이트에 필요한 데이터를 저장하는 장소
      
                     자바 번역
      웹브라우저 ===> 웹서버 =======> WAS ==========> 오라클
            <=======     <====== HTML전환 <======
      /main.jsp
      /main.do
         =======> 형식 자바이므로 톰캣 거침
      /main.html은 넘어가지 않음(웹서버가 직접처리)
      
      1. URL => 웹에서는 반드시 => 마지막에 파일명을 전송
         /main.do => 서블릿을 찾아라 (DispatcherServlet)
         
         p.37,38(구성요소,URL)
            web은 거의 대부분이 Map
            map("localhost","211.238.142.181")
            map("daum.net","211.000.000.000")
            
            http://localhost(IP,Domain)/JSPTotalLastProject/jsp/total1.jsp
            ====   ===================  ==================================
            프로토콜      서버주소            URI
                                 =======================
                                    ContextPath
                                    
            다른 파일로 데이터 전송
               main.jsp?no=1
               두개를 전송
               main.jsp?no=1&page=1 ==> &로 구분
               
         p.51,56 : 페이지지정자 잘 보기
            1. page지시자
               contentType=""
                  => JSP를 변환할때 (브라우저 : XML,HTML) => 브라우저에서는 XML,HTML외의 모든 것은 txt
                     HTML => text/html;charset=UTF-8
                     XML => text/xml;charset=UTF-8
               errorPage="" : 오류가 났을 경우 파일 이동(error파일 출력)
                  =>  404 : 요청한 파일이 없는 경우
                     500 : 자바 번역에서 오류가 나는 경우
                     415 : 스프링에서 등장 => 데이터명이 틀릴 경우
                           mainn.dono=1&page=1
                           public String main_list(int page,int no)
                     200 
               import=""
                  =>  import="패키지.*"
                     import="패키지.*"
                     import="패키지.*"
                     import="패키지.*,패키지.*,패키지.*"
               buffer="16kb"
                  => JSP번역 => Java => 컴파일 => .class => 실행 => HTML만 출력한다
                     출력하는 위치를 Buffer(메모리 공간) => 저장된  HTML을 브라우저가 읽어서 출력
                     기본 8kb(one page : 파일이 하나인데 여러페이지로 나뉨,div여러개)
                  (framework : spring,struts,jfs, 마이플랫폼) => jsp,asp,aspx,php
                  ***8 프레임워크(레고) VS 라이브러리(완제품)
                  전자정부프레임워크      , 애니프레임워크
      p.65-72 
         JSP => 자바+HTML
         자바영역
            <% %> : 스크립트릿 => 일반 자바 코딩, 변수선언, 제어문,연산자,기타 로직
            <%= %> : 표현식 => 브라우저에 출력
            <%! %> : 선언식 => 메소드를 만들 경우 : 자바를 이용해서 만든다(import => 호풀)                   
      HTML영역
      
      p.72 : 내장 객체(기본 객체)
         ***전송 방식 (GET,POST) ==>한글 처리
            GET: server.xml
            POST: 
         사용 요청==> request
                  요청 => 요청값 : getParameter(), getParameterValues() ==>p.76
                              &hobby=a&hobby=b..
                              (String[] hobby) =>415
                  IP얻기 =>getRemoteAddr()
                  요청주소 확인 => getRequestURL() getRequestURI() => p.73
                  요청값 받기 => 데이터전송 => setAttribute()
         요청 처리 => JSP 전체에서 사용 session
                  setAttribute,getAttribute,invalidate,removeAttribute
         결과 응답(HTML로 응답) ==> response
                  setHeader (p.91), redirect(p.93)
         p.96 주석
         
         p.99 JSP처리 과정
         브라우저 ===================> was(톰캣) ============> JSP ==========> 자바 변환 ======> 컴파일
               ========> 실행 =========> 버퍼(html) ====> 브라우저 전송
      p.101
         TCP
      p.115
         기본객체
            application(p.121) => getInitParameter(),getRealPath()
                             ================== web.xml   
      p.132
         영역
            request : 화면이 변경되면 자동 초기화 (요청한 파일에서만 사용)
            session : 기간이 지나면 초기화 (프로젝트에 있는 모든 JSP파일에서 사용이 가능)
                     로그아웃, 브라우저종료
      p.134
         request,session에 데이터를 추가해서 저장
         setAttribute(),getAttribute()
         
      p.141
         에러페이지 출력 방법
            1. <%@ page errorPage=""> (우선순위)
            2. web.xml에 분리                                       
      p.157
         JSP특정영역에 다른 JSP를 추가할 때 사용 <jsp:include> => Spring(라이브러리:tiles)
            <jsp:include> : HTML+HTML
            <%@ include %> : Java+Java
            <iframe> : HTML안에 HTML첨부         
         request forward : 값을 가지고 와야 한다
         sendredirect : 값을 잊어버리고 와도 된다
      p.191 
         자바클래스 연동
         =============
         ~ VO, ~DAO , ~Manager
         ====
         Bean : 데이터를 모아서 한번에 전송할 목적으로 만든다
         p.195
            <jsp:useBean> 메모리 할당
         p.199
            <jsp:setProperty>
      p.206
         쿠키(클라이언트 브라우저에 저장)
            ===> 최신방문
            ===> JSP는 응답시에 response를 이용한다(한번만 사용이 가능)
               response => HTML,쿠키
            ===> 생성, 값얻기, 기간
            ===> 저장시에 문자열로만 저장이 가능
            ===> Cookie cookie=new Cookie(키,값)
                           키 : String
                           값 : String 
            ===> 저장 기간
               setMaxAge(초단위)
            ===> Cookie[] cookies=request.getCookie()
               => 키 => getName()
               => 값 => getValue()
            ===> 클라이언트로 전송
               response.addCookie(cook명) 
      p.232 
         세션(서버에 일부 정보를 저장)
            => 저장
               setAttribute()
            => 값 얻기
               getAttribute()
            => 해제
               invalidate()
               removeAttribute()
            => setAttribute(String, Object)
 --%>    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%--
      model 2 (MVC)
      표현식  : EL
            ${}
            ${값} => 자바의 일반 변수가 아니다
            ====
               request.getAttribute() : 우선순위
               session.getAttribute() : 2번째 순위
               application.getAttribute() : 3번째 순위
               
               형식)
                  request.setAttribute("a","aaa1")
                  request.setAttribute("a2","aaa2")
                  ${a} ===> aaa1
                  ${requestScope.a} => <%=request.getAttribute("a")%>
                  ${sessionScope.a} ==> 키 값 다르면 생략 가능 ${a2}
                  
               연산자
                  산술연산자 (산술만 처리)
                  ${"1"+"2"} =>3
                  ${"1"+null} => 1 (null은 0으로 취급)
                  ${"1"+"a"} => 오류
                  ${"1"+="2"} => 12
                  ${3/2} => 1.5 실수
               객체호출
                  ${vo.title} =>${vo.getTitle()}
                  
            p.292 JSTL
               core : 제어문, URL, 변수 설정
                  <c:if> : 조건문
                  <c:forEach> : 반복문
                  <c:choose> : 다중 조건문
                  <c:redirect> : sendRedirect()
                  <c:set> : request.setAttribute()s
               fmt : 변환(숫자, 날짜) : 날짜 변환
                     <fmt:formatDate value="" pattern="yyyy-MM-dd">
                     SimpleDateFormat()
                     <fmt:formatNumber value="" pattern="000,000">
               fn : String 메소드
                  ${fn:substring(값,0,10)}
                  
         18장 읽기 반드시 필독!!!!   
         14장 (데이터베이스)
 --%>    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

</body>
</html>

 스프링은 진짜 설치만 해서.. 

 

아마 내일부터 본격적인 수업을 하게 될것같다

 

블로깅 하루 휴식!!

728x90
반응형