Dorothy_YANG
With Dorothy
Dorothy_YANG
전체 방문자
오늘
어제
  • 분류 전체보기 (279)
    • Hi, I'm Dorothy 🕵️‍♂️ (21)
      • Slowly but Surely (18)
      • IT certifications (3)
    • 🤯TIL (80)
      • HTML & CSS (2)
      • Javascript & jQuery (13)
      • React (13)
      • C언어 (1)
      • JAVA (22)
      • Python (2)
      • Oracle SQL (10)
      • My SQL (5)
      • Spring (12)
    • 💻Programmers (17)
    • 🏫 Open API_JAVA (101)
    • 🌎 Project (10)
      • Shopping (10)
    • 💥 Error (24)
    • ⚙ Setting (23)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • 이것이자바다
  • 연습문제
  • 창초기화
  • 서버등록
  • SQLD합격
  • 파이썬온라인
  • SQLD합격후기
  • 노마드코더
  • HTML
  • Database
  • oracle
  • 콜라보레이토리
  • AllArgsConstructor
  • 기간설정
  • 독학후기
  • 시작일종료일
  • colaboratory
  • 백준
  • 오류해결
  • SQL
  • java
  • spring
  • 비쥬얼스튜디오코드
  • Javascript
  • 기간쿼리
  • googlecolaboratory
  • Eclipse
  • CSS
  • 코딩앙마
  • sql기간

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Dorothy_YANG
🏫 Open API_JAVA

[70일차] JSTL 라이브러리 / 기본이론 / 스프링 프레임워크 / CRUD 기능

[70일차] JSTL 라이브러리 / 기본이론 / 스프링 프레임워크 / CRUD 기능
🏫 Open API_JAVA

[70일차] JSTL 라이브러리 / 기본이론 / 스프링 프레임워크 / CRUD 기능

2022. 11. 4. 09:34
728x90

20221102(수)

  • 목차 
    - JSTL I18N태그 라이브러리
    - JSTL Functions 라이브러리
    - 기본이론 
    - 스프링 프레임워크
    - CRUD 기능

< JSTL >

  • JSTL(JSP Standard Tag Library) 은 표준 커스텀 태그(Custom Tag)
    커스텀 태그 : 사용자 정의 태그
  • JSP페이지의 로직을 담당하는 부분인 제어문 및 데이터베이스 처리 등을
    표준 커스텀태그로 제공하여 코드를 깔끔하게 하고 가독성을 좋게 함.


< JSTL I18N태그 라이브러리 >

  • 라이브러리
    : SQL(데이터베이스)
  • 제공기능
    : 로케일(사용자의 언어, 국가뿐 아니라 사용자 인터페이스에서 사용자가 선호하는 사항을 지정한 매개 변수의 모임), :
    : 메시지, 숫자 문자 형식 등

  • JSTL fmt 태그  리스트 
<fmt:requestEncoding> request.setCharacterEncoding()과 같은 역할, 즉 한글 인코딩! 역할
<fmt:setLocale> 다국어를 지원하는 페이지를 만들 경우 사용
ResourceBundle 로 불러오는 *.properties 파일들과 연계
<fmt:timeZone> 타임 존(Time Zone)을 적용할 때 사용
<fmt:setTimeZone> 특정 scope의 타임 존을 설정할 때 사용
<fmt:bundle> properties 확장자를 사용하는 자원 파일을 읽어오는 역할
<fmt:setBundle> 페이지 전체에서 사용할 수 있는 번들(bundle)을 지정하는데 사용
<fmt:message> <fmt:bundle>태그에서 정한 값들을 가져옴
<fmt:param> <fmt:message>태그의 서브태그
<fmt:message>태그에서 설정하지 않은 값을 설정
<fmt:formatNumber> 숫자 형식을 표현할 때 사용
<fmt:parseNumber> 문자열을 숫자로 변환 시에 사용
<fmt:formatDate> 날짜 형식을 표현할 때 사용
<fmt:parseDate> 문자열을 날짜로 변환 시에 사용.

 


< 기본이론 >

  • 프레임워크(FrameWork) 
    : 사전적 의미 : 툴
    : 구조가 설계가 되어있다.

  • 빌드(컴파일) 및 라이브러리 관리 프로그램

    (1) Maven(메이븐)
         : 스프링 프레임워크에는 메이븐이 포함되어 있다. 
         : pom.xml
         ➡ 프로젝트에서 사용하고 싶은 라이브러리 정보 명시.

         : maven repository 검색
           https://mvnrepository.com/

 

     로컬 컴퓨터 안의 스프링 프로젝트 maven-pom.xml에
     maven central site의 JSTL의 maven<dependency>에서 제공하는 무료제공 라이브러리가 들어감

     로컬 리포지터리 : 필요한 라이브러리들이 내 pc에 존재하는지 확인함

     존재하지 않으면 자동으로 네트워크를 따라 maven central site로 들어가
                                 jstl 안에 무료제공되는 라이브러리를 다운받아

                                로컬 리포지터리에 저장해서 프로젝트에 로딩시킨다!

 

     * 라이브러리를 자동화 관리함. ➡ Dependency 의존성

 

 

