[TIL] 240312

Geehyun(장지현)·2024년 3월 12일

TIL

목록 보기
47/70
post-thumbnail

Today

  • 성낙현의 JSP 자바 웹 프로그래밍

    • chap07 액션태그
    [chap07 액션태그 이론]
    - 액션태그
      JSP코드를 HTML 태그 같은 형태로 간단히 사용할 수 있는 JSP의 표준 태그 입니다.
      일반 JSP 코드보다 HTML에 더 조화롭게 스며들고 간결하여 깔끔한 코드를 만들 수 있음
      <jsp:태그명/> 형태로 사용
      페이지 사이에서 이동을 제어하거나 자바빈을 생성할 때 주로 사용
      태그처럼 사용하지만 JSP이므로 화면에 결과만 표시된 후 웹상 코드에서는 표시 X
    - 액션태그의 특징  
      1) XML 문법을 따름
      2) 반드시 종료태그 사용 필요
      3) 액션 태그 사이에 주석 사용 시 에러 발생
      4) 액션 태그에 속성 부여 시 표현식<%= %>
      + 선생님 TIP : Java 코드 안쓰고 JSP 코드만 사용하게되면서 스파게티 코드가 많이 만들어짐
    - 액션태그의 종류
      ● <jsp:include> : 외부 파일을 현재 파일에 포함
      ● <jsp:forward> : 다른 페이지로 요청을 넘김니다.
      ● <jsp:useBean>, <jsp:setProperty>, <jsp:getProperty> : 자바빈즈를 생성/추출할 때
      ● <jsp:param> : 다른페이지로 매개변수로 전달, <jsp:include> <jsp:forward>와 함께 사용
      
    - <jsp:include> vs <%@ include%>
    1. 작성형식
       <jsp:include> = <jsp:include page="파일경로" />
       <%@ include%> = <%@ include file="파일경로 %>
    2. 표현식
       <jsp:include> = 사용가능 (HTML 태그와 마찬가지로 사용하니까!)
       <%@ include%> = 불가
    3. 포함방식
       <jsp:include> = 해당 페이지 다 로딩하고 읽어가다가 <jsp:include>를 만나면 인클루드한 페이지 가서 읽어서 결과만 갖고옴.
       <%@ include%> = 해당 페이지를 생성하기 전에 인클루드한 페이지 갖고와서 합쳐서 생성
    4. 변수
       <jsp:include> = 갖고온 페이지에서 선언한 변수 사용 불가
       <%@ include%> = 갖고온 페이지에서 선언한 변수 사용 가능
    5. page 영역
      <jsp:include> = 엄밀히 따지면 페이지 이동이 있음 따라서 페이지 스코프롤 벗어남
      <%@ include%> = 포함
    6. request 영역
       <jsp:include> = 포함
       <%@ include%> = 포함
    
    - <jsp:forward>
      <jsp:fowrard page="파일경로" />
      ● request.getRequestDistpatcher().forward() 와 유사
         => 현재 페이지의 들어온 요청을 다음 페이지로 전달할 때 사용 (request 영역 공유)
         => 현재 페이지에서 다음 페이지로 이동 시 URL이 변경되지 않음
      ● 현재 페이지의 지시어 부분에서 buffer="none"으로 설정 시(버퍼 사용 X) <jsp:forward> 사용 불가
      
    - <jsp:param>
      <jsp:forward page="파일경로">
    	  <jsp:param name="이름1" value="값1" />
        <jsp:param name="이름2" value="값2" />
      </jsp:forward>
      <jsp:include page="파일경로">
    	  <jsp:param name="이름1" value="값1" />
        <jsp:param name="이름2" value="값2" />
      </jsp:include>
      ● 값을 받아온 페이지에서 사용할 때는 request.getParameter("이름"); 으로 사용
      ● <jsp:include>, <jsp:forward>로 다른 페이지로 이동할 때 파라미터값을 저장해서 같이 넘겨주는 역할을 합니다.
      ● 넘겨줄 수 있는 값은 String 타입뿐 입니다.
    
    - <jsp:useBean>, <jsp:setProperty>, <jsp:getProperty>
      ● 자바빈 : 멤버 변수(속성)과 getter/setter로만 구성된 클래스
      ● 자바빈 생성
        <jsp:useBean id="빈즈 이름(변수)" class="사용할 클래스명(패키지 포함)" scope="저장될 영역" />
        - id : 빈즈 이름을 설정 (변수명)
        - class : 사용할 자바빈 클래스
        - scope : 해당 빈을 저장할 영역 / 미입력 시 page(pagaContext)
      ● 자바빈 값 설정
         <jsp:setBean name="빈즈 이름(변수)" property="속성명(필드명)" value="" />
         - name : 빈즈 이름(useBean에서 지정한 빈즈 이름)
         - property : 속성명(필드명)
         - value : 값
         * <jsp:setBean name="빈즈 이름(변수)" property="*" />
           "*" 와일드 카드로 form으로 전송받안 값의 name 속성과 일치하는 property에 값이 자동으로 설정되게 할 수 있습니다.
      ● 자바빈 값 추출
         <jsp:getBean name="빈즈 이름(변수)" property="속성명(필드명)" />
         - name : 빈즈 이름(useBean에서 지정한 빈즈 이름)
         - property : 속성명(필드명)     
    • chap08 모델1 방식의 회원제 게시판 만들기 => 실습중(내일까지 이어서)

Review

  • chap08 모델1 이론과 실습 내용 내일 완료 후 추가예정

TO DO

  • Java 최종 정리 (JSP에서 허덕이고 있는중...가능한 빨리 해야 함!)
  • Maria DB 최종 정리
  • 우선순위
    1) JSP - 그 날 배운 내용 그날 바로 정리할 수 있도록이 가장 시급
    2) Java
    3) MariaDB
profile
블로그 이전 했습니다. 아래 블로그 아이콘(🏠) 눌러서 놀러오세요

0개의 댓글