본문 바로가기

프로젝트 & 실습/VarChar_JSP_ver_Proj10

[프로젝트] 반응형 중고차 웹 사이트 VarChar 프로젝트명 : VarChar MVC 패턴 기반 반응형 중고차 웹 사이트 ​ 개발환경 Eclipse - 로직/DB관리 VisualStudioCode - 웹 제작 Slack - 자료공유/회의록/버전관리 Discord - 회의 ​ https://github.com/hhyyyjun/VarCharProjectVer1 GitHub - hhyyyjun/VarCharProjectVer1 Contribute to hhyyyjun/VarCharProjectVer1 development by creating an account on GitHub. github.com 2023. 1. 10.
[프로젝트] 이메일 API 아이디 및 비밀번호를 잊어버렸을 때 이메일을 통하여 회원정보를 찾을 수 있도록 구현하였다. 비밀번호는 임의의 비밀번호를 발행하여 이메일로 전송하였다. 해당 API는 구글 API를 이용하였다. 본 포스팅은 프로젝트에 적용한 코드 설명이다.(API에 대한 자세한 사용방법은 맨 하단에 참고블로그 있음) ​ 이메일 API에 필요한 jar파일 jar 파일은 프로젝트 경로의 - src - main - webapp - WEB-INF - lib 폴더에 넣도록 한다. emailVO 이메일을 통하여 정보를 전송해야 하므로 email 변수에 대한 VO를 생성하였다. ​ 아이디 찾기 1. findAccount.jsp(아이디/비밀번호찾기 페이지) 아이디를 찾기 위해서 사용자의 '이름'과 '이메일'이 필요하도록 하였다. 웹 페이.. 2023. 1. 10.
[프로젝트] 문자 API 회원가입 시 문자 인증을 통해 가입할 수 있도록 하기 위하여 문자 API를 사용해보았다. 타이머를 생성하여 인증번호 전송 후 3분동안 인증할 수 있도록 하였고, 3분이 지나면 인증번호 확인 버튼을 비활성화 시키도록 작성하였다. ​ 문자 API 코드 및 키 발급 https://console.coolsms.co.kr/oauth2/login?message=%EB%A1%9C%EA%B7%B8%EC%9D%B8%EC%9D%B4%20%ED%95%84%EC%9A%94%ED%95%A9%EB%8B%88%EB%8B%A4&returnUrl=http%3A%2F%2Fconsole.coolsms.co.kr%2Fdashboard https://console.coolsms.co.kr/oauth2/login?message=%EB%A1%9.. 2023. 1. 10.
[프로젝트] 주소 API 회원가입 시 주소 정보를 저장하도록 하기 위해 다음의 주소 api를 사용하였다. ​ https://postcode.map.daum.net/guide Daum 우편번호 서비스 우편번호 검색과 도로명 주소 입력 기능을 너무 간단하게 적용할 수 있는 방법. Daum 우편번호 서비스를 이용해보세요. 어느 사이트에서나 무료로 제약없이 사용 가능하답니다. postcode.map.daum.net 카카오 주소 API CDN ​ 1. signup.jsp(회원가입 페이지) 버튼 클릭시 주소 검색하는 api가 실행되도록 하였다. 또한 주소 검색 후 본인의 주소를 클릭 시 주소 데이터가 들어갈 input 태그에 id명 addressinput을 부여하였다. ​ 상세 주소까지 적기 위해 input 태그를 사용하였다. 위에서 검색.. 2023. 1. 8.
[프로젝트] 아이디 중복검사 회원가입 시 동일한 아이디가 생성되는 것을 막고자 ID를 중복검사하는 기능을 구현하였다. ​ ​ 1. signup.jsp(회원가입 페이지) 중복확인 기능을 실행할 버튼 태그에 id명을 부여하였다. ​ 버튼이 클릭되었을 때 실행될 이벤트를 위해 id명에 대한 상수 idDoubleCheckBtn을 생성하였다. ​ DB에 데이터 존재유무를 확인하기 위해 ajax를 사용하였다. 서블릿을 사용하기 때문에 IDCheck 요청과 함께 mid 파라미터 값을 전송하였다. ​ 2. IDCheck.java(서블릿) IDCheck 요청을 받을 서블릿을 생성하였다. ajax로부터 mid 파라미터 값을 받아 VO 객체에 저장하고 DAO의 아이디 중복 메서드 check()를 통하여 DB에 중복된 아이디가 있는지 확인한다. 이후 j.. 2023. 1. 8.
[프로젝트] 정렬기능 추가&필터검색 후 필터검색 값 유지하기 필터 기능 외에 데이터들의 최신순/가격순/주행거리순/이름순에 대한 정렬 기능을 추가하였다. ​ 1. SearchVO.java 먼저 VO에 정렬 데이터가 저장될 변수를 추가하였다. ​ 2. filterSearch.jsp (filter.jsp 에서 파일명 변경됨) 정렬에 대한 select 태그를 사용하였고, 파라미터 값으로 받을 name명을 sort로 지정하였다. 또한 최신순/제목순/가격순/주행거리순에 따라 정렬할 예정이기 때문에 4개의 option 태그를 사용하였다. ​ 3. CarSearchAction.java option태그의 value 값을 받아 sort 속성명으로 저장하였고, VO에 존재하는 Check 객체에 저장하였다. ​ 4. SearchDAO.java 조건식에 따라 받아온 파라미터 값을 비교하.. 2023. 1. 8.
[프로젝트] 필터 검색을 통해 원하는 정보 출력하기(ft. FrontController) 프로젝트의 메인 기능인 필터 기능을 구현해보았다. 필터는 연료/지역/가격/주행거리/연식 총 5개의 카테고리로 분류하여 검색하도록 하였다. ​ 연료와 지역의 경우에는 각 항목에서 다중선택을 할 수 있도록 하였다. ​ SearchVO.java - 필터 검색에 필요한 데이터가 들어가는 곳 SearchDAO.java - sql문을 통해 필요한 데이터를 출력할 메서드 선언 CarSearchAction.java - FrontController를 통해 들어온 요청을 처리할 기능 및 출력할 데이터의 속성값 선언 FrontController.java - 사용자 요청이 들어왔을 때 해당 경로(action)로 이동 index.jsp - 처음 서버를 실행할 페이지 filter.jsp - 필터검색을 위한 html 구조 및 표현.. 2023. 1. 8.
[프로젝트] 리스너 서블릿을 활용한 데이터 크롤링 java만을 이용한 데이터 크롤링 https://hhyyyjun.tistory.com/238 [프로젝트] 데이터 크롤링(img 부분 업데이트) 프로젝트에 사용될 데이터를 크롤링하기 위해 여러 중고차 사이트를 참고하였음 but 대부분의 사이트에서 크롤링 시 크롤링을 못하게 막아두었고, 보배드림 중고차 사이트에서 유일하게 가능하 hhyyyjun.tistory.com 앞서 데이터 크롤링을 Java로 먼저 진행해보았다. 프로젝트에는 웹 실행 시 크롤링을 진행하여 데이터를 받아올 예정이므로 리스너 서블릿을 활용하였다. ​ 리스너 설정 웹 어플리케이션이 실행될 때 서블릿이 감지하고 동작하여 크롤링 메서드 실행 형광펜 - DB에 크롤링 데이터가 존재하는지 확인(바로 밑에 관련코드) ​ DB에 데이터가 존재하는지 확인.. 2023. 1. 8.
[프로젝트] 데이터 크롤링(img 부분 업데이트) 프로젝트에 사용될 데이터를 크롤링하기 위해 여러 중고차 사이트를 참고하였음 but 대부분의 사이트에서 크롤링 시 크롤링을 못하게 막아두었고, 보배드림 중고차 사이트에서 유일하게 가능하여서 진행하게 되었음 https://www.bobaedream.co.kr/cyber/CyberCar.php?sel_m_gubun=ALL&page=1&order=S11&view_size=70 사이버매장 | 보배드림 사이버매장 자동차 검색, 중고차 시세, 수입차, 국산차, 내차사기 www.bobaedream.co.kr 진행사항 - 먼저 java로직으로 데이터 크롤링 및 가공작업 추후에 리스너 서블릿으로 해당 크롤링 클래스를 호출하여 사용할 예정 ​ 총 크롤링할 데이터 상품 제목 상품 설명 연식 엔진 주행거리 가격 지역 이미지(U.. 2023. 1. 8.