목록MVC (6)
[꼼꼼한 개발자] 꼼코더
🚨 문제 발생 [피파 프로젝트] 개발 도중 이상한 현상이 일어났었다 분명 엔드 매핑 주소(첫 요청 시작 주소)가 'users'로 설정하였는데 'user'로 첫 요청을 하여도 정상적으로 동작한다는 것이었다.. (aaa, bbb, adfdagb로 해도 전부 동일하다) 따라서 코드를 확인해 보았다. 😁 코드 확인(원인 발견) 이상한 점을 눈치챘는가..!?!? 그렇다.. '{}'를 붙여 놓은 것이었다.. 이렇게 되면 '변수'로 인식하여 아무런 단어가 들어와도 처리가 돼버린다.ㅠ 🧑🏻💻 해결 수정하였다.(매우 부끄러워지는 상황 하핳..)
👀 스프링 MVC 프로젝트의 기본 구성 스프링 MVC를 이용하는 프로젝트의 구성을 이해하는 것은 전체 데이터 흐름을 보는 것이다. 브라우저에서 전송한 데이터를 스프링 MVC의 어떤 단계를 거쳐 실행되는지 이해해야 문제 발생 시 빠른 대처와 대안을 찾을 수 있기 때문이다. 일반적인 웹 프로젝트는 3-tier(티어) 방식으로 구성된다. 🖥 Presemtatiom Tier(화면계층) 화면에 보여주는 기술을 사용하는 영역 예제에서는 Servlet/JSP나 스프링 MVC가 담당하는 영역 프로젝트의 성격에 맞춰 앱으로 제작하거나 CS(Client-Server)로 구성되는 경우도 있다. 이전 글들에서 스프링 MVC와 JSP를 이용한 화면 구성이 이에 속한다 👷🏻♂️ Business Tier(비즈니스 계층) 순수한 ..
🗳 파일 업로드 처리Controller의 많은 작업을 스프링 MVC가 처리하기 때문에 개발자는 해야 하는 역할에만 집중할 수 있지만.조금 신경써야 하는 부분이 파일 업로드 처리이다. 파일 업로드를 위해서는 전달되는 파일 데이터를 분석해야 한다Servlet 3.0 이후(Tomcat 7.0)에는 별도에 추가 라이브러리가 필요하지 않는다 하지만 ‘Spring Legacy Project’로 생성되는 프로젝트는 Servlet 2.5를 기준으로 생성되므로일반적으로 많이 사용하는 commons-fileupload 라이브러리를 추가하여 예제를 작성하겠다.👨🏻💻 파일 업로드 실습( commons-fileupload 라이브러리 사용)👨🏻💻 pom.xml 추가이후 파일이 임시로 업로드될 폴더를 upload/..
👀 라이브러리 살펴보기 build.gradle(사진 좌)를 보면 3가지의 라이브러리를(thymeleaf, web, test) 확인할 수 있다. 하지만 실제 라이브러리를 확인할 수 있는 External Libraries폴더에(사진 우) 들어가 보면려면 많은 라이브러리들이 보인다.내가 받아오지 않는 라이브러리들도 다수 확인 된다. 이유는 gradle이나 maven같은 build 툴들은 의존관계를 전부 관리해 준다.예시로 starter-web 라이브러리를 당겨오면 필요한 tomcat, spring web과 같은 필요한 다른 의존관계의 것들을 모두 당겨온다.요즘은 Web Application을 만들려면 많은 라이브러리가 필요하다. 💡 Gradle, maven 같은 툴들은 의존관계가 있는 라이브러리를 함께 ..
🙋🏻♂️ 생성한 프로젝트 속 폴더의 구성과 역할들을 알아보자 .idea : IntelliJ 에서 사용하는 설정 파일gradle/wrraper : gradle관련해서 gradle를 사용하는 폴더src/main/java : 실제 패키지와 소스파일이 담겨있다 .src/main/resources : xml과 html같은 설정 파일이 들어간다. src/test : 테스트 코드들과 관련된 소스들이 들어간다 요즘 개발 트랜드에서 중요하다. 🧱 bulid.gradle 폴더는?버전을 설정하기, 라이브러리를 내려받는 것. 예전에는 위 사진 속 코드를 하나하나 전부 코딩해야 한다. 현재는 spring.io 홈페이지에서 설정파일까지 제공이 된다 된다. 자세히 보면 프로젝트 생성때 선택했던 2.6..
🏃🏻 스프링을 가동하는 과정을 진행해보자1. hello.hellospring 아래에 controller라는 패키지를 생성한다.2. 그 아래에 HelloSpringApplication.java 클래스 파일을 생성해준다.3. 아래와 같이 코드를 작성 해 준다.4. main 메소드가 포함된 코드 줄의 [►] 버튼을 눌러 실행해 준다5. 아래에 메세지에서 스프링 부트 버전과 톰캣이 port 8080을 사용하고 있는걸 확인할 수 있다.6. 이제 Chrome(브라우저)을 연다7. 주소창에 localhost:8080을 입력 후 접속한다.에러메세지가 출력되는걸 확인할 수 있다. 이는 응답에 관한 기능이 없어서 나타나는 메세지이다. 서버를 끄고 새로고침 해보도록 하자.↩︎ 서버 종료 후 재시작1. 왼쪽 [■] 버튼을..