자바웹프로그래밍 13

[자바웹프로그래밍] 프로필 구현,지도서비스 구현

프로필 구현을 해보겠다. 먼저 index_login.html을 수정해준다. 네비게이션에서 프로필칸을 만들어주고 profile.html을 주소로 넣어주고 만들어준다. index_login.html의 구조를 가져와 바디쪽에 https://mdbootstrap.com/docs/standard/extended/profiles/ Bootstrap Profile - free examples, templates & tutorialResponsive profile pages and cards built with Bootstrap 5. User profile card, profile picture, followers, avatars, comments, social stats, edit profile form.mdboot..

[자바웹프로그래밍] 모듈화,회원가입 만들기

모듈화는다음과 같이 스크립트 파일을 하나씩 연동해줘야하는걸 스크립트 파일 하나로만 모든 스크립트를 불러올 수 있게하는 기능이다.먼저 js_login.js 를 제외한 나머지를 주석처리한다. (!! 스크립트 타입을 module로 바꿔줘야한다.) 그리고 js_login.js 최상단에 다음과 같이 추가해준다.{}안에 있는 것들은 각 js파일에 있는 함수이다. 사용할 함수만 적어주면된다.이렇게 스크립트 파일 하나로만 다 불러오는걸 볼 수 있다. 근데 이런 오류가 생긴다. onload보다 먼저 실행되기때문에 이러한 오류가 발생한다. 기존 바디태그에 있는 onload를 삭제한다.init() 함수 아래에 다음과 같은 코드를 추가한다. DOMContentLoaded는 DOMTree에서 먼저 실행한다. !!!여기서 주의..

[자바웹프로그래밍] 암호화,JWT 보안토큰

안전한 데이터 저장을 위해 암호화 구현을 해보겠다. https://cdnjs.com/libraries/crypto-js crypto-js - Libraries - cdnjs - The #1 free and open source CDN built to make life easier for developersJavaScript library of crypto standards. - Simple. Fast. Reliable. Content delivery at its finest. cdnjs is a free and open-source CDN service trusted by over 12.5% of all websites, serving over 200 billion requests each month, ..

[자바웹프로그래밍] 쿠키(ID저장) , 세션 , xss 공격 팝업이 계속해서 뜬다면?

지난 글에 popup에 대한 쿠키를 했다면 이번엔 로그인 폼에서 ID저장을 해보겠다. 먼저 로그인 폼에 아이디 저장 체크박스를 만들어줄 것이다.비밀번호를 잊으셨나요? 아래에 다음과 같은 아이디 기억 코드를 작성한다.그럼 이렇게 기능이 없는 빈 체크박스가 만들어진다. 그럼 id가 저장되는 기능을 구현해보겠다. js_login.js으로 넘어가 check_Input 함수 최상단에 다음과 같은 변수를 넣어준다. ( html에 구현한 체크박스를 가져옴. ) 그리고 최하단 submit()이전에 다음과 같은 코드를 넣어준다. 저번에 만들었던 setCookie 함수를 통해 쿠키를 저장하는 과정이다. 이제 기존에 만들었던 js_popup.js에서 set,get 쿠키 함수들을 가져와서 적용한다. 여기서 주의해야할점은 기존..

[자바웹프로그래밍] 로그인 폼,쿠키

아이디,비밀번호 입력창에 스크립트가 들어가면 그 스크립트를 로그인되는 과정중에 읽어들인뒤 실행을 할 수 있다. 해킹 방법 중 하나인데, 이걸 방지하기 위한 XSS 방지 를 적용해보려고 한다. https://cdnjs.com/libraries/dompurify dompurify - Libraries - cdnjs - The #1 free and open source CDN built to make life easier for developersDOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. It's written in JavaScript and works in all modern browser..

[자바웹프로그래밍] 화살표 함수, 로그인 창 구현

화살표 함수란 무엇일까? 기존 함수 선언 방식인 function 키워드를 비교적 간결하게 만든 선언방식이다.js_popup.js 에서 예를들면 기존에 이렇게 함수 선언을 했다면,위와 같은 이미지로 하는게 화살표 함수이다. 화살표 함수의 장점은 간결하고 명확한 표현이다.단점은 new연산자 사용 불가능이다.(객체 생성 X) 다음은 로그인 창 구현이다. 먼저 기존의 메인html에서 검색하기 버튼 옆에 로그인 버튼 하나를 만들겠다.검색하기 아래에 다음과 같이 코드를 해주면위의 이미지처럼 상단에 로그인 버튼이 표시되는걸 볼 수 있다. 로그인 버튼을 눌렀을때, 새로운 창이 떠야하므로 popup.html을 만든것처럼 로그인폴더와 login.html을 생성해준다. 생성이 완료되었다면 부트스트랩에서 디자인을 가져올 것..

