초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 커맨드 객체의 값 검증과 에러 메시지 처리 chap 11에서 작성한 회원 가입 예제 코드는 동작은하지만 비정상 값을 입력해도 동작하는 문제가 있다. 입력한 값에 대한 검증 처리를 하지 않는다. 또한 중복된 이메일 주소를 입력했을 때 가입 실패 이유도 알려주지 않는다. 스프링은 이 두 가지 문제를 처리하기 위해 다음 방법을 제공하고 있다. - 커맨드 객체를 검증하고 결과를 에러 코드로 저장 - JSP에서 에러 코드로부터 메시지를 출력 ( 태그를 사용 ) 커맨드 객체를 검증하고 결과를 에러 코드 지정하기 스프링 MVC에서 커맨드 객체 값이 올바른지 검사하려면 아래 두 인터페이스를 사용한다. - or..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) chap 11에서 만든 회원가입, 설문조사 뷰는 JSP에 직접 문자열을 작성했었는데, 만약 문자를 변경해야 할 경우 각 폼을 출력하는 JSP을 모두 찾아 수정해야 하는 번거로움이 생긴다. 또는 다국어를 지원할 경우 각 언어에 맞게 문자열을 표시해야 하기 때문에 이 점도 고려해야 한다. 이러한 문제를 해결하기 위해 chap 12에서는 문자열을 별도 파일에 작성하고 JSP 코드에서 값을 불러와 메시지를 출력하는 예제를 만들어보았다. 예제 프로젝트 만들기 (메이븐 기준) 예제 코드 sp5-chap12 프로젝트 폴더 생성 + chap11의 src 파일 복붙 + chap11의 pom.xml 복붙 후 12..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 이전 글에선 스프링 MVC로 main화면에서 회원 가입 → 가입 완료 후 → 메인화면으로도 돌아가는 것까지 만들어보았다. 이번 chap 11에서 서버에서 발생할 수 있는 오류들을 정리하고, 설문조사 페이지를 만들면서 모델처리를 하는 방법들에 대해 조금(?) 깊게 알아보았다. 예제 프로젝트 만들기 (메이븐 기준) 예제 코드 sp5-chap11 프로젝트 폴더 생성 프로젝트(sp5-chap11) 하위 폴더로 아래 폴더 생성 - src/main/java - src/main/java/webapp - src/main/java/webapp/WEB-INF - src/main/java/webapp/WEB-INF..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) chap11에서는 앞전에 간략하게 배운 ^^.. 스프링 MVC를 이용해서 본격적이지만 아주 간단한 회원 가입 예제를 만들 예정이다. @RequestMapping, 요청 파라미터 접근, 리다이렉트 등을 이용한 가장 기본적인 컨트롤러와 뷰 구현방법을 배우도록 하자. 책에 나와있는 순서대로 복습하면서 정리하는데 chap11이 길어서 나눠서 글을 올린다. 예제 프로젝트 만들기 (메이븐 기준) 예제 코드 sp5-chap11 프로젝트 폴더 생성 프로젝트(sp5-chap11) 하위 폴더로 아래 폴더 생성 - src/main/java - src/main/java/webapp - src/main/java/web..
람다 (Lambda) 메서드를 하나의 식으로 표현한 것 (≒ 함수 (메서드)를 간단히 표현하는 것) 메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로, 람다식을 '익명 함수'라고도 한다. 작성법 메서드 이름과 반환타입을 제거하고 매개 변수 선언부와 몸통 {} 사이에 '→' 추가한다. ※ 매개 변수 선언부의 타입을 일부만 생략하는 것은 허용되지 않는다. ※ 몸통 { } 안의 문장이 return 문일 경우 괄호를 { } 생략할 수 없다. // 기본 메서드 선언 반환타입 메서드이름 (매개변수 선언) { 문장들 } // 람다식 (매개변수 선언) -> { 문장들 } 예시 // 일반 메서드 int max(int a, int b){ return a > b ? a : b; } // 람다식 표현 (int ..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 스프링 MVC 프레임워크 동작 방식 1. 그림 10.1과 같이 요청 전송이 들어오면 DispatcherSerblet은 해당 요청을 처리하기 위한 컨트롤러 객체를 검색한다. → DispatcherSerblet가 직접 컨트롤러에 접근하는 게 아니라 스프링 빈 객체에게 검색 요청을 하는 것 2. HandlerMapping은 클라이언트 요청 경로를 이용해 처리할 컨트롤러 빈 객체를 DispatcherSerblet에 전달한다. (만약 요청 경로가 /hello이면 등록된 빈 중에서 '/hello' 요청 경로를 처리할 컨트롤러를 리턴한다) 3. DispatcherSerblet는 HandlerMapping이 ..
chap 09 예제 학습 중 예제에 나와있는 그대로 pom파일을 작성했는데 오류가 발생했다. 문제가 발생했던 war 설정 추가된 war 설정에 x표시가 떠서 [Run As] → [Maven clean] 실행 후 [Maven install]을 실행했는데 실패하고 아래와 같이 ERROR 문구가 Console 창에 떴다. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project sp5-chap09 Execution default-war of goal org.apache.maven.plugins:maven-war-plugin:2.2:war failed: Unable to load ..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 스프링 MVC 스프링 프레임워크가 제공하는 기능 중 MVC 기능은 웹 요청을 처리하기 위해 다양한 구성 요소를 연동한다. 이번 챕터의 목표는 최소한의 스프링 MVC 설정과 컨트롤러 구현, 이 컨트롤러 처리 결과를 보여줄 뷰 코트를 구현하면서 어떻게 동작하는지 알아보는 것이다 😮 스프링 MVC 동작 방식은 다음 챕터에서 자세히(?) 알아보자. 예제 프로젝트 만들기 (메이븐 기준) 예제 코드 sp5-chap09 프로젝트 폴더 생성 프로젝트(sp5-chap09) 하위 폴더로 아래 폴더 생성 - src/main/java - src/main/java/webapp - src/main/java/webapp/..
아파치 톰캣 ←공식 사이트 23.01.25 기준 톰캣 8.5.85 버전이 릴리즈됬다. 하단의 다운로드 클릭 아래 32-bit/64-bit Windows Service Installer 클릭 설치 프로그램을 실행하면 다음과같은 초기설정에서 Next > 클릭 ※ Manager는 사용하지 않을 것 같아 설치하지 않았다. 다음 설정 시 연결 Port 설정이 자동으로 8080으로 되어있는데 8090으로 변경해주었다. → 톰캣 외의 다른 프로그램에서 8080 포트를 이미 사용하고있어 동일하게 설정 시 포트가 충돌될 수 있기 때문에 변경해주었다. 이클립스의 [Windows] → [Preferences] → [Server] → [Runtime Environments] → [Add] 다음 창에서 [Apache] 디렉토리..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 트랜잭션 (Transaction) 두 개 이상의 쿼리를 한 작업으로 실행해야 할 때 사용하는 것 여러 쿼리를 논리적으로 하나의 작업으로 묶어준다. 한 트랜잭션으로 묶인 쿼리 중 하나라도 실패하면 전체 쿼리를 실패로 간주하고 실패 이전에 실행된 쿼리를 취소한다. 트랜잭션도 공통 기능 중 하나로 프록시를 통해 이루어진다. ※ 프록시 : 핵심 기능의 실행은 다른 객체에 위임하고 부가적인 기능을 제공하는 객체 트렌잭션으로 묶인 모든 쿼리가 성공해서 쿼리 결과를 DB에 실제 반영하는 것을 커밋(commit)이라고 한다. 쿼리 실행 결과를 취소하고 DB를 기존 상태로 되돌리는 것을 롤백(roll back)..
- Total
- Today
- Yesterday
- 한글 형태소 분석기
- API
- git공부
- 톰캣
- 웹페이지
- Java
- authenticate()
- django-environ
- Python
- python3
- 디자인 패턴
- django.contrib.auth
- 검색 결과 내 페이지네이션
- 암호화
- 회원가입
- path variable
- git 공부
- musma
- 회원 로그인
- 커맨드 객체
- 환경 변수 설정
- django
- git
- 혼자 공부하는 파이썬
- error: failed to push some refs to 'https://github.com/
- Spring
- 배열
- 면접을 위한 CS 전공 지식 노트
- Django tutorial
- Magazine K
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |