[TIL] 2024.08월

limlim·2024년 8월 30일
0

TIL

목록 보기
25/27

약 한달 정도 밀려버린 TIL... 아 TIL이 아닌 MIL인가...

습득한 지식 및 내용

  • nvl("값", "지정값")

    : nvl 함수는 값이 null인 경우 지정값을 출력하고, null이 아니면 원래값을 그대로 출력함

    : 여기서 중요사항!!!

    -> nvl 함수는 데이터가 존재할 때 사용할 수 있음
    -> 그러면 테이블에 데이터가 아예 존재하지 않을 때는 어떻게??
    -> 컬럼명 앞에 그룹함수(max) 씌워줌

     -- 예시
     select NVL(MAX(컬럼명), '0')
       from table;

  • escapeXml="false" 보안

    : escapeXml="false"를 주면 태그를 허용하는 상태가 됨

    : 기본적으로 escapeXml이라는 값이 true로 처리가 되고, 이 속성은 <, >와 같은 값들을 &lt;, &gt;등으로 변경하여 화면에 뿌려주게 됨

    : 이것은 XSS 방어가 되지 않음. But, 태그를 원하는 대로 뿌려줘야할 경우도 있을텐데 어떻게 해야할까??

    : 관련 내용을 찾아보니 웹에디터를 사용할 경우 web.xml에 filter-mapping을 걸어주고, 예외로 웹데이터에서 사용하는 URL을 제외하라고 한다.

    : 그외 특정 태그만 허용한다든가 하는 하는 별도의 기능을 구현하거나 오픈소스인 Naver Lucy 필터를 적용하여 특정 태그만 허용하도록 설정하는 것도 고려할 수 있음


  • Eclipse의 workspace vs IntelliJ의 project 차이

  1. Eclipse의 workspace

    : workspace 내에 여러 개 project import 가능

  2. IntelliJ의 project

    : 한 개의 project에 대해 작업

    : 여러 개 project import 가능한지 확인 필요

    -> 최근에 찾아보니 IntelliJ에서 멀티 프로젝트를 구성할 수 있는 Multi-Project Workspace 플러그인이 있다고 한다. 아직 사용해보지 않았는데 이클립스처럼 하나의 workspace 안에서 여러 개의 프로젝트를 열 수 있으니 편리할 것 같다.

    cf) 참고자료: https://plugins.jetbrains.com/plugin/24765-multi-project-workspace


  • redirectAttributes.addAttribute vs redirectAttributes.addFlashAttribute

    : addAttribute는 값을 지속적으로 사용해야할 때, addFlashAttribute는 일회성으로 사용해야할 때 사용해야함

    : addAttribute의 경우에 requestparameters로 값을 전달하므로 addAttribute를 사용하여 일부를 추가하면 request.getParameter에서 해당 값에 액세스할 수 있음

    ex) localhost:8080/요청URL?redirect한값=redirect한값

    : addFlashAttribute의 경우에는 flash 속성에 객체를 저장할 수 있음. 이는 요청 매개변수(requestparameters)로 값을 전달하지 않고 객체로 값을 그대로 전달하게 됨. 그리고 addFlashAttribute는 일회성으로 한번 사용하면 redirect 후 값이 소멸됨

    ex) localhost:8080/요청URL (뒤에 redirect한 값들은 redirect 후 소멸됨)

profile
不怕慢,只怕站 개발자

0개의 댓글