전체 글94 [SPRING] 커맨드 객체 커맨드 객체란? 클라이언트가 전달해 주는 파라미터 데이터를 주입 받기 위해 사용하는 객체 Request 객체를 통해 전달 커맨드 객체는 HttpServletRequest 객체에 자동으로 담기고 jsp로 전달된다. 이 때, HttpServletRequest 객체에 저장되는 이름은 클래스의 이름으로 결정 예제 1)index.jsp 생성하기 data1 : data2 : 확인 2) 커맨드 객체 생성하기 public class DataBean { private String data1; private String data2; public String getData1() { return data1; } public void setData1(String data1) { this.data1 = data1; } publi.. SPRING 2021. 7. 20. [SPRING] View Resolver 뷰리졸버 Spring Framework의 작동 원리에 대해 다시 짚어보자면, 1.사용자의 요청을 Dispatcher Servlet이 받아들인다. 2.사용자의 요청정보를 분석해서 어떤 컨트롤러를 사용할 것인지 결정 3.해당 컨트롤러에게 사용자 요청에 대한 정보가 담겨있는 request객체를 전달 4.컨트롤러는 요청된 작업이 완료된 후 사용자에게 응답 할 뷰(jsp)를 완성하기 위한 정보와, 사용 할 jsp가 무엇인지에 대한 정보(=Request객체)를 ModelAndView 객체에 담는다. 5.ModelAndView를 전달받은 DispatcherServlet은 그 안에 들어있는 View Name을 추출해서 View Resolver로 전달 6.View Resolver는 그 데이터를 분석해서 해당하는 jsp를 선택 후.. SPRING 2021. 7. 19. [SPRING] 객체로 파라미터 주입 받기 -변수로 파라미터를 주입받을 경우 파라미터의 수가 많다면 비효율적이기 때문에 객체로 주입받아보자. Map으로 주입받기 클라이언트가 전달하는 모든 파라미터 데이터를 한번에 Map으로 받을 수 있음 단, 동일 명으로 전달되는 2개 이상의 파라미터는 한 개만 담기게 된다. 동일 명으로 전달되는 파라미터가 2개 이상이라면, List로 주입 받아야한다. 예제 1.index.jsp 생성하기 test1 get test2 get 2.Controller 생성하기 @Controller public class TestController { @GetMapping("/test1")//≪ public String test1(@RequestParam Map map, @RequestParam List data3) { String d.. SPRING 2021. 7. 19. [SPRING] 파라미터 추출하기 클라이언트 요청 발생 시 전달하는 파라미터 데이터를 손쉽게 주입받을 수 있도록 다양한 방식을 제공하고 있음 Spring MVC는 Servlet/JSP처럼 요청 방식에 따라 파라미터 추출하는 방식이 달라지지 않음(코드 동일) HttpServletRequest사용하기 SpringMVC는 필요한 객체나 데이터를 주입 받아 사용 Servlet/JSP에서 파라미터 데이터를 추출할 때 HttpServletRequest객체를 통하게 되는데, Spring MVC에서 이 객체를 주입 받아 사용할 수 있음 파라미터 추출 뿐 아니라 HttpServletRequest객체가 필요한 경우 사용하면 됨 예제 1. index.jsp생성 test1 get data1 : data2 : data3 : data3 100 data3 200 .. SPRING 2021. 7. 19. [SPRING] 요청 방식 @RequestMapping사용하는 방법 RequestMapping 어노테이션은 요청 주소 세팅 뿐만 아니라 요청 방식도 설정할 수 있다. -실습을 위한 jsp 세팅 test1 get test1 post test2 post -GET과 POST방식 둘 다 테스트 해보기 @Controller public class TestController { @RequestMapping(value = "/test1", method = RequestMethod.GET) public String test1_get() { return "test1"; } @RequestMapping(value = "/test2", method = RequestMethod.POST) public String test2_post() { return.. SPRING 2021. 7. 19. [SPRING] URL MAPPING Servlet/JSP URL 주소 사용자가 서버에 접속해서 서비스를 받기 위해 입력하는 주소를 URL이라고 부릅니다. URL주소는 여러 의미를 가지고 있는 값들로 구성됩니다. 프로토콜://도메인주소(IP):포트번소/경로1/경로2/.... -프로토콜 : 서버와 클라이언트 간의 통신을 위한 약속 (생략 시 http) -도메인 주소(IP주소) : IP 주소는 같은 네트워크 망에서 컴퓨터를 구분하기 위해 제공되는 숫자로 구성된 고유 주소 -포트번호 ㅣ 1부터 65535번까지 구성된 숫자 / 컴퓨터내에서 프로그램을 구분하기 위해 사용 (생략 시 80) -SERVLET/JSP에서 첫 번째 경로는 ContextPath라고 부른다. 하나의 서버에서 각 웹 애플리케이션을 구분하기 위해 지정되는 이름이며, 폴더의 이름이 .. SPRING 2021. 7. 19. [SPRING] Spring 프로젝트 세팅하기 1. 프로젝트 생성하기 (File > New > Dynamic Web Project) 2. Maven 프로젝트로 변경 (프로젝트 > Configure > Convert to Maven Project) 3. pom.xml에 라이브러리 세팅 (servelt-api, jsp-api, jstl, springWebMVC) 4.0.1 2.3.3 1.1.2 5.3.8 javax.servlet javax.servlet-api ${javax.servlet-version} provided javax.servlet.jsp javax.servlet.jsp-api ${javax.servlet.jsp-version} provided javax.servlet jstl 1.1.2 org.springframework spring-we.. SPRING 2021. 7. 19. [Spring MVC] Spring의 동작 원리 Spring 이란? 경량 컨테이너로서 자바 객체를 직접 관리한다. 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다. 스프링은 Plain Old Java Object 방식의 프레임워크이다. 구현을 위해 특정한 인터페이스를 구현하거나 상속을 받을 필요가 없어 기존에 존재하는 라이브러리 등을 지원하기에 용이하고 객체가 가볍다. 스프링은 제어의 역행(IoC : Inversion of Control)을 지원한다. 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드를 호출한다. 스프링은 의존성 주입(DI : Dependency Injection)을 지원한다. 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 .. SPRING 2021. 7. 19. [MSSQL] 자동증가열(identity) 사용법 자동증가열(identity) 생성하기 CREATE TABLE [dbo].[테이블명]( [컬럼명] [숫자데이터형식] IDENTITY([초기값],[증가값]) [제약조건] ) GO Table Alter시 사용법 ALTER TABLE [테이블명] ADD [컬럼명] [숫자형 데이터형식] IDENTITY ([초기값], [증가값]) [제약조건] 자동증가열(identity) 사용하기 @@IDENTITY : 현재 세션의 테이블에서 생성된 마지막 id값을 반환 IDENT_CURRENT() : 임의 세션 및 범위에 있는 특정 테이블에 생성된 값을 반환 SCOPE_IDENTITY() : 현재 세션의 테이블에서 생성된 마지막 ID값을 반환 select @@IDENTITY ,IDENT_CURRENT('Table'), SCOPE_.. DATABASE 2021. 7. 16. [MSSQL, Oracle DB] 시퀀스 사용하기 시퀀스란? 유일(UNIQUE)한 값을 생성해주는 오라클 객체이다. 시퀀스를 생성하면 기본키와 같이 순차적으로 증가하는 컬럼을 자동적으로 생성 할 수 있다. (오라클 내부 루틴에 의해 생성되거나 증가 또는 감소) 보통 PRIMARY KEY 값을 생성하기 위해 사용한다. 시퀀스는 테이블과는 독립적으로 저장된고 생성된다. (따라서 여러 테이블에 동일한 시퀀스를 사용할 수 있음) 시퀀스 값을 메모리에 캐시하면 액세스 효율이 높아진다. CREATE SEQUENCE 문법 Oracle DB와 비교했을 때 sequence create 구문은 동일하다. CREATE SEQUENCE [시퀀스이름] INCREMENT BY 1 START WITH 1 MAXVALUE 100 CYCLE(또는 NOCYCLE) CACHE(또는 NO.. DATABASE 2021. 7. 16. 이전 1 ··· 5 6 7 8 다음