전체 글
-
Class와 객체(Object)개인 공부/java 2021. 6. 8. 07:47
Class와 객체의 개념 Class는 건물을 지을 때 필요한 설계도와 같다. 그리고 객체(Object)는 설계도를 이용하여 완성된 건물을 의미한다. 즉 Class는 객체를 만들기 전 생성해놓은 java 소스로된 class로 정의한 파일을 의미하며 객체는 class로 정의된 파일을 통해 생성해낸 것이다. Class의 구조 클래스 헤더 [접근 제한자] [클래스 종류] class 클래스명 { } 다음과 같이 class를 정의할 수 있다. 접근 제한자에는 public, protected, default, private가 있고 클래스 종류로는 final, abstract과 생략시 일반 class가 존재한다. 멤버 필드 class 클래스명 { [변수] [상수] } 멤버 필드에는 변수와 상수가 존재하고 변수란 프로그..
-
spring[12] Servlet, jsp를 사용하여 웹 페이지 구현개인 공부/spring 2021. 6. 7. 22:00
기본 프로젝트 생성 간단한 회원가입 어플리케이션을 만들기 위해 Member class를 만든다. @Getter @Setter public class Member { private Long id; private String username; private int age; public Member() { } public Member(String username, int age) { this.username = username; this.age = age; } } Member 객체를 저장할 Repository를 생성하는데 실제 DB와 연결은 하지 않고 Map으로 휘발성 메모리로 사용한다. 하지만 일반 Map은 동시에 접속하여 사용했을때 문제가 되기 때문에 실무에서는 ConcurrentHashMap, Atomi..
-
spring[11] Servlet - response(응답)개인 공부/spring 2021. 6. 6. 09:40
HTTP 응답 메세지 생성 HTTP Response에서 우리가 해야할 작업은 HTTP 응답코드 지정 헤더 생성 바디 생성 편의 기능 제공 Content-Type 쿠키 Redirect 다음과 같다. 그럼 코드로 위의 작업들을 어떻게 수행하는지 확인해보자. import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ..
-
spring[10] Servlet - request(요청)개인 공부/spring 2021. 6. 6. 08:40
Servlet의 데이터 요청 방식 GET - query parameter url?name=이름&age=10 메세지 바디 없이 url의 쿼리 파라미터를 사용하여 데이터를 전달 검색, 페이징, 필터에 주로 사용됨 POST - Form content-type: application/x-www-form-urlencoded 메세지 바디에 쿼리 파라미터 형식으로 전달 회원가입, 상품주문, form 데이터를 전달 받을 때 사용 HTTP message body 주로 json 데이터를 전달 HTTP API에서 사용 GET - query parameter import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import java..
-
JVM이란개인 공부/java 2021. 6. 6. 07:56
java 소스가 class가 되는 과정 java 소스를 작성하여 실행이 되는 파일로 만드는 과정이다. java를 cmd창이나 터미널에서 실행해봤다면 javac를 통해 class파일을 만들어 본 경험이 있을텐데 개발툴로만 자바 소스를 접해본 사람은 이런 과정이 이해가 안될 수 있다. class파일을 만드는 이유는 개발자가 os를 신경쓰지 않고 java 코드로만 코딩했을 때 jvm이라는 것을 활용하여 os에 맞게 코드를 변형시키기 위한 과정 중 jvm이 java코드를 더 알아보기 쉽게 만들기 위한 작업이다. class가 os에서 실행되는 과정 이제 class파일을 만들었으니 java로 실행했을 때 java가 어떻게 처리해줄까에 대한 과정이다. class 파일을 Class Loader가 읽어들여서 java에서..
-
spring[9] Servlet - 서블릿의 구조와 정보개인 공부/spring 2021. 6. 5. 08:25
Servlet이란 서블릿이란 개발자가 HTTP 메세지로 통신할때 필요한 기본 과정들이 존재하는데 그 과정을 간소화 시켜주고 개발자는 핵심 비지니스 로직에 집중할 수 있게 도와주는 기능을 말한다. 서블릿이 없을땐 위의 삭제된 과정들을 개발자가 직접 코드로 만들어야하는데 우리는 서블릿을 사용함으로 이 작업들을 축소하고 핵심 비지니스 로직에만 집중할 수 있다. 그렇다면 이 서블릿은 누가 제공하는걸까? 서블릿은 was에서 HTTP 메세지를 받았을 때 서블릿 컨테이너를 통해 개발자가 요청과 응답을 사용하기 쉽게 만들어준다. 그럼 was에서 제공해주는 서블릿 컨테이너가 없다고 가정하고 코드로 한번 서블릿의 구조를 살펴보자 servlet을 직접 설정 servlet을 직접 구현할거지만 정말 옛날처럼 어노테이션의 도움 ..
-
java란개인 공부/java 2021. 6. 3. 07:31
java란 플랫폼의 독립성 java는 JVM(java virtual machine)을 활용하여 운영체제와 상관없이 java 프로그램을 실행시킬 수 있다. 객체지향 객체의 사전적 정의는 "주체에 대해 작용의 대상이 되는 쪽"이다. 너무 어려운데 예를 들어 백화점이란 큰 객체가 있고 백화점 안에는 여러 점포들이 있는데 이도 객체라 할 수 있다. 백화점 안에 점포들은 모두 똑같은 모양으로 점포의 이름만 변경하여 백화점에서 물건을 팔수 있다고 가정하자. 그럼 점포의 모양은 계속해서 반복해서 사용하면 된다. 이처럼 객체를 한번 생성하여 여러번 재활용하게 되는 상황을 객체지향이라고 한다. Garbage Collection (가비지 컬렉션) 자바의 큰 특징중 하나이며 C/C++같은 언어는 메모리에 무언가를 생성하면 ..
-
spring[8] web application 이란 (web server와 was)개인 공부/spring 2021. 6. 2. 22:02
Web Server (웹 서버) http 기반으로 동작 정적 리소스와 was에서 제공하지 않는 부가 기능들 제공 HTML, CSS, JS, 이미지, 영상 등 정적 파일 로딩 Apache, Nginx Web Application Server (웹 어플리케이션 서버) http 기반으로 동작 정적 리소스 제공 가능 프로그램 코드를 실행해서 어플리케이션 로직 수행 tomcat, jetty, undertow 웹 서버(web server)와 웹 어플리케이션 서버(was)의 차이 웹 서버는 주로 정적 리소스 제공을 담당하고 was는 어플리케이션 로직 수행을 담당한다. 현대에는 둘의 경계가 애매해짐. 그 이유는 was가 혼자서 web server의 기능을 커버할 만큼 컴퓨터의 성능이 향상되었기 때문 그럼에도 web s..