개발자취

TIL | OpenAPI data기반 WebApp Project (2) 본문

개발/Dev | 웹개발

TIL | OpenAPI data기반 WebApp Project (2)

hnhnhun 2023. 8. 6. 02:51

본 글은 OpenAPI 데이터를 기반으로 WebApp을 생성하는 프로젝트의 과정을 담았다. 프로젝트 진행 과정을 정리한 글은 총 세 개의 글인 계획 및 Data 핸들링, 1차 기능 구현, 2차 기능 구현 및 검토로 이루어져 있고, 그 중에서 본 글은 1차 기능 구현에 해당한다.

 

들어가며

구현 과정에서 어떤 블로그를 참고했는지 노트해놓은 것을 정리해봤다. 프로젝트를 진행하는 순서에서 계획도 계획이지만, 구현이 제대로 이뤄지지 않으면 프로젝트 결과물이 나오지 않으니, 기간을 최대한 맞추기 위한 어떤 노력을 했는지를 중점으로 내용을 담아봤다. 구현 중에 발견한 사소한 이슈들을 어떻게 처리했는지도 중간에 담아봤다. 

 

구현 흐름

1. 프로젝트 생성

(1) Servlet 프로젝트 생성

https://suyeonchoi.tistory.com/33

 

[Intellij] Servlet 프로젝트 생성하기(JSP, Web Dynamic Project 생성하기)

Intellij 2020.3.2 버전 기준 (Ultimate긴하지만 Community에서도 가능) 인텔리제에서 이클립스와 같은 Dynamic Web Project를 생성하는 방법이다. 프로젝트 생성까지는 다른 블로그 글과 비슷한데 난 servlet생성

suyeonchoi.tistory.com

(2) Tomcat 설치

https://byounghee.tistory.com/224

 

Windows(윈도우) 에서 Tomcat 설치 및 실행 방법

Windows(윈도우) 에서 Tomcat 설치 및 실행 방법 이번 게시글에서는 파일 업로드 취약점 실습 시 필요한 환경 구축을 진행할 예정이며, Windows(윈도우)에서 Tomcat 설치 및 실행 방법에 대해서 알아본다.

byounghee.tistory.com

이 때, 고려해야할 사항은 다음과 같다.

  • JDK 버전 확인
  • Tomcat 서버 버전 확인

(3) Tomcat 로그가 깨지는 이슈 해결

https://atoz-develop.tistory.com/entry/IntelliJ-%ED%86%B0%EC%BA%A3-%EC%84%9C%EB%B2%84-%EB%A1%9C%EA%B7%B8-%ED%95%9C%EA%B8%80-%EA%B9%A8%EC%A7%90%EC%9D%84-%ED%95%B4%EA%B2%B0%ED%95%98%EB%8A%94-2%EA%B0%80%EC%A7%80-%EB%B0%A9%EB%B2%95

 

IntelliJ 톰캣 로그 한글 깨짐을 해결하는 2가지 방법

IntelliJ 톰캣 로그 한글 깨짐을 해결하는 2가지 방법 톰캣 서버를 실행하면 Output 창에서 로그를 확인할 수 있죠. OS 언어 설정이 톰캣 서버 언어설정이 맞지 않는 경우 한글이 깨져서 출력될 수 있

atoz-develop.tistory.com

 

2. 데이터 핸들링 하는 부분과 병합

- 라이브러리를 다운 받았는데도 에러가 날 경우 > WEB-INF 폴더의 lib폴더 내에 jar 파일 추가 > pom.xml에 dependency로  추가하면서 해결함.

- HTTPUrlConnection 한글 깨짐

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=bb_&logNo=222009164517 

 

[JAVA] HttpUrlConnection 한글 깨짐 해결

[JAVA] HttpUrlConnection 한글 깨짐 해결 원하는 페이지 주소를 직접 입력했을 때 한글이 깨지지 ...

blog.naver.com

 

3. WebServlet 사용

https://tomcat.apache.org/tomcat-7.0-doc/servletapi/javax/servlet/annotation/WebServlet.html

 

WebServlet (Servlet 3.0 API Documentation - Apache Tomcat 7.0.109)

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.

tomcat.apache.org

https://junho85.pe.kr/1488

 

간단한 servlet 프로젝트 만들기. tomcat9, servlet4. maven, IntelliJ

이번 글에서는 tomcat9와 servlet4를 이용한 간단한 프로젝트를 만들어 보려고 합니다. tomcat 버전과 servlet 버전의 관계를 확인하려면 http://tomcat.apache.org/whichversion.html에서 확인할 수 있습니다. 빌드

junho85.pe.kr

 

4. request, response 처리 

- Servlet doGet(),  doPost() 요청

https://crazykim2.tistory.com/740

 

[JAVA] doGet() / doPost() 정리 및 예제

안녕하세요. 이번 포스팅에서는 HttpServlet클래스의 doGet() / doPost()에 대하여 알아보겠습니다. doGet()? doPost()? doGet(), doPost()는 방식이 다를뿐 하는 역할은 같습니다. GET방식, POST방식 많이 들어봤을

crazykim2.tistory.com

 

5. Maven repository

https://mvnrepository.com/

 

6. Alert 기능

https://baytime0077.tistory.com/137

 

java(자바)에서 alert띄우기

java(자바)에서 alert띄우기 1.방법 if("NG"=="NG"){ response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); out.println(""); out.flush(); response.flushBuffer(); out.close(); } 기존방법을 사용할때 -java.

baytime0077.tistory.com


 

마치며

먼저 프로젝트를 초기 세팅은 매우 중요한 부분이라서 따로 정리해 두려고 하는데, 대략적인 흐름은 알고 그 흐름을 구체적으로 기록해두려고 한다. 그래서 글을 구체적으로 쓰는게 핵심이 아니라, 어떤 흐름으로 프로젝트를 진행하고 있는지를 반복적으로 학습하는게 중요해서 위 내용을 정리하며 복기할 수 있었다.

프로젝트 세팅 후에 기능 구현과 관련해서는 블로그 글을 참고하면서 git repo를 엄청 많이 찾아봤다. 키워드를 중심으로 찾아봤고, 찾은 repo에서 코드를 읽으며 구현 방식을 이해했다. 그리고는 구현된 기능을 참고하면서 내가 구현해야 할 요구사항에 맞게 응용했다. 이틀을 밤새기도 했고, 구현 방식이 이해되지 않아서 글, 영상 등을 가리지 않고 찾아봤다. 그래서 예상했던 날짜보다 좀 이르게 구현을 마치긴 했다. 하지만, 구현 중에 약간에 부족한 부분은 있어서 다음 구현 계획에 추가해서 진행할 예정이긴 하다. 짧은 시간에 많은 것을 만들어 낼 수는 있었지만, 완성도가 조금 떨어진 느낌이긴 하다.

어쨌든, 다음 주부터는 2차 구현이 진행된다. 2차 구현 때는 구현에 보완이 필요한 기능을 먼저 구현하고, DB를 MaridDB에서 SQLite로 교체한 뒤,입력되는 데이터들의 유효성 검사와 관련한 구현을 진행할 예정이다. 계획대로 잘 진행되도록 노력해봐야겠다.

7월말부터 8월 중순까지 진행되는 OpenAPI 프로젝트 일정

 

Comments