[자바웹프로그래밍] 데이터 타입,자료구조 MAP과 SET

데이터 타입의 종류를 설명하자면 원시 , 참조 타입이 있다. 원시 타입은 쉽게 말해 하나의 정보를 저장하는 것이다.  let number =5;let str = "안녕" 이런 것처럼 말이다. 참조 타입은 두개 이상의 정보를 저장하는 것이다. 이제 실제로 작성해보겠다. 먼저 js_data.js 파일을 만들어준다.추가로 다음과 같은 코드를 짜고 메인 html에 스크립트를 불러주고 홈페이지 로딩후 개발자 모드로 콘솔에서 확인한다. 이렇게 콘솔에 보이는걸 볼 수 있다. 여기서 undefined 와 null의 차이가 있는데 undefined는 스크립트에서 자동으로 생성한 비어있는 값인데null은 직접 값을 부여한 것이다. 즉, 빈 칸을 그냥 빈 칸으로 둔 것과 빈 칸에 "없음"표시를 해둔 것이다. 다음은 참조 타..

[자바웹프로그래밍] 팝업창 기능추가와 이미지 호버 기능 만들기

팝업창에 시간을 보여주는 기능을 추가하겠다.js_popup.js 에 다음과 같은 코드를 작성한다. 시간을 보여주는 함수를 정의하고 여기서 Date()는 스크립트 안에 있는 시간을 확인할 수 있는 함수이다,아래 함수는 ID가 divClock인걸 divClock에 저장하는 것이다. 시간에 관한 함수들도 전부 스크립크에 내장되어있는 함수이다. 간단하게 해석하면 12시가 넘어가면 오후를 출력후 12시가 넘어간 시간에 -12를 해서 오후OO시로 출력하게하고 그게 아니면 오전으로 출력하게 만든다.  그리고 divClock.innerText = msg; 는 위의 결과값들을 divClock에 저장하는 것이다. setTimeout은 내장함수로 1000을 붙여 1초마다 갱신한다는 표시이다.   그리고 popup.html에..

[자바웹프로그래밍] JS, 검색 기능 만들기,간단한 팝업창 구현하기

몇가지 기능들을 구현할건데 이런 기능 처리는 대부분 .js파일로 구현해준다. 쉽게 말하면 핵심 로직을 구현하는 것이다.  어떤식으로 적용되는지 테스트를 해보겠다.그럼 js 폴더 - js_test.js 를 만들어보겠다.이렇게 만들었다면이렇게 코딩을 작성한다. 위의 코드를 설명하면 var는 변수 선언할때 사용하는 것이다. 이렇게 코드작성을 완료했어도 사이트에 바로 적용되는게 아니다. 메인 html에서 스크립트 파일을 불러줘야한다.  이걸 head 태그에 작성해준다. 그리고 사이트를 실행하고 F12를 눌러준다.그럼 위의 이미지처럼 개발자 창이 나올텐데 여기서 Sources를 들어가준다 그럼 이렇게 나오는데 이상하게 내가 작성한 js폴더와 파일이 보이지않는다. 왜그럴까? js파일의 이름이 잘못되었다. 이걸 다시..

[자바웹프로그래밍] 네비게이션 바 (부트스트랩) 가져오기

네비게이션 바를 알아보기전에. 우리는 부트스트랩이란걸 알아볼 필요가있다. 부트스트랩이란 뭘까?부트스트랩은 프론트엔드를 꾸밀 수 있는 툴킷 웹사이트이다.https://getbootstrap.kr/ Bootstrap강력하고 확장 가능하며 기능이 풍부한 프론트엔드 툴킷. Sass로 빌드 및 커스터마이징하고, 사전 빌드된 그리드 시스템 및 구성 요소를 활용하고, 강력한 JavaScript 플러그인으로 프로젝트에 생기getbootstrap.kr각종 여러가지 html 코드들이 적혀져있는 사이트라 사이트를 만든다면 참고할만한 사이트이다. 네비게이션 바그럼 네비게이션 바는 뭘까? 요즘 사이트를 보면 네비게이션 바가 없는 사이트는 찾아볼 수 없다.롤 화면을 예시로들면 맨 상단에 있는 창이다. 즉, 웹사이트에선 메뉴얼을 ..