서버란 무엇인가

데이터를 요청하면 다시 그 데이터를 보내주는 프로그램

 

자 url을 통해서 내가 만든 페이지로 이동하는걸 만들어본다

src > main > java > com.apple.shop( 작명한거마다 다름 )

이곳에 우클릭 후

new > Java Class

 

이름은 BasicController 이름은 상관없다

생성 후 위에 @Controller를 작성하는데 하다보면 자동완성 밑에 뜨는데 엔터로 import 까지 해준다

 

 

@GetMapping("/about")
@ResponseBody
String about(){
    return "회사소개";
}

 

그 후 클래스 안에

@GetMapping("/원하는 url") : 여기서 localhost:port/원하는 url로 들어올시 이 메서드가 실행된다

@ResponseBody 는 문자를 입력한대로 html body에 담아 반환을 해준

String (기본적임) 함수명() {

   return "html파일에 적을 내용"; 리턴값안에도 태그를 사용해서 만들수도 있다 ex> return "<h3>굵은글씨<h3>"

}

+ 면접에서 굳이 왜 GetMapping을 쓰냐고 질문을 하셨었다 대답을 못했었는데

데이터를 변경하거나 삭제할 필요가 없이 조회만 한다

간결하고 가독성이 좋다인거 같다

더 공부해보다가 수정해야겠다

 

또 html 파일의 들어가는 내용이 엄청 많을텐데 return 값에 일일히 적는것이 힘들다

그러니 html 파일을 따로 만들어놓고 불러오는 방법도 있다

src > resources > static > 이름.html

만들어준다

그 안에 내용은 알아서 하고

 

다시 controller로

@GetMapping("/")
String hello(){
    return "index.html";
}

@ResponseBody 가 빠졌다

그 이유는 html 파일을 불러오는건데 또 html 바디에 담아서 반환하면 안되니까 빠져야한다

 

또 @GetMapping("/") 같은 경우는

아무것도 입력하지 않았을때 이 메서드를 실행한다

 

return 경로를 입력하는데

static을 기준으로 폴더가 생겼다하면 폴더명/index.html 경로를 따라서 적어주면 된다

 

그래서 localhost:8081 로 그냥 접속시

 

만들어놓은 html 파일을 반환한다

 

 

'SpringBoot' 카테고리의 다른 글

Azure (Database 호스팅)  (2) 2024.10.13
상품목록페이지 구현 (Thymeleaf)  (1) 2024.10.13
class, constructor  (1) 2024.10.12
변수, if, for, 함수  (0) 2024.10.12
개발환경 및 프로젝트 생성  (1) 2024.10.12

자바는 객체지향 언어이다

그래서 클래스들로 나눠서 관련된 변수와 함수만을 저장하게 한다

 

class 클래스명 {}

 

예를 들어 친구라는 클래스를 만든다

class Friend {
	String name = "Kim";
	int age = 20;
}

 

안에는 변수로 이름과 나이가 있다

 

new Friend();

 

기본적으로 클래스를 생성하는 법

근데 안에 있는 변수들을 활용하려면 이 클래스를 부르는거만 하는게 아니라

다시 변수에 담아둬야한다

 

var는 알아서 타입을 지정해주기 때문에 타입을 var

var friend = new Friend();

 

혹은 클래스 자체도 타입이 되기 때문에

Friend friend = new Friend();

 

이런식으로 변수에 저장해놓을 수 있다

 

@SpringBootApplication
public class ShopApplication {

	public static void main(String[] args) {
		SpringApplication.run(ShopApplication.class, args);
		Friend friend = new Friend();

		System.out.println(friend.name);
	}
}

class Friend {
	String name = "Kim";
	int age = 20;
}

 

이런식으로 다른 공간? 에 있어도 불러오는것으로 사용이 가능하다

콘솔에 프렌드의 이름을 출력하라 했으니

Friend 라는 클래스의 있는 name이라는 변수 "Kim"이 출력된다

 

만약 여러 정보를 저장해야되는데 나이는 같고 이름만 다른경우

클래스를 여러개 만드는 방법도 있겠지만

 

여기서 constructor(생성자)로 파라미터를 받아와서 사용할 수있다

무슨 말이냐하면

class Friend {
	
	Friend() {
		
	}
	
	String name = "Kim";
	int age = 20;
}

 

클래스 이름과 똑같은 함수 생성

 

class Friend {

	Friend(String name) {
		this.name = name;
	}

	String name = "Kim";
	int age = 20;
}

 

this.name은 현재 클래스에 변수를 의미한다 그리고 String name을 받아와서 현재 변수에 저장한다

 

Friend friend = new Friend("Oh");

System.out.println(friend.name);

 

