![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/brstPF/btsDWtxoHRJ/EvMOkO2WQL7Vuh7oIhrY5K/img.jpg)
*각 Chapter 중복 제외 Chapter 3 MVC의 프로젝트 구조 더보기 1.ServletContext : 서블릿 하나가 서블릿 컨테이너와 통신할 때 사용하는 메서드들을 가지고 있는 클래스입니다. 2.RootContext : 모든 서블릿과 필터가 공유할 수 있는 루트 스프링 컨테이너 설정을 의미합니다. 공통 빈(Service, Repository(DAO), DB, Log 등)을 설정합니다. 3.@Controller : 클라이언트 요청을 처리할 자바 클래스를 의미합니다. @Controller가 있는 Class는 컨트롤러라는 것을 명시한다. 4.@RequestMapping은 설정된 파라미터와 같은 요청이 있을 때 관련 메서드를 실행하는 역할을 합니다. value는 파라미터 요청 URL이고, method..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dBQfpv/btsDY71ciHe/pFJsGlzDHbm3JpPRK9LNQK/img.jpg)
유효성 검사 유효성 검사 유효성 검사의 유형 @Valid를 이용한 유효성 검사 1.pom.xml 파일에 의존 라이브러리 등록하기 2.요청 처리 메서드의 매개변수에 @Valid 선언하기 3.뷰 페이지에 오류 메시지 출력하기 JSR-380으로 유효성 검사 JSR-380 애너테이션 선언 1.JSR-380의 기본 메시지 사용하기 2.사용자 정의 오류 메시지 설정하기 @Valid를 이용한 유효성 검사 태그로 오류 메시지 출력 JSR-380으로 유효성 검사 1.pom.xml 2.messages.properties 작성 Pattern.NewBook.bookId = 유효하지 않은 도서ID입니다.(숫자로 조합하고 ISBN으로 시작하세요). Size.NewBook.name = 유효하지 않은 도서명입니다.(최소 4자에서 최..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/baNHx1/btsDXajNN5K/VmBayB9g5aq0VmoG5GwR9k/img.jpg)
pom.xml 유효성 검사를 위해서 pom.xml에 javax를 등록하는 순간 빨간줄로 에러표시가 났다. 이후에도 java code에도 import가 되지 않는 문제가 발생해서 maven repository 사이트에서 1번 코드를 복사해서 붙여놨는데도 에러 코드가 발생했고, Project의 properties > Java Build Path > Libraries 에서 Classpath 쪽에서 Maven Dependecies에 이미 다른 validation-api가 1.1.0 버전으로 들어가 있어서 새로 코드를 등록하는 과정에서 충돌이 일어났다는 것을 알 수 있었다. 따라서 ClassPath란에 위 사진에 2번(jar)를 다운받아서 ClassPath란에 따로 삽입을 해줘서 해결을 했다.
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/kJ86r/btsDXAWq1xX/baGK3k2kEKDmTubkKAPVWk/img.jpg)
폼태그와 a태그는 각 목적에 따라 사용되는 태그입니다.Form태그사용자로부터 입력받은 데이터를 서버로 데이터를 전송하는 역할을 합니다. Name: Email: Submit위 데이터 입력을 받고 method 방식을 post방식으로하여 데이터를 전송합니다.(action에 지정된 url로 보낸다.) a태그웹페이지 간의 링크를 생성하거나 페이지 내부의 특정 위치로 이동하는 역할을 담당합니다.Visit Example WebsiteJump to Section 2 첫 번째 태그는 "https://www.example.com" 주소로 링크를 생성합니다.두 번째 태그는 현재 페이지 내부의 "section2" 위치로 이동하는 링크를 생성합니다.따라서, 폼 태그는 사용자 입력을 받아 서버로..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/8DhHI/btsDW6H4EYA/8yklHQYA69EwvFWDsr4nsK/img.jpg)
필터와 리스너는 모두 데이터 처리에 사용되는 개념을 말하는데, 각 목적과 작동 방식에 차이가 존재를 합니다.필터데이터 스트림에서 특정 조건에 부합하는 데이터만을 선별해 출력하는 것이 목적이고, 데이터가 입력되면 필터가 정의된 조건을 검사하고, 조건에 부합하는 데이터만을 출력을 합니다.import java.util.stream.Stream;public class FilterExample { public static void main(String[] args) { // 숫자 리스트 Stream numbers = Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // 필터링: 짝수만 선별 Stream evenNumbers = nu..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/vBDlF/btsDY8Fm7Ob/zMLB1JnhsPtzsPLTFgjABK/img.jpg)
이클립스 프로그램에서 JSP를 다룰 때 설정을 하는 web.xml 이나 스프링에서 Maven Project를 만들 때 만들어지는 pom.xml, servlet-context.xml, root-context.xml 등 xml이 뭘 뜻하는 지 문득 궁금해져서 찾아보게 되었습니다. xml(eXtensible Markup Language) : 확장될 수 있는 표시 언어 xml은 미리 정의된 태그(,, 등)를 사용해서 웹 페이지를 구성하는 HTML(Hyper Text Markup Language)과 달리 사용자가 직접 태그를 정의 할 수 있고, 데이터의 구조 및 의미를 나타내기 위해서 사용을 합니다. 주로 데이터 교환이나, 라이브러리 파일을 설정하거나 웹 서비스에서 데이터를 전송하기 위한 목적으로 활용이 됩니다...
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/qN63o/btsDXaQnelA/tEecDHXf4u3JB2z2UOVRX1/img.jpg)
로그 log4j.xml 파일 설정. log4j.xml 확인을 위한 jsp파일 설정(NewFile.jsp) 로그 테스트 중입니다. log/LogTest.java package log; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class LogTest { public static void main(String[] args) { String msg = "Hellog Log!!"; Logger logger = LoggerFactory.getLogger(LogTest.class); logger.info("test log"); logger.warn("test log : {}", msg); } } 다국어 처리 다국어 처리 MessageSourc..