본문 바로가기

전체 글376

포트원(구 아임포트)를 활용해서 결제 기능 구현 아래 사진은 포트원 라이브러리를 적용해서 결제완료까지의 흐름입니다. 사용자는 회원권을 선택합니다. 결제를 재 확인합니다. 결제하기 버튼을 누르면 위와 같이 결제창이 호출됩니다. 상품명, 상품금액을 확인하고 결제를 진행합니다. 결제금액은 실제로 결제가 되기때문에 100으로 나눈 후 결제창을 요청했습니다. 또한, 실제로 결제가 이루어져도 자정에 일괄 취소 되어서, 반환해줍니다. 카카오페이로 결제 후 결제요청을 하게되면, 위와 같은 정상처리를 의미하는 페이지로 이동하고, 마이페이지에서 회원권을 확인할 수 있습니다. JSP로 구현했습니다. 1) Controller를 통해서 멤버쉽 정보( seq 또는 idx, 가격, 이름 )을 전달받습니다. 2) 향상된 for문과 StringBuilder를 통해서 문자열을 더합니.. 2023. 2. 18.
[Java] CSV 파일을 열었을 때, 한글 깨짐 현상 발생시 해결 방법 Excel 실행 → csv 파일 끌어서 열기 → 다른이름으로 저장 → 메모장 열기 2023. 2. 11.
[Spring] @Autowired에도 NullPointException 에러가 발생할 경우 스프링 컨테이너에 의해서 관리되고 있는데, 어딘가.. 객체를 생성한 것이다 2023. 2. 10.
[JSP] StringBuilder를 통해서 onclick 이벤트의 인자(argument)를 전달할 때 발생하는 오류 해결 방법 / Uncaught SyntaxError: Unexpected end of input 위와 같이 인자를 넣으면 아래와 같이 생성되고 이를 클릭하면 아래와 같이 에러가 발생한다. Pass a string parameter in an onclick function I would like to pass a parameter (i.e. a string) to an Onclick function. For the moment, I do this: '' with stackoverflow.com 좌우로 백탭을 넣었다. 2023. 2. 7.
[Java] String의 null 처리에 관해서 / <null 처리, String, java.lang.NullPointerException> 위와 같이 에러가 발생했을 때 처리하는 방법이다. 이는 흔히 발생할 수 있는 NullPointerException에 관한 내용이다. jsp에서 위와 같이 String의 초기 값을 null로 설정했다고 하고, 만약 session 값이 있다면 그 값으로 변수에 할당한다. 없다면 초기값 null로 계속 할당 되어있는 것이다. 만약 위와 같이 if문을 통해서 검사했을 때 NullPointerException이 발생합니다. 기본적으로 String은 참조타입이지만 기본 타입의 성질을 일부 가지고 있어 헷갈리기 쉽습니다. 기본타입: 값을 주고 받는 형태( byte, short, int, long, float, double, boolean, char ) 참조타입: 주소값을 주고 받는 형태( 기본 타입을 제외한 나머지 .. 2023. 2. 5.
[node.js] Java에서 Spring boot와 비슷한 흐름의 Express-generator에 대해서 / router를 통해서 url 맵핑에 대해서 / nodejs 메일보내기 Java에서 Spring Boot와 비슷하게 nodejs에서도 프로젝트를 바로 진행할 수 있는 템플릿을 제공한다. 이를 express-generator라고 한다. 사용하기 위해서는 아래와 같은 코드를 입력한다. express-generator를 글로벌하게 설치하는 내용이다. sudo npm install express-generator -g 설치가 되었는지 확인해보자. npm list -g 이제 템플릿을 생성해보자. myapp 이라는 단어를 프로젝트 명이라고 생각하고, 입력할 때는 바꿔주자. express --view=ejs myapp 설치하고 난 뒤에는 node_modules 라는 폴더가 없는데, 생성 후 모듈을 가져오는 작업을 해줘야한다. 모듈까지 올리지 않는 이유는 파일의 크기가 워낙 크다보니 사용.. 2023. 2. 1.
[MariaDB] 정규화 관련 / 맵핑 테이블 글 태그가 1번인 글만 출력하겠다는 쿼리문을 손쉽게 작성할 수 있다. 하지만, 글 태그가 2번인 글만 출력해 달라는 쿼리문 또는.. 정보를 원한다면? 어떻게 할까? 이는 불가능하다. 따라서 제1 정규형을 만족하는 정규화가 필요하다. 글번호에 따라서 글 태그가 변경되니, 글 번호의 컬럼을 가져오고, 글 태그를 가져오면 만들 수 있다. 2023. 1. 24.
[JSP] 쿠키와 세션의 차이에 대해서 / 쿠키=웹 브라우저의 소유 / 세션=서버 와 웹브라우저 둘다 소유 쿠키는 웹 브라우저에 저장되고, 사용자에 의해서 조작될 수 있다. 쿠키를 생성하면, 아래와 같이 어떤 값이 들어있는지 확인이 가능하다.. 그렇다면, 아래와 같이 사용자가 임의로 변경할 수 있다. 왜냐하면, 생성된 쿠키는 웹 브라우저가 소유하기 때문이다. 이에 반해 세션은 웹 브라우저와 서버와 동일하게 가지고 있다. 이때, 웹 브라우저에서 세션값은 쿠키에 담아서 가지고 있고, 서버는 세션값을 그대로 가지고 있다. 이때, 만약 웹 브라우저에서 위처럼 쿠키에 들어있는 세션값을 조작한다면 서버에서는 해당 세션을 사용할 수 없는 세션 값으로 판단한다. 추가로, 로그아웃 등에서 자주 사용하는 session.invalidate()는 세션을 제거하는게 아니라, 세션을 사용할 수 없는 값으로 지정한다고 알고 있으면 된다. 2023. 1. 24.
[JSP] forward 와 sendRedirect의 차이 간단하게 요약하면, forward는 request(요청) 이고, sendRedirect는 response(응답)이다. forward나 sendRedirect는 주로 컨트롤러나 index 페이지에서 사용된다. String strPath = "/WEB-INF/view/list.jsp"; Request dispatcher = request.getRequestDispatcher( strPath ); dispatcher.forward( request, response ); ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ String strPath = "/WEB-INF/view/list.jsp"; response.sendRedirect( strPath ); 우선, request가 forward 되는 상황을 이.. 2023. 1. 24.