클래스 생성시 파라미터를 입력

그 후 Oh로 입력해놓은 이름을 출력시


또 이름과 나이가 모두 다른 상황이라 다 다르게 설정해야한다면

파라미터 값을 여러개 입력하게 할 수 도 있다

Friend(String name, int age) {
    this.name = name;
    this.age = age;
}

 

Friend friend = new Friend("Lee", 25);

System.out.println(friend.name + friend.age);

파라미터 값으로 이름과 나이를 입력

 

 

'SpringBoot' 카테고리의 다른 글

Azure (Database 호스팅)  (2) 2024.10.13
상품목록페이지 구현 (Thymeleaf)  (1) 2024.10.13
웹 페이지 (Controller)  (1) 2024.10.12
변수, if, for, 함수  (0) 2024.10.12
개발환경 및 프로젝트 생성  (1) 2024.10.12

변수를 선언할 때는

 

타입 변수명 = 값;

ex>

int num = 2;
String name = "오혜준";

 

예외로 var로도 타입을 정해줄 수 있는데

알아서 타입을 정해준다 하지만 팀원이나 코드 확인시

가독성이 떨어지기때문에 타입을 정해놓는 편이 좋다


 

if문

if (조건) {

 실행할 코드

}

 

ex>

if (num > 1) {
    System.out.println(num);
}

 


for문

for ( 정수형 변수 선언; 선언한 변수가 얼마나 반복될지; 정수가 증가하는 값) {

 실행할 코드

}

선언한 i는 0이고 i가 1씩 증가하니 0부터 8까지(9까지로 조건이 설정되있기때문에 9가 되면 종료) 출력

for (int i = 0; i < 9; i++) {
    System.out.println(i);
}

함수 선언

 

메인이 아닌 클래스에 선언해준다

다시 재사용될 코드라면 함수로 선언하고 재사용 할 수 있다

 

리턴타입 함수명(매개변수) {

  실행할 코드

}

 

ex>

int plusNum(int a){
    return a + 1;
}

 

리턴값이 정수형이기때문에 int로 리턴타입을 정해준다

 

리턴 없이 그냥 실행만 할 함수라면

void 함수명() {} 으로 해주면 된다

 

또 해보면 이렇게 사용이 불가능한데

 

앞에 스태틱으로 메모리에 기억되게 해놓아야되기때문에 사용을 못한거다

'SpringBoot' 카테고리의 다른 글

Azure (Database 호스팅)  (2) 2024.10.13
상품목록페이지 구현 (Thymeleaf)  (1) 2024.10.13
웹 페이지 (Controller)  (1) 2024.10.12
class, constructor  (1) 2024.10.12
개발환경 및 프로젝트 생성  (1) 2024.10.12

인텔리제이로 사용

intellij community 검색후 다운로드

 

다운로드 후 프로젝트 생성을 위해

spring initializr 검색후 접속

설정같은 경우 똑같이 하고 오른쪽에 의존성 추가에

Spring Web, Spring Boot DevTools 추

GENERATE 로 다운로드 후  압축풀기

인텔리제이로 돌아가서 open 열기로 방금 압축 푼 파일을 연다

 

+ 한국어로 언어설정이 되있다면 영어로 바꾸는 법

파일 > 설정 > 플러그인에

언어팩들 체크해제 적용 확인 후 다시시작


파일 > Project Structure... 클릭

SDK 같은 경우 프로젝트 생성시

설정한 자바 버전 이상이어야 잘된다


파일 > 세팅 > gradle 검색

 

두 부분을 Gradle > Intellij IDEA 로 변경해준다

그래야 코딩하기 수월하다고함

또 설정을 하나 더 해야되는데

 

java compiller 검색후

파라미터 입력하는 곳이 있는데

-parameters 입력후 적용


플러그인에서 원하는 테마 적용 가능


메인에서 실행시 오류

 

jdk 관련문제인거 같아

project Structure 들어가서 다시 jdk 재지정해주니 실행은 되는데

 

port 8080이 사용중이라고 나온다

 

 

서버포트를 안쓰는 8081로 변경후 시작하니 잘된다

 

포트를 변경해줬으니 접속도

localhost:8081 로 접속해줘야한다

 

 

시작은 메인에 재생버튼 클릭

 

 

아직은 만들어둔게 없으니 404 페이지가 나오는게 정상

'SpringBoot' 카테고리의 다른 글

Azure (Database 호스팅)  (2) 2024.10.13
상품목록페이지 구현 (Thymeleaf)  (1) 2024.10.13
웹 페이지 (Controller)  (1) 2024.10.12
class, constructor  (1) 2024.10.12
변수, if, for, 함수  (0) 2024.10.12

+ Recent posts