(2)  Gradle(그래들)

 

 


< 스프링 프레임워크 >

  • 설계구조
    - MVC 패턴으로 설계가 되어있다.
        M : Model -> 데이타소스와 로직
        V : view -> 화면
        C : controlelr -> 클라이언트의 요청담당
  • 예를들면, jsp파일안에 3가지 내용이 포함되어서 작업이 이루어졌다.

  • JSP 파일을 요청하는 것이 아니라, Controller 기능의 클래스를 만들고, 주소를 생성하여 요청을 받는다.
  • 톰캣 서비스가 시작되면, 기본주소(/)는 자동으로 호출된다.
  • jsp 파일 작업 시 톰캣 서비스는 중지 안해도 된다.

 

  • JSP 파일명 규칙
    - 메서드의 리턴값이 void일 경우에는 매핑주소가 파일명이 된다.
    - 메서드의 리턴값이 String일 경우에는 리턴값의 문자열이 파일명이 된다.
package com.demo.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller // 클래스는 클라이언트의 요청을 받을 수 있다.
public class SampleController {
// 로그 객체 : 위의 클래스가 동작시 로그로 사용하는 목적. 클래스명 동일해야 함.
private static final Logger logger = LoggerFactory.getLogger(SampleController.class);
@RequestMapping("doA") // 매핑주소 : 클라이언트에서 사용할 주소. 주소와 메소드명은 상관이 없다.
public void doA() {
logger.info("doA called...");
}
/*
매핑주소가 doA이고, 호출되는 메소드 void doA() 일때, 리턴값이 void이면, jsp파일명은 매핑 주소로 해야한다.
*/
@RequestMapping("doB") // 매핑주소가 jsp 파일명.
public void doB() {
logger.info("doB called...");
}
@RequestMapping("tA")
public String testA() {
logger.info("testA called...");
return "a"; // 리턴값의 문자열이 JSP 파일명.
}
}

 

실행결과

 

 


HomeController 

package com.demo.controller;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* Handles requests for the application home page.
*/
@Controller
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
/**
* Simply selects the home view to render by returning its name.
*/
// 톰캣 서비스가 시작되면, 기본주소인 "/" , http://localhost:8888 요청이 이루어진다.
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
logger.info("Welcome home! The client locale is {}.", locale);
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
model.addAttribute("serverTime", formattedDate );
return "home";
}
}


< CRUD 기능 >

  • Create(등록) : Insert문을 이용한 작업
  • Read(조회) : Select문을 이용한 작업
  • Update(수정) : Update문을 이용한 작업
  • Delete(삭제) : Delete문을 이용한 작업

 

728x90
저작자표시 (새창열림)

'🏫 Open API_JAVA' 카테고리의 다른 글

[72일차] 개발툴 / 스프링 프레임워크 / 마이바티스 / 스프링에서 bean생성하는 유형  (0) 2022.11.04
[71일차] JSON / 롬복 라이브러리 / 의존성 주입 / Spring-Test / MyBatis xml 파일 사용하기  (0) 2022.11.04
[69일차] 쿠키 / 표현언어 Expression Language : EL  (0) 2022.11.03
[68일차] session 객체 / application 객체 / 내장객체의 영역 / JSP 페이지의 모듈화 / 데이터베이스와 JSP의 연동  (0) 2022.11.02
[67일차] JSP 페이지의 디렉티브 / 스크립트 요소 / 주석 / 제어문 / 내장 객체  (0) 2022.11.01
  • < JSTL >
  • < JSTL I18N태그 라이브러리 >
  • < 기본이론 >
  • < 스프링 프레임워크 >
  • < CRUD 기능 >
'🏫 Open API_JAVA' 카테고리의 다른 글
  • [72일차] 개발툴 / 스프링 프레임워크 / 마이바티스 / 스프링에서 bean생성하는 유형
  • [71일차] JSON / 롬복 라이브러리 / 의존성 주입 / Spring-Test / MyBatis xml 파일 사용하기
  • [69일차] 쿠키 / 표현언어 Expression Language : EL
  • [68일차] session 객체 / application 객체 / 내장객체의 영역 / JSP 페이지의 모듈화 / 데이터베이스와 JSP의 연동
Dorothy_YANG
Dorothy_YANG
Slowly but Surely, 비전공 문과생의 개발공부

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.