Java Category158 [Spring 입문] 회원관리 예제 - 웹 MVC 개발 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 홈 화면 추가 HomeController를 통해 html 연결하기 controller 패키지에서 HomeController 클래스를 하나 생성한다. @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } @Controller 어노테이션을 붙여준다. 그리고 @GetMapping을 통해 "/"를 연결시킨다. /은 도메인의 첫번째 주소를 말한다. 즉, localhost:8080/ 에 접속했을 때 이 메서드가 호출이 되는 것이다. 이후 return 값으로 home을 반환한다. 따라서 이 메서드가.. Java Category/Spring 2024. 1. 23. [Spring 입문] 스프링 빈과 의존관계 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 아래의 글에 연관이 있는 포스팅입니다. 2024.01.21 - [Java Category/Spring] - [Spring 입문] 회원 관리 예제 - 백엔드 개발 회원 가입하고 그 결과를 html을 통해 화면에 띄우려고 하는데, 그러러면 Controller와 View template가 필요하다. MemberController를 만들어서 사용해야 하는데, MemberController가 MemberService를 통해서 회원 가입을 하고, 데이터 조회를 해야 한다. 이런 것을 "MemberController가 MemberService를 의존한다" 라고 표현한다. 따라서 회원 컨트롤러가 회원서비스와 회원 리포지토리를.. Java Category/Spring 2024. 1. 22. [Spring 입문] 회원 관리 예제 - 백엔드 개발 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 비즈니스 요구사항 정리 데이터 : 회원 ID, 이름 기능 : 회원 등록(단, 중복 이름 허용X), 회원 조회 아직 DB가 선정되지 않은 상황 (가상의 시나리오) 일반적인 웹 애플리케이션 계층 구조 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현 (예를 들어 회원 중복 가입 허용 안됨과 같은 로직들 또한 비즈니스 도메인 객체를 가지고 핵심 비즈니스 로직이 동작하도록 구현한 객체) 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 (아직 DB가 선정되지 않은 상태로 가정) 도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 클.. Java Category/Spring 2024. 1. 21. [Spring 입문] 스프링 웹 개발 기초 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 웹을 개발하는 방법에는 크게 세 가지가 있다. 1. 정적 컨텐츠 (static contents) 서버에서 따로 가공을 거치지 않고 파일을 웹 브라우저에 그대로 보내는 방식이다. 2. MVC와 템플릿 엔진(template engine) 과거의 JSP, PHP 같은 것들이 template engine이다. 정적 컨텐츠처럼 html을 웹 브라우저에 그대로 보내는 것이 아니라, 데이터를 가공 해서 html을 동적으로 바꿔서 웹 브라우저에 보내는 일을 한다. 이런 방법을 사용하기 위해서는 Model, View, Controller가 필요한데, 이를 합쳐서 MVC라고 부른다. 정적 컨텐츠와의 차이점 html을 웹 페이지에.. Java Category/Spring 2024. 1. 20. [Spring 입문] 프로젝트 환경 설정 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 라이브러리 살펴보기 External Libraries Project 창에서 "External Libraries"를 찾을 수 있는데, 이 External Libraries를 보면 가져온 라이브러리들이 무엇인지 볼 수 있다. 해당 폴더를 펼치면 어떤 라이브러리들이 포함되어 있는지 알 수 있다. 하지만 항목들이 너무 많기 때문에 뭐가 뭔지 알기가 힘들다. 이럴 때에는 Gradle 탭을 활용하면 좋다. Gradle 탭 Gradle 탭의 Dependencies를 보면 선택한 라이브러리를 볼 수 있다. Denpendencies는 의존성이라는 뜻인데, gradle(maven)의 의존 관계를 관리해준다. Dependencie.. Java Category/Spring 2024. 1. 19. [Java] Arrays.sort(), Collections.sort() Comparator, Comparable Arrays.sort()와 Collections.sort() Arrays.sort()와 Collections.sort()는 Java에서 배열과 컬렉션을 정렬하는 메서드이다. Arrays.sort() Arrays 클래스에 속한 정적 메서드로, 배열을 정렬할 때 사용한다. 주로 기본 타입 배열(int, double)을 정렬하는 데 사용된다. 정렬 알고리즘으로는 기본적으로 퀵 소트(QuickSort)가 사용되지만, Java 7 이후로는 퀵 소트와 병합 소트(MergeSort)가 혼합된 팀소트(TimSort)가 사용된다. Arrays.sort()는 인자로 넘겨받은 배열을 직접 수정하며, 반환값은 void이다. int[] arr = {5, 2, 9, 1, 5}; Arrays.sort(arr); Collection.. Java Category/Java 2024. 1. 15. [Spring] 스프링 프로젝트 생성 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 개발환경 Windows 11 pro IntelliJ 23.3.2 JDK 17 작성일 24년 1월 환경 변수 설정 JAVA_HOME 환경 변수 - 시스템 변수 - 새로 만들기 시스템 변수 편집에서 변수 이름은 JAVA_HOME, 변수 값은 JDK의 설치 경로로 잡는다. 확인 버튼을 누른다. CLASSPATH 다시 시스템 변수에서 새로 만들기를 클릭한다. 변수 이름은 CLASSPATH, 변수 값은 %JAVA_HOME%\lib 로 설정한다. 확인 버튼을 누른다. Path 환경 변수 편집 시스템 변수 - Path - 편집 버튼을 눌러서 환경 변수 편집 창을 띄운다. 새로 만들기 버튼으로 %JAVA_HOME%\bin를 .. Java Category/Spring 2024. 1. 11. [JSP] JSTL(JSP Standard Tag Library) 실행환경 windows 11 pro IntelliJ : 23.3.2 Apache Tomcat : 9.0 JDK : 17.0.9 라이브러리 추가 JSTL이란 JSP Standard Tag Library를 뜻한다. 먼저 JSTL JAR 파일을 받아야 한다. 아래의 링크에서 다운로드를 진행해야 한다. https://mvnrepository.com/artifact/javax.servlet/jstl/1.2 빨간색으로 표시된 부분을 클릭해서 jar 파일을 다운로드 받자. 인텔리제이로 돌아와서 Project Structure를 클릭한다. modules - 해당 프로젝트 선택 후 오른쪽에 보이는 +(Add) 버튼을 클릭한다. 이후 JARs or Dircetories.. 버튼을 눌러서 아까 다운로드 받은 JAR 파일을 .. Java Category/JSP 2024. 1. 10. [JSP] IntelliJ에서 Servlet 생성 개발환경 windows 11 pro jdk : 17.0.9 Apache Tomcat : 9.0 intelliJ : 2023.3.2 프로젝트에서 new 를 할 때 서블릿 추가 버튼이 없는 사람을 위한 글이다. Servlet 생성 새로운 프로젝트를 생성한다. Add Frameworks Support에서 Java EE 에서 아래 부분을 체크하고 apply - ok 를 누른다. Project Structure - Libraries - +버튼 - From Maven을 누른다. 톰캣 9.0 기준 javax.servlet:javax.servlet-api:4.0.1 를 검색한다(오른쪽 검색버튼을 누르고 기다리면 됌) 프로젝트를 선택하고 ok를 누른다. servlet api가 추가된 것을 확인하고 apply - ok 버.. Java Category/JSP 2024. 1. 9. IntelliJ에서 Database(MySQL, Oracle) 연결하기 개발 환경 windows 11 pro jdk : 17.0.9 mysql : 8.0.35 oracle : 19.3.0 intelliJ : 2023.3.2 데이터베이스 연결하기 우측 상단의 톱니바퀴 모양을 클릭하고 Project Structure 클릭 Libraries - +버튼 - Java 클릭 JDBC가 있는 폴더에서 jar 파일 클릭 mySQL, Oracle 각각 JAR이 다르니 검색해서 버전에 맞는거 다운로드 하세요 프로젝트 선택후 ok 버튼 클릭 정상적으로 추가된 것을 확인했으면, ok 버튼이나 apply 버튼 클릭 이제 데이터베이스와 연결할 준비가 끝났다. 또 다른 방법 우측 끝에서 Database 아이콘 클릭 + 버튼 클릭 Data Source - 원하는 데이터 베이스 클릭 MySQL - MyS.. Java Category/기타 2024. 1. 9. IntelliJ Address localhost 1099 already in use 오류 해결 문제상황 이미 1099 포트가 사용되고 있다 (백그라운드에서 작동되고 있어서 그런 것으로 추정) 이클립스에서는 자동으로 종료가 됐는데, intelliJ에서는 그게 불가능한 것 같다. 문제 해결 cmd에서 아래의 명령어를 입력한다. netstat -ano| find "1099" 현재 1099 포트를 사용하고 있는 프로세스 PID가 우측에 나타난다. 문제의 PID는 12892 이제 작업관리자로 해당 PID를 검색해서 삭제해야 한다. 작업 끝내기를 누르면 해결 완료 Java Category/기타 2024. 1. 8. [JSP] IntelliJ 에서 JSP 개발환경 만들기 개발 환경 windows 11 pro jdk : 17.0.9 Apache Tomcat : 10.1.17 intelliJ : 2023.3.2 IntelliJ에서 JSP 개발환경 초기 설정 인텔리제이를 실행하고 프로젝트를 만든다. 우측 상단에 돋보기 버튼을 누른다. add framework support 를 검색하고 클릭한다. Java EE - web applition을 체크하고 Create web.xml 도 체크하고 ok를 누른다. 이후 우측 상단의 current file 의 드랍다운 박스를 눌러서 Edit configurations...를 누른다. 아래와 같은 화면이 나오면 왼쪽 상단의 + 버튼을 누른다. 이후 Tomcat Server - Local을 누른다. Application server에서 Con.. Java Category/JSP 2024. 1. 8. 이전 1 ··· 3 4 5 6 7 8 9 ··· 14 다음