728x90
반응형

Kakao Developers

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

 

 

🔑 카카오 API를 위한 키 발급 받기

 

위 링크로 들어가서 카카오 계정으로 로그인을 해줍니다.

 

 

 

 

 

내 애플리케이션으로 들어와서 '애플리케이션 추가하기'를 누릅니다.

 

 

 

 

 

 

앱 이름을 본인이 알아보기 쉬운것으로 설정하고, 사업자명은 아무거나 적어도 상관없습니다.

 

 

 

 

 

 

 

애플리케이션을 추가했으면 플랫폼을 설정해줍니다. (제 키는 가려놨습니다)

 

 

 

 

 

 

원하는 플랫폼을 선택하고 플랫폼을 등록할 수 있도록 작업을 진행합니다.

 

Web의 경우에는 사이트 도메인을 입력해야합니다. 저는 localhost로 두었습니다.

 

 

 

 

 

 

 

 

 

사전 작업은 끝났습니다. 다음 포스팅에서는 간단하게 html에 지도를 띄워보겠습니다.

728x90
반응형
728x90
반응형

📄 enter값 DB에 저장하기

 

notice.getNotice_content().replace("\r\n","<br>")

 

notice.getNotice_content()는 jsp에서 받아온 문장값을 저장해둔 위치이다.

 

문장값을 가지고 있는 변수 뒤에 .replace("\r\n","<br>")을 사용하여 db에 직접 태그를 넣을 수 있도록 변경한다.

 

 

 

 

기존과 다르게 <br>태그가 들어간 것을 확인할 수 있다.

 

 

 

 

&amp;lt;적용 결과&amp;gt;

 

 

 

 

 

 

 

 

📑 <br> 저장된 문장 원래상태로 가져오기

 

notice.getNotice_content().replace("<br>","\r\n")

가져올때는 <br>과 \r\n을 치환해서 가져오면 된다.

&lt;변경된 모습&gt;

 

728x90
반응형
728x90
반응형

💊 sts 경로에 한글 이름 존재

 

 

sts의 위치 경로에 사진과 같이 한글이 포함되어있으면 작동하지 않는다.

 

 

 

 

 

 

sts.exe파일과 이름이 동일한 sts.ini 파일을 메모장으로 열어 확인해보면, 경로에 한글이 추가된 것을 확인할 수 있다.

 

 

 

해결법 : 경로를 모두 영어로 바꾸고 동일하게 맞춘다.

728x90
반응형
728x90
반응형

Download (projectlombok.org)

 

Download

 

projectlombok.org

 

 

📥 Lombok 설치

 

상단의 링크로 접속하여 Lombok을 다운로드 받는다.

 

 

 

 

 

다운로드 받은 lombok 파일을 실행한다. (jar 파일)

 

 

 

 

 

 

 

실행하면, sts IDE이 자동으로 찾아지는 경우도 있고, 해당 사진처럼 찾지 못한다고 뜨는 경우도 있다.

 

 

 

 

 

 

찾아지지 않는 경우에는 Specify location... -> SpringToolSuite.exe -> Select를 눌러 직접 지정한다.

 

 

 

 

 

 

 

추가되면 사진과 같이 IDEs에서 sts를 확인할 수 있다.

 

Install / update를 클릭하여 설치하면 된다.

 

 

 

 

sts.exe파일이 존재하는 위치로 들어가면, Lombok이 추가된 것을 확인할 수 있다.

 

 

 

 

 

728x90
반응형
728x90
반응형

📖 컨트롤러의 기본 사용

 

spring 프로젝트의 파일을 살펴보면 src/main/java 밑에 패키지가 하나 있는 것을 볼 수 있다.

 

 

 

 

 

동일한 위치에 controller만을 모아둘 수 있는 패키지를 만들고, 작업을 원하는 컨트롤러를 생성한다.(class 생성)

 

 

 

 

 

 

<FilmController.java>

package com.practice.fjdkslvn.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class FilmController {
	
	@GetMapping("/film") 
	public String filmList() {
		System.out.println("FilmController.test()실행");
		
		return "/WEB-INF/jsp/filmList.jsp";
	}
}

클래스 위에 @Controller 어노테이션을 작성하여 컨트롤러 작동이 가능하게 한다.

 

@GetMappint("/film") 어노테이션을 작성하여 '/film'으로 get 요청을 받았을 경우 처리할 수 있도록 filmList 메서드를 생성하였다. spring은 아주 편리하게도 return 값으로 jsp의 경로를 반환하면 자동으로 forward 해준다.

 

여기서, forward를 위해 return하는 jsp경로를 더욱 편리하게 반환하는 방법이 있다.

 

 

 

 

 

 

<FilmController.java>

@Controller
public class FilmController {
	
	@GetMapping("/film") 
	public String filmList() {
		System.out.println("FilmController.test()실행");
		
		return "filmList";
	}
}

- return값으로 jsp 이름만 반환하는 방법

 

 

@Controller
public class FilmController {
	
	@GetMapping("/film") 
	public void filmList() {
		System.out.println("FilmController.test()실행");
        // 반환값이 없으면 메서드 명을 사용하여 forward 진행
	}
}

- return값이 없기 때문에 메서드 명을 사용하여 forward가 진행되는 방법

 

