Server

Programming/React

[React] Spring Boot와 React를 연동하여 개발 환경 설정 및 Open API 조회

Back-End는 Spring으로, Front-End는 React 환경으로 개발 환경을 만들어 보도록 하자. 한 프로젝트 내에서 Spring으로 백엔드를 구축하고 React로 프론트엔드를 개발하는 방식은 백엔드와 프론트엔드를 동시에 관리하고 통합하는 편리한 방법이다. 이와 같은 구조를 사용하면 하나의 코드베이스에서 모든 업무를 처리할 수 있으며, 백엔드와 프론트엔드를 동시에 빌드할 수 있어 개발과 배포를 간편하게 관리할 수 있다. 하지만 이러한 구조에도 단점은 존재한다.🤔 React는 정적인 앱으로, 백엔드가 종료되어도 프론트엔드는 여전히 작동할 수 있다. 그러나 이러한 구조에서는 백엔드가 종료되면 프론트엔드도 동시에 종료되므로 전체 시스템의 안정성에 대한 리스크가 있다. 또한, 두 애플리케이션의 빌드가..

Programming/React

[React] Spring Boot와 React 프로젝트 Rest API 연동하기

Spring Boot와 React 프로젝트 간 Rest API를 연동하는 방법에 대해 알아보도록 하자. 이를 통해 백엔드와 프론트엔드 간의 통신을 설정하여 데이터를 주고받을 수 있다. 💡Spring Boot 프로젝트 생성 Spring Starter Project Spring Starter Project로 새로운 Spring Boot 프로젝트를 생성한다. 의존성 라이브러리로는 Spring Boot DevTolls, Lombok, WebSocket, MyBatis Framework, Oracle Driver, Thymeleaf, Spring Web을 추가하였다. 또는 Spring Initializr를 사용하여 새로운 Spring Boot 프로젝트를 생성하여 Import해도 된다. Application.jav..

Programming/AWS

[AWS] Spring Boot 웹 애플리케이션 AWS와 Mobaxterm으로 서버에 배포하기

AWS와 Mobaxterm을 사용하여 Spring Boot 프로젝트를 JAR 파일로 배포하는 과정을 처음부터 차근차근 기록해 보려고 한다. Spring Boot 프로젝트를 AWS에서 배포하는 방법이 처음에는 복잡해 보일 수 있지만, 익숙해지면 꽤나 간단한 작업이다. Gradle을 사용해 보기도 하고, WAR 파일로 내보내 보기도 하고, pom.xml 파일과 application.properties 파일을 계속 수정해 가면서 파일을 배포하기도 하면서 시행착오가 있었다. 만약 서버에 Spring Boot 프로젝트를 배포하는데 어려움을 겪고 있다면 이 글이 도움이 되길 바란다. 프로젝트 배포 단계 AWS EC2 인스턴스 설정 Spring Boot 프로젝트 빌드 MobaXterm을 사용한 웹 애플리케이션 배포 ..

Programming/JDBC

[JDBC] Statement: PreparedStatement, CallableStatement

🍁PreparedStatement Statement와 PreparedStatement 차이 Statement는 정적 SQL을 만들 때 사용하며, PreparedStatement는 동적 SQL를 만들 때 사용한다. 매개변수가 없으면 정적 쿼리, 매개변수가 있으면 동적 쿼리를 의미한다. 정적 쿼리와 동적 쿼리 정적 SQL String sql = "INSERT INTO tblAddress (seq, name, age, gender, address, regdate) VALUES (seqAddress.nextVal, 'Sopia', 21, 'f', '서울시 강남구 대치동', default)"; String sql = "INSERT INTO tblAddress (seq, name, age, gender, addre..

Programming/JDBC

[JDBC] Statement: Statement 기본형 (정적 SQL)

🍁JDBC 라이브러리 클래스 1. Connection DB에 연결 또는 종료한다. 2. Statement 모든 SQL을 실행하는 역할을 한다. 3. ResultSet 데이터베이스로부터 쿼리의 결과를 저장하고 조회한다. ResultSet 클래스는 Interator, 향상된 for문, 스트림, 커서와 비슷하다. Statement의 종류 1. Statement 기본형이다. 매개 변수 처리가 번거롭다. 안정성과 가독성이 낮다. 2. PreparedStatement 개량형이다. 매개 변수 처리에 특화되어 있다. 안정성과 가독성이 높다. 기존 Statement에 매개변수 처리 과정을 손쉽고 안전하게 할 수 있게 만든 게 PreparedStatement이다. 3. CallableStatement 개량형이다. 프로시저..

Programming/JDBC

[JDBC] DB 접속 및 오류 해결

🍁DB 접속 참조 변수 생성 및 import Connection conn = null; Connection으로 conn 참조 변수를 하나 만들고, java.sql 인터페이스로 import를 한다. 이제 연결 문자열(Connection String)을 만들어야 한다. 연결 문자열 (Connection String) DB 서버 접속 호스트명: 서버 IP or 도메인 주소 (localhost) 포트번호: 1521 SID: xe 드라이버: thin 사용자: hr 암호: java1234 String url = "jdbc:oracle:thin:@localhost:1521:xe"; String id = "hr"; String pw = "java1234"; 연결 문자열에는 DB 서버에 접속하는 모든 정보가 들어간다. ..

Programming/JSP

[JSP] EL (Expression Language), JSTL (JSP Standard Tag Library)

🍁EL (Expression Language) EL과 JSTL을 사용하면 구문이 단순해지고, 가독성이 향상된다. 이들은 서로 다른 기술이지만, 섞어서 사용한다. 슬로건은 "JSP에서 되도록 자바를 쓰지 말자!"이다. EL 표현식의 사용 ${} Expression()과 EL 언어는 완전히 다른 것이지만, 이름이 같다는 점에서 목적이 같다는 것을 알 수 있다. EL 언어는 기능을 대신하기 위해서 만들어진 언어이다. EL 표현식 a: b: c: EL a: ${a} b: ${b} c: ${c} 기존에 사용하던 표현식을 EL을 사용하여 바꿀 수 있다. 그런데 어떤 건 출력이 되고 어떤 건 출력이 안 된다. 왜 그런 걸까? EL의 목적 EL은 내장 객체(pageContext, request, session, app..

Programming/JSP

[JSP] 내장 객체의 생명주기 (scope)

🍁생명주기 내장 객체에 저장소를 제공하는데, pageContext, request, session, application 중에 어떤 것을 사용해야 하는지 의문이 생길 수 있다. 이때 내장 객체의 생명주기를 고려하면 된다. 내가 저장하고 사용할 데이터를 어느 기간 동안 사용할지에 대해 결정하고, 내장 객체가 어느 기간 동안 객체가 유지되는지에 대한 생명주기를 고려하여 일치하는 것을 찾는다. ex19_scope_1: 데이터 입력 페이지 ex19_scope_2: 데이터 수신 및 처리 페이지 각 방법으로 데이터를 전달하는 과정을 살펴보면서 내장 객체의 생명주기에 대해 알아보도록 하자. ex19_scope_1 실패 int a = 10; /* 자바로 페이지 이동 */ //response.sendRedirect("e..

Isaac-Christian
'Server' 태그의 글 목록