Study📚 117

Spring - 스프링 프레임워크(Spring Framework)

- 프레임워크(Framework)란? 어플리케이션을 구현하고 관리하는 환경(틀, 약속, 뼈대, ...) - 스프링 프레임워크(Spring Framework)란? 스프링은 엔터프라이즈 어플리케이션 개발을 위한 어플리케이션 프레임워크이다. 어플리케이션 프레임워크는 개발을 빠르고 효율적으로 할 수 있도록 어플리케이션의 바탕이 되는 틀과 공통 프로그래밍 모델, API 등을 제공해준다. 스프링 프레임워크는 전달받은 설정 정보에 의해 어플리케이션을 구성하고 객체를 생성, 관리하는 주체이다. - 스프링 프레임워크의 핵심 개념 프레임워크는 어플리케이션을 구성하는 객체의 생성 방식과 동작 방식에 대한 틀을 제공하며 코드 작성에 대한 기준도 제시해준다. 이런 틀을 프로그래밍 모델이라고 하며 스프링은 세 가지 핵심 프로그래..

Study📚/Java 2024.01.09

JSP&Servlet - 게시판 페이징 처리 코드

public String paging(int currentPage, int totalPage, String listUrl) { StringBuffer strList = new StringBuffer(); int numPerBlock = 10; //-- 게시물 리스트 하단의 숫자를 10개씩 보여주겠다. int currentPageSetup; //-- 현재 페이지(단락) int page; int n; //-- 이전 페이지 블럭(& 다음 페이지 블럭) 과 같은 처리에서 이동하기 위한 변수 // 페이징 처리가 별도로 필요하지 않은 경우 //-- 데이터가 존재하지 않거나 데이터의 수가 1페이지도 못 채우는 경우 if(currentPage==0) return ""; // ※ 페이지 요청을 처리하는 과정에서 URL ..

JSP&Servlet - JSP 구성요소

1. 디렉티브(Directive, 지시자/지시어) 표현법 : 디렉티브(지시자)는 jsp 페이지의 설정 정보를 지정하고 클래스 속성을 변경하는 요소이다. 디렉티브는 page, include, taglib 총 세 가지 종류로 구성되어 있다. - page : jsp 페이지에 대한 기본 정보(속성)를 입력한다. page 디렉티브는 JSP 페이지와 관련된 속성을 정의하고 이 속성들은 웹 컨테이너에 정보를 제공한다. 해당 페이지의 처리 방법에 대한 정보를 알려주게 된다. 또한, 한 페이지에 page 디렉티브는 여러 번 등장할 수 있고 위치도 관계가 없다. 주요 속성 info 페이지에 대한 설명 language 스크립트 코드에서 사용되는 프로그래밍 언어 지정(기본값 : java) contentType 생성할 문서 타..

JSP&Servlet - JSP, Servlet 이란?

1. Servlet(Server + Applet) Servlet 이란 JAVA를 기반으로 동적인 컨텐츠를 생성하는 기술이다. 지금까지 (내가)공부한 html로는 동적인 웹을 만들 수 없다. (내가)html 문서를 동적으로 만들고자 한다면? 사용자가 접속하려고 할 때 우선 404 에러 띄워놓고 열심히 코딩해서 페이지 다시 만들고 입장시켜야 함... 완~~~전 아님!! JSP도 어떻게 보면 결국 Servlet 을 이용하여 쉽게 개발할 수 있도록 만든 '프로그램' 이기 때문에 둘을 완전 분리 할 수 없다. 둘을 같이 공부해봅씨다^^...

자바 - JDBC PreparedStatement, CallableStatement

- PreparedStatetment Statement 의 execute 메소드는 문자열로 구성된 SQL 구문을 DBMS로 전달하며 내부적으로 SQL 구문을 JDBC 드라이버가 읽을 수 있는 형식으로 전처리(precompile) 하게 된다.이후 드라이버는 DBMS 에 전처리된 요구사항을 전송하게 되는데, SQL 구문을 매번 전처리 과정을 거쳐서 전송하게 되기 때문에 반복적인 작업에서 속도가 느려질 수 있는 한계를 갖고 있다. 이에 반하여, PreparedStatement는 전처리된 Statement로 주어진 SQL 구문을 미리 전처리 과정을 거친 상태로 보관해 두기 때문에 반복적인 작업에 있어서 매우 유리하다. // preparedStatement 객체 생성을 위한 sql 문은 미리 준비되어야 한다. S..

Study📚/Java 2023.11.29

자바 - StringBuffer, StringBuilder

- ① StringBuffer String 클래스는 내부 문자열 데이터에 대한 수정이 불가능 하다. 즉, 문자열의 내용이 변경되면 내부 문자열이 변경되는 것이 아니라 새로운 객체를 생성한다는 것이다. 더보기 ex) String name = "이동욱"; name = name + " 잘생김"; --> 기존 String 객체의 데이터가 "이동욱 잘생김" 으로 수정되는 것이 아니라 String 객체가 아예 새로 만들어지는 것 String 문자열에서의 '+' 사용은 시각적으로 문자열 결합처럼 보이지만 내부적으로 StringBuffer를 생성하여 append() 메소드를 이용한 문자열 결합을 수행하게 된다. 따라서 동적인 문자열을 다루게 되면 StringBuffer 혹은 char[]를 사용하는 것이 효율적일 수 있..

Study📚/Java 2023.11.25

자바 - JDBC SELECT 쿼리문 날리기

SELECT 쿼리문을 날리는 과정까지는(SELECT 쿼리문은 executeQuery() 를 사용한다.) exeuteUpdate() 와 매우매우 유사하지만 쿼리문을 실행한 결과의 리턴값은 ResultSet 을 사용한다. 단, ResultSet 객체가 질의에 대한 결과물 모두를 한꺼번에 가지고 있는 구조는 아니다. 단지, 데이터베이스로부터 획득한 질의 결과물에 대한 관리가 가능한 상태가 되는 것이다. 그러므로 ResultSet 을 얻었다고 해서 데이터베이스와의 연결을 끊게 되면 ResultSet 객체는 더 이상 질의 결과를 관리할 수 없게 된다. → 반복문으로 객체에 저장 or 출력 해주자! public class Test { public static void main(String[] args) throws..

Study📚/Java 2023.11.21

자바 - JDBC INSERT 쿼리문 날리기, JDBC 프로그래밍 절차

Database 연결 객체 전용 클래스를 만든 후 쿼리문을 날려보아요... import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; import com.util.DBConn; public class Test { public static void main(String[] args) throws ClassNotFoundException, SQLException { Connection conn = DBConn.getConnection(); if (conn == null) { System.out.println("데이터 베이스 연결 실패~!!!"); System.exit(0); } try { Statement stmt ..

Study📚/Java 2023.11.20