=> 2개의 방법 모두 이전과 달리 /WEB-INF/jsp/.jsp를 생략하고 사용하는 방법이다. 다만, 이렇게 사용하기 위한 설정이 필요하다.

 

 

 

 

 

 

src/main/resources를 열면, 애플리케이션을 구동할 때 자동으로 실행되는 application.properties를 확인할 수 있다.

 

 

 

 

 

<application.properties>

#server config
server.port=80

# db config
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://localhost:3307/sakila (//호스트명:포트번호/DB)
spring.datasource.username=사용자명
spring.datasource.password=비밀번호

# jsp config
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

server.port=80을 통해 사용할 포트번호를 80으로 변경한다. 변경 전에는 보통 8080으로 설정 되어있는데, 80으로 변경하면 http://localhost:8080/film -> http://localhost/film 과 같이 간편하게 접근 가능하다.

 

본인은 mariaDB를 사용하기 때문에 관련 코드를 작성해주었다. 자신이 사용하고 있는 설정에 맞게 입력해주면 될 것 이다.

 

마지막으로 forward를 위한 jsp경로를 간단하게 return하기 위해 사용되는 부분이다. 여기서 prefix는 접두어로 사용되고 suffix는 접미어로 사용된다. 해당 설정으로 인해 간단하게 jsp명만 return하는 경우 "WEB-INF/jsp/리턴값.jsp"과 같은 경로로 forwarding이 진행된다. return값이 없어서 메서드명이 전달되는 경우도 마찬가지다.

 

 

 

 

 

 

이제 jsp를 만들어야 한다. 실제로는 webapp까지밖에 없을것이다.

 

webapp 밑에 WEB-INF파일을 만들고 그 아래에는 jsp를 모아둘 파일을 생성한 뒤, 원하는 jsp파일을 생성한다.

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>영화 목록 출력 예정</h1>
</body>
</html>

jsp화면은 간단하게 제목만 출력하도록 했다.

 

 

 

 

 

🎵실행

프로젝트 우클릭 -> Run As -> Spring Boot App을 클릭하여 서버를 실행한다.

 

 

 

 

 

 

localhost/film을 입력하여 get방식으로 요청하면, filmList.jsp가 forward되어 나오고 console에 컨트롤러가 실행되었음을 나타내는 system.out.print가 출력된다.

 

 

 

 

 

 

 

🔖<FilmController.java> =>  값 받는 방법

@Controller
public class FilmController {
	
	@GetMapping("/film") 
	public String filmList(int filmId, String title) {
		System.out.println("FilmController.test()실행");
		System.out.println("영화번호 : " + filmId);
		System.out.println("제목 : "+title);
		
		return "filmList";
	}
}

@GetMapping 어노테이션을 사용한 경우에 get방식으로 데이터를 전달하면, 메서드 입력변수로 해당 값들을 받을 수 있다.

 

 

위와 같이 ?filmId=1&title="강철의 연금술사" 값을 넘긴다.

 

 

 

 

 

console을 확인하면 값이 넘어온 것을 확인할 수 있다.

728x90
반응형
728x90
반응형

Spring | Tools

 

Spring Tools 4 is the next generation of Spring tooling

Largely rebuilt from scratch, Spring Tools 4 provides world-class support for developing Spring-based enterprise applications, whether you prefer Eclipse, Visual Studio Code, or Theia IDE.

spring.io

 

 

💾 Spring 환경설정

위 링크에 들어가서 해당 파일을 다운로드 받고 실행한다.

 

 

 

 

 

 

 

SpringToolSuite4를 더블클릭하여 이클립스를 실행할 수 있다.

 

 

 

 

 

 

 

 

프로그램을 실행한 후, Help -> Eclipse Marketplace를 클릭하여 마켓을 연다.

 

 

 

 

 

 

 

 

eclipse web 검색 -> Eclipse Web Developer Tools 3.23 설치

mybatis 검색 -> MyBatipse 1.2.4 설치

 

동의 또는 다음을 모두 누르고, restart now가 나오면 눌러주면 된다.

 

 

 

 

 

 

새로운 프로젝트를 생성하기 위해 New -> Spring Starter Project를 클릭한다. (없다면 Project에서 찾기)

 

 

 

 

 

 

java Version과 같은 설정등은 본인에게 맞는걸로 선택하고, package에는 Group + Artifact를 작성해준다.

 

Next를 누른 후, 그림과 같이 4개의 dependency를 선택한 후 Finish를 눌러 프로젝트를 생성한다.

 

 

 

 

 

 

 

 

		<!--  JSP -->
        <dependency>
           <groupId>org.apache.tomcat.embed</groupId>
           <artifactId>tomcat-embed-jasper</artifactId>
           <version>9.0.45</version>
        </dependency>
	    <!--  JSTL -->
	    <dependency>
	       <groupId>javax.servlet</groupId>
	       <artifactId>jstl</artifactId>
	       <version>1.2</version>
	    </dependency>

생성된 spring 프로젝트를 열고, pom.xml의 dependency안에 해당 코드를 넣는다.

 

JSP와 JSTL을 사용할 수 있도록 한다.

 

728x90
반응형

+ Recent posts