전체 글
-
[Spring]@RequestParam으로 값 받아오기Spring 2023. 3. 20. 13:55
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] - HttpServletRequest에서의 getParameter()에 해당 - 메서드의 인자값으로 @RequestParam("가져올 데이터 이름") 데이터 타입 데이터 담을 변수 사용 - 아래에서 Model 객체를 사용하는 이유는 Model 객체를 통해 View로 값을 넘겨주기 위해 - 여기서 @RequestParam(name = "name", required = false) 대신 @RequestParam("name")까지만 입력해줘도 되지만 ?을 통해 name의 value를 넘겨주지 않는 경우 에러가 발생하므로 value가 없더라도 실행될 수 있도록 required 옵션 추가해 줌(required의 디폴트 == true == 값을 반드시 넘겨줘야 ..
-
[Spring]MVC와 템플릿 엔진Spring 2023. 3. 20. 13:48
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] - Movel, View, Controller - 과거에는 View와 Controller가 분리되어 있지 않아서 컨트롤러의 기능까지 View에서 작성 - 화면을 그리는 데에만 집중해야 함 - 비즈니스로직과 관련 있거나 내부적인 것 처리하는 것에 집중해야 함 *참고* hello! empty - 이전 강의를 듣던 중 태그 사이의 hello! empty를 왜 입력하는 것인지 궁금했는데 절대 경로로 접속했을 때 정적으로 표시되는 문자열이라고 함 -> 동적으로 실행되는 경우 text 안의 문자열로 치환 @GetMapping("hello-mvc") public String helloMvc(@RequestParam(name = "name", required = f..
-
[Spring]정적 컨텐츠Spring 2023. 3. 20. 13:22
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] - 1. 정적 컨텐츠 - HTML 파일을 웹 서버에 그대로 전달하는 방식 - 2. MVC와 템플릿 엔진 - 가장 많이 하는 방식 - HTML을 동적으로 바꾸는 것(서버에서 HTML을 바꿈) - 3. API - (json 형태로)클라이언트에게 데이터를 전달하는 방식 - 스프링 부트는 정적 컨텐츠 기능을 자동으로 제공함 - src/resources/static에 들어감 - 실행 과정 - 웹 브라우저로부터 localhost:8080/hello-static.html을 내장 톰캣 서버에 전송 -> 스프링 부트는 컨트롤러에서(컨트롤러가 가장 높은 우선순위 가짐) hello-static과 관련된 컨트롤러 있는지 확인 -> 컨트롤러 없다면 스프링 부트가 resour..
-
[Spring]빌드하고 실행하기Spring 2023. 3. 19. 21:24
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] - 실제 실행할 수 있는 파일 만드는 것(즉, 실행 가능한 독립적인 형태로 만드는 과정과 결과) - cmd 실행 -> cd 파일경로(폴더) -> gradlew.bat (결과적으로 .jar 파일 생성됨) https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소..
-
[Spring]View 환경설정Spring 2023. 3. 19. 20:06
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] - 도메인만 입력해서 들어오는 경우 표시되는 페이지 - src/main/resources/static/index.html - 정적 페이지 - 템플릿 엔진을 사용하면 동적페이지 만들 수 있음 - 웹 애플리케이션의 첫번째 진입점 - 사용자가 화면(View)에서 입력 또는 이벤트 발생시켰을 경우 그에 맞는 화면이나 비즈니스 로직(Model) 실행할 수 있도록 업데이트 해주는 역할 담당 - 컨트롤러의 역할 - 1. Data receive - 2. Interpret - 3. Validate input data - 4. Update View - 5. Modify Model - 단순히 말해서 컨트롤러는 Model와 View를 이어주는 다리 역할이라고 보면 됨 - ..
-
[Spring]라이브러리 살펴보기Spring 2023. 3. 19. 19:19
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] - 프로젝트의 External Libraries - 가져온 라이브러리 저장 ※실제 현업에서는 System.out.println() 쓰지x -> Log 사용(로그 관리+에러 관리 가능)※ - spring-boot-starat-tomcat(톰캣 == 웹서버) 라이브러리와 spring-webmvc(스프링 웹 MVC) 라이브러리 포함 - 타임리프 템플릿 엔진(View) - 스프링 부트 + 스프링 코어 + 로깅 - spring-boot, spring-core, spring-boot-starter-logging, logback, slf4j 라이브러리 가져와짐 - junit - 테스트 프레임워크 - 기본 테스트 라이브러리 - mockito : 목 라이브러리 - a..
-
[Spring]스프링 프로젝트 만들기+분석Spring 2023. 3. 19. 18:43
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] - https://start.spring.io -> spring boot를 기반으로 스프링 프로젝트를 만들어주는 사이트 - Maven, Gradle - 필요한 라이브러리를 가져오고 라이프사이클을 관리해주는 툴 - 과거에는 Maven을 많이 썼지만 최근에는 주로 Gradle 사용 - 의존 관계 관리해주는 툴((ex)spring-boot-starter-web는 tomcat, spring-mvc와 의존관계가 있음 즉, starter-web 라이브러리는 tomcat과 spring-mvc 라이브러리를 필요로 함 -> 이러한 필요로하는 라이브러리를 가져오는 것이 의존 관계 관리) - Spring Boot 버전 선택 - SNAPSHOT : 아직 만들고 있는 버전 ..
-
[Java]자바 입출력(스캐너(Scanner), BufferedReader)Android/Java 2023. 3. 19. 15:19
[모든 포스팅은 개인적 공부를 위해 작성된 글입니다] - 자바 입출력 방법에는 대표적으로 Scanner와 BufferedReader가 있음 public class Main { public static void main(String[] args) { Scanner sc =new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt(); System.out.print(A+B); sc.close();//한 번 close 후에는 다시 Scanner 사용 불가 }//main } - 입출력 시 리소스를 많이 사용하여 성능 부하를 초래하므로 BufferedReader에 비해 매우 느림 - close() 하지 않아도 GC에 의해 자동으로 메모리 정리되지만, GC ..