목록전체 글 (191)
개발자 도전기
EL이란? Expression Language의 약자 JSP 2.0에서 새롭게 추가된 스크립트 언어 기존의 표현식() tag에서 업그레이드된 버전 (${정보}) JSP 내장객체 pageScope page 영역의 Attribute에 바인딩 된 객체를 참조하는 Map 객체 ${pageScope.속성명} requestScope request 영역의 Attribute에 바인딩 된 객체를 참조하는 Map 객체 ${requestScope.속성명} sessionScope session 영역의 Attribute에 바인딩 된 객체를 참조하는 Map 객체 HTTPSession 객체에 엑세스하고 클라이언트의 세션 데이터를 사용할 수 있다. ${sessionScope.속성명} applicationScope applicatio..
Redirect란? 사용자가 처음 요청한 URL이 아닌, 다른 URL로 보내는 것을 말한다 Spring에서 컨트롤러의 리턴값에 redirect: 키워드를 붙이면 3xx번대의 HTTP redirection 응답을 받았을 때 Location 헤더에 있는 값으로 다시 요청을 보낸다 @GetMapping("sub2") public String sub2() { // 리다이렉션 시 main22/sub1로 이동 return "redirect:/main22/sub1"; } RedirectAttributes 리다이렉트시 사용자가 기존에 요청했던 데이터는 사라진다. 따라서 리다이렉트가 되어도 데이터가 유지되려면 RedirectAttributes의 인스턴스에 데이터를 저장해주어야 한다 addAttribute 쿼리스트링을 통..

태그란? 사용자로부터 입력을 받고 서버로 전송하기 위해 사용된다 [ 속성(attribute) ] action : 사용자의 요청을 전송할 파일의 경로를 지정합니다. 생략할 경우 현재 페이지에 데이터를 전송한다 method : 입력받은 데이터의 전송방식을 결정한다 get 방식과 post 방식이 있다 get 방식 받은 파라미터를 url의 쿼리 문자열에 담아 서버로 전송한다 데이터가 url에 노출되어 보안에 취약하다 주로 데이터를 조회하기 위해 사용한다 psot 방식 파라미터를 HTTP 요청 본문에 담아 서버로 전송한다 URL이 노출되지 않아 보안에 이점이 있다 많은 양의 데이터를 보낼 수 있다 로그인 폼 제출, 회원가입 등의 요청에 사용된다 form 내의 이나 태그를 통해서 해당 태그 내의 데이터를 한꺼번에 ..

오늘은 오랜만에 프로그래머스 문제를 풀어서 풀이를 올려본다 https://school.programmers.co.kr/learn/courses/30/lessons/120808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 두 분수의 합을 구한 후 분자와 분모가 서로소인 기약분수가 되게 하는 문제이다. class Solution { public int[] solution(int numer1, int denom1, int numer2, int denom2) { // 두 분모의 최대공약수 구하기 int G = GCD(denom2, denom1); // 두 분모..
스키마(schema)데이터베이스의 구조를 정의하는 개념테이블을 포함한다// 스키마 생성하기CREATE DATABASE test1; SHOW데이터베이스 목록이나 테이블 목록을 보여준다SHOW tables; 테이블(Tables)데이터를 저장하는 데 사용하는 구조적 객체열(Column)과 행(Row)으로 구성되어 있으며 각 열은 특정 데이터 유형을 가진다# 행(records, data, row), 열(field, attribute, column)로 이루어져 있음# 새 테이블 만들기CREATE TABLE test1.test( id int, name varchar(20)); SELECT데이터 베이스 조회하기# 데이터베이스명.테이블명# * ..
PreparedStatement JDBC의 인터페이스 중 하나이다 SQL 쿼리의 일부를 동적으로 바꿀 수 있다 입력 매개변수를 안전하게 처리할 수 있다 - setString() 메소드 사용 Statement가 아닌 PreparedStatement를 사용하는 이유 인자값으로 전달이 가능하다 가독성이 높다 SQL Injection을 방지할 수 있다 PreParedStatement 사용 방법 쿼리문의 매개변수 자리에 ?를 넣어준다 String sql = """ SELECT * FROM Products WHERE ProductName = ? """; setString()으로 ? 자리를 매개변수로 대체한다 여기서 setString()의 첫번째 인자값은 ?의 순서, 해당 ? 위치에 대입할 값이다 Connection..
오늘은 핸들러에서 리다이렉트 결과를 반환하는 법과 데이터베이스를 활용해서 view에 출력하는 법을 배웠다 새롭게 배우는 개념들이 점점 쌓여가다보니 차근차근 배운 내용을 잘 정리해놓아야겠다는 생각이 들었다 오늘은 핸들러와 @Modelatribute에 대해 정리했다 2024.04.16 - [개발공부/Spring] - [Spring] 핸들러(Handler) - @RequestParam, @ModelAttribute [Spring] 핸들러(Handler) - @RequestParam, @ModelAttribute 핸들러란? 스프링에서 @Controller 어노테이션이 붙은 클래스를 컨트롤러라고 한다. 이 컨트롤러 안에서 요청을 처리하는 메소드가 핸들러이다 핸들러 매핑 @RequestMapping @Requess..
핸들러란? 스프링에서 @Controller 어노테이션이 붙은 클래스를 컨트롤러라고 한다. 이 컨트롤러 안에서 요청을 처리하는 메소드가 핸들러이다 핸들러 매핑 @RequestMapping @RequesstMapping 어노테이션을 사용하면 요청 uri을 핸들러에 매핑시킬 수 있다. // /sub7 경로 요청에 매핑 @RequestMapping("sub7") public void handler(){ } Http Method HTTP는 GET, POST, PUT , PATCH, DELETE 와 같은 요청 메소드를 가진다. 특정 요청 메소드에만 비즈니스 로직을 실행할 수 있도록 @RequstMapping에 설정할 수 있다. @RequestMapping(method = RequestMethod.GET) 와 같이 ..
오늘은 발표 준비를 하고 Lombok에 대해 정리했다 수업에서는 쿠키 활용과 http 메소드에 대해 공부하고 이후에 db를 설치하는 시간을 가졌는데 짧은 시간에 많은 것을 배웠다는 생각이 새삼 들었다 2024.04.16 - [개발공부/JAVA] - [JAVA] LOMBOK [JAVA] LOMBOK Lombok이란 Java 라이브러리로 반복되는 getter, setter, toString 등의 메소드 작성 코드를 줄여주는 기능을 한다. Model에서 자바빈의 property를 생성하기 위해 getter, setter 메소드를 모두 작성해야 하는 번 abc-datatype.tistory.com
Lombok이란 Java 라이브러리로 반복되는 getter, setter, toString 등의 메소드 작성 코드를 줄여주는 기능을 한다. Model에서 자바빈의 property를 생성하기 위해 getter, setter 메소드를 모두 작성해야 하는 번거로움을 줄여준다. @Getter @Setter @Getter는 get 메소드, @setter는 set 메소드를 자동 생성한다 클래스 이름 위에 적용시키면 모든 변수들에 적용이 가능하고, 변수 이름 위에 적용시키면 해당 변수들만 적용된다 @Getter public class JavaBean{ @Setter private String name; private String company; private String city; } @AllArgsConstruct..