ajax,CORS, LAG & LEAD, 동적쿼리문-post 검색기능, EL null ,프로젝트 Dbeaver 활용하는 법

두부링·2025년 2월 3일

웹프로그래밍

목록 보기
18/20

ajax

웹페이지가 새로고침되지 않고도 서버와 데이터를 주고받을 수 있게한다.

  • 검색 자동완성 기능, 좋아요 기능...
  • 새로고침 없이 화면에 반영하는 기능들은 ajax를 사용한다.

CORS

  • 강사님 IP로 접근하면 CORS로 막힘
  • 출처가 동일해야 한다 = 자바스크립트가 다른 출처에 요청하는 게 막힘
  • 내가 응답한 콘텐츠를 포함하지 않는 요청은 거부
  • 나의 서버에서 응답하는 콘텐츠를 포함한 웹브라우저의 요청만을 수행한다.

    "이 웹사이트는 내 데이터를 가져갈 수 있어!"이라는 서버의 마음...

CORS의 서버의 설정을 풀어서 가능하게


  • 아무 곳에서나 요청이 가능해진다.
  • vs code에서 작성한 코드를 톰캣 서버에서 실행 가능함.

    새로 생긴 web.xml 에서 CORS 규칙을 깨서 아무곳에서 요청을 할 수 있게한다.

Thread 지연

  1. vs code 에서 요청

    응답을 받아오는 시간동안 console.log("fetch~") 코드 먼저 실행 후 응답을 받아옴.

  2. 톰캣 서버에서 응답

  • CORS의 규칙을 풀어서 vscode에서도 tomcat 서버의 데이터를 요청해서 가져올 수 있음

글 post

LAG, LEAD (oracle)


  • 이전, 다음 링크를 구현하기위해서는 해당 글의 이전글, 다음글의 정보를 가져와야 한다.

    post 기능 구현시 이전글, 다음글 이동하는 기능에서 데이터를 가져와야 할 때 사용한다.

동적 쿼리문(검색)

글 검색 시 조건과 키워드에 따라서 보여주는 데이터가 달라지기에 동적쿼리문이 필요함.

  • StringBuilder()를 만들어서 조건에 따라서 문자열을 하나씩 하나씩 추가하기 위해서 만듬
  • if 조건을 만족하면 where 조건에 맞는 글만 검색이 되고 만족하지 못하면 모든 글이 검색이 된다.

글 검색 조건에 맞는 로직 구성하기

1. dto , dao 구성

✔️ DTO → 데이터를 담는 객체 (그릇).
✔️ DAO → DB에서 데이터를 가져오거나 저장하는 역할.

1-1. 검색 조건에 따라 글의 갯수 가져오기 = getCount(PostDto)

1-2. 검색 조건에 따라 글을 가져오기 = getData(PostDto)

  1. StringBuilder로 명령문을 쌓는다.
  2. 검색 조건에 따라서 로직을 짠다(제목+내용, 제목 , 작성자)
  • toString 은 위에서 쌓은 sql문을 한번에 전체로 String type으로 변경후 실행한다.
  1. 검색 키워드가 있는 경우에 따라서 바인딩 && 페이징 처리에 관련된 값도 바인딩한다.

1-3. 검색 조건에 따라 글 리스트 가져오기 = getList(PostDto)

2. list, view jsp 구성하기

2-1. list.jsp의 findquery

  • findquery은 검색조건(condition), 검색어(keyword) 정보를 담음.
  • findquery 정보에 해당하는 글만을 보여주기 위해서 request 영역에 담음
  • view.jsp에도 넘어갈 때, findquery 정보를 달고 간다.
  • 이전 버튼을 누를 때도, 다음 버튼을 누를 때도, 다음 버튼을 누를 때도 findquery 조건을 잊지않게 일일이 달고 가게 만듬

    검색 조건을 유지하면서 데이터를 가져오고 페이지 이동 시에도 유지하기 위해 사용한다.

2-2. view.jsp

EL은 null 이면 null이 아닌 빈 값을 출력한다.

= "&condition=writer&keyword=stone"이 파라미터에 붙을 수도 안 붙을 수도 있다.

Dbeaver에서 DB 열기



자유자재로 데이터를 추가하기

보완

  1. 강사님 서버에 들어갈 수 있었던 이유가 server의 context.xml에 서버를 추가해서 그런가? 응 그래...
  2. findquery 를 분석할 필요성
profile
하이하잉

1개의 댓글

comment-user-thumbnail
2025년 2월 3일

피곤하당.....

답글 달기