[TIL] 14일차

myminimin·2023년 8월 8일
0

TIL

목록 보기
14/44
post-thumbnail

  1. LeetCode - Best Time to Buy and Sell Stock

  2. 래퍼 클래스?가 뭐야

  3. 수업 시간에 배운 StringBuffer, StringBuilder 에 대해서 공부해보기



어제 빠른 복습

EL에서 가장 중요한 건 param(.이나 []로 사용), scope(내장객체 page,request,session,application 영역에 저장된 ...)
form에서 post,get으로 보내면 param으로 받는다
request.setAttribute~ 해서 보내면 requestScope. 해서 받는다

객체.메서드

가장 중요한 것은 데이터 전이

순수 JSP 코드와 비교하면 형변환이 해줄 필요도 없고 게터 안써도 된다!
쿠키, HTTP헤더, 컨텍스트 초기화

한 번 사용하고 '이해한' 코드는 무작정 외우지말고 메서드화 잘 해놓고 또 사용하자
  • <%= 표현식 %> => EL로 대체
    <% 스크립틀릿 %> => JSTL로 대체

스크립틀릿의 단점 = HTML 태그와 잘 안붙는다! 그래서 <% 자바코드 %> HTML <% 자바코드 %> 이런식으로 사용하다보니 너무 불편했기 때문에 JSTL이 나옴!

  • JSTL(Core 태그, Formatting, XML, Function, SQL)
    Core가 가장 많이 사용하고 가장 중요하다!!!
    변수 선언, 조건문/반복문 URL 처리, 접두어 : c
    사용하려면 JSP파일 위에 taglib 지시어를 추가해야 한다!

처음에 그냥 5개를 전부 집어넣고 나중에 사용하지 않은(노란색 밑줄이 뜬다)만 지워주면 된다

  • Core 태그 (set(변수나 자바빈즈 생성할 때 사용), remove, if(else없음), choose(wher~otherwise), forEach, forTokens, import, url, catch...

  • requestScope.personVar1.name 형변환을 하지 않아도 자동으로 형변환해서 값을 가지고 온다
    personVar1.age 이런식으로 선언했을 경우에 가장 작은 영역(Page)에서 age를 찾다가 없으면 request -> session -> application 이런식으로 자동으로 찾기 때문에 매우 편하다!!

  • c:if에는 else가 없이 true일 경우에만 값을 가지고 오기 때문에 choose를 이용해 else와 비슷하게 false 값을 찾아올 수 있다!
    <c:when test=조건1>조건1에 만족하는 코드</c:when>
    <c:when test=조건2>조건2에 만족하는 코드</c:when>
    <c:otherwise>아무 조건도 만족하지 않는 코드</c:otherwise>
    </c:choose>..
    이런식으로 switch/ease/default와 비슷하지만 각각 c:when에서 조건을 비교한다는 점에서 if/else와 같은 구조라고 볼 수 있다

  • c:forEach begin="1" end="3" step="1" var="i"
    1부터 시작해서 3까지 1씩 증가해서 그 값을 i에 넣어라~


오늘 빠른 메모

DB에는 파일이 저장될 위치, 크기 등이 글짜로 저장이 되고 업도르한 파일은 따로 보관을 한다.

파입 업로드 (화면폼 -> DB Table -> DTO/DAO -> 연동하여 업로드 테스트)

화면폼 (method 속성은 반드시 post, enctype 속성은 multipart/form-data로, input 태그의 type 속성은 file로 지정한다)

StringBuffer, StringBuilder 간단하게 생각하면 글자를 누적 저장할 수 있는 것 (원래는 글자를 1글자, 1글자 저장하기 때문에 여러개의 객체가 만들어지는데 buffer를 사용하면 누적된 애들을 1개로 취급?)

1개의 댓글

comment-user-thumbnail
2023년 8월 8일

많은 것을 배웠습니다, 감사합니다.

답글 달기