전체 글
-
JSP response 내장 객채(Implicit Object)TIL(Today I Learned) 2022. 9. 25. 23:10
response란? 클라이언트의 요청의 결과를 웹브라우저로 보내는 역할을 하는 내장 객체입니다. 주요 기능으로는 redirect와 HTTP 헤더에 응답 헤더 추가가 있습니다. response의 페이지 전환 예시 responseMain.jsp // 로그인을 예시로 리다이렉트 코드 작성 // responseMain.jsp 파일입니다. 리다이렉트 responseLogin.jsp // 로그인 처리 페이지 //responseLogin.jsp 파일 입니다. 로그인 처리 페이지 forward란? 명확하게는 getRequestDispatcher의 forward 메서드입니다. 선언 예시는 위에 나와 있습니다. forward 메서드는 리다이렉트와의 차이점을 알면 더 이해하기 쉽습니다. 결론부터 얘기드리자면 리다이렉트는 H..
-
절대 경로와 상대 경로TIL(Today I Learned) 2022. 9. 25. 22:30
절대 경로와 상대 경로 절대 경로 어떤 웹페이지나 파일이 가지고 있는 고유한 경로를 의미합니다. 예를 들어 https://www.google.com 또는 C:home\image\dog.img 등 파일의 고유 주소를 모두 절대 경로라 표현합니다. 절대 경로를 기준으로 dog.img 파일을 사용하고 싶다면 라고 선언합니다. 상대 경로 폴더에 대한 경로 형식 부터 알아둡시다. (보통 최상위 폴더는 C: 입니다.) / : 가장 최상위 폴더 위치로써 'C:'를 의미합니다. ./ : 현재 폴더의 위치를 나타냅니다.(./dog.jsp라고 선언했을 때) C:home\image\dog.jsp (form 태그에서 action에 ./dog.jsp라고 선언했을 때 url의 결과는 action에 dog.jsp라고 선언한 것과 ..
-
동시성 문제란?/ JSP 지시어, 내장 객체의 간략한 설명TIL(Today I Learned) 2022. 9. 24. 21:44
동시성 문제란? 대략적으로 말하자면 멀티스레드의 전역변수의 특성이 일으키는 문제라고 설명할 수 있습니다. 멀티스레드는 하나의 프로세스에 여러 스레드를 번갈아가며 사용하는 방식입니다. 멀티스레드는 전역변수의 특성을 갖고 있기에 서로의 작업을 공유하고 있습니다 이러한 방식의 장점은 프로세스보다 context switching(작업 전환) 오버헤드가 적어 메모리 리소스가 상대적으로 적다는 것이지요. 하지만 단점도 존재합니다. 멀티스레드의 그 전역변수라는 특성이 하나의 프로세스의 스레드들끼리 같은 자원을 두고 경쟁하게 된다는 겁니다. 그것이 바로 "동시성 문제"입니다. 동시성과 병렬성의 차이 - 동시성 동시성은 실제로 동시에 일을 처리하지는 않고, 동시에 처리하는 것처럼 보일 뿐입니다. 싱글 코어에서 멀티 스레..
-
JSP와 Spring framwork의 차이/ 네트워크 통신 간략한 정리TIL(Today I Learned) 2022. 9. 22. 23:11
JSP와 Spring framework의 차이? 저는 어느순간 이런 의문이 들었어요. JSP도 프레임워크인가? 이 의문에 대한 해답을 알고 난 후로는 이런 궁금증을 가진 자신이 조금 부끄러웠지만요.. 그럼 둘의 차이를 가볍게 한번 살펴볼까요? JSP는 Java의 언어이다. 네 JSP는 Java의 언어입니다. 조금 더 명확하게 얘기하자면 JSP는 웹 프로그램에서 화면처리를 담당하는 언어입니다. 그리고 JSP는 스크립트 요소를 제공해요. 스크립트 요소란? 스크립트 요소를 처음 보고는 자바스크립트가 떠올랐어요. ㅎㅎ 하지만 그게 아니었죠 여기서 설명하는 스크립트 요소는 1. 선언부( 2. 스크립틀릿 3. 표현식 을 의미하는 것이었어요. 이러한 스크립트 요소가 화면처리를 동적으로 처리하는데 큰 몫을 한답니다. ..
-
JSP 커스텀 태그/웹 프로그램의 전반적인 흐름TIL(Today I Learned) 2022. 9. 20. 22:55
커스텀 태그란? 커스텀 태그란 사용자가 직접 태그를 설정하고 사용하는 태그를 의미하는데요~ 커스텀 태그 방식이 주는 장점은 꽤 많답니다 ㅎㅎ 커스텀태그가 주는 장점은? HTML에 스크립트 코드를 비교적 적게 사용할 수 있게 해줍니다.(프론트 개발자가 편리해집니다. 가독성과 유지보수성이 증가하거든요)(커스텀 태그는 HTML에 사용되는 자바코드 수를 줄여줄 수 있어요 왜냐하면 태그핸들러에 중복되는 자바코드를 정리하는 방식이기 때문에 여기에 포함된 자바코드를 수정할 땐 태그핸들러만 수정하면 되는거에요) 커스텀 태그 제작 후 다른 사용자에게 배포하여 공용으로 사용가능해요.(제작하고 함께 사용할 수 있어서 재사용성이 좋아요) 커스텀태그의 생성 흐름은? 1. 직접 사용자 태그를 처리하는 클래스를 만듭니다. (이러한..
-
JSTLJSP&Servlet 2022. 9. 19. 23:15
왜 JSTL을 사용해야 할까요? 웹 개발을 하시다보면 MVC 패턴을 한번쯤은 들어보셨을겁니다. 웹개발에서 아주 핵심적인 개념이기 때문이죠 ㅎㅎ 그렇다면 MVC는 무엇이고 왜 중요한걸까요? MVC에서 M은 Model을, V는 View를 C는 Controller를 의미합니다. 개발자들이 Model과 View와 Controller를 나눈 이유는 웹 개발에는 각자의 역할을 나눠서 분업을 하는데요 그 역할은 퍼블리셔, 프론트엔드 개발자, 백엔드 개발자, DB 설계자.. 등 꽤나 다양합니다. 이러한 역할의 분업을 더 수월하게 하기 위해 우리는 MVC 패턴을 이용하는 겁니다. MVC 패턴을 사용하면 분업이 수월해진다. MVC 패턴은 프론트엔드 개발자의 역할과 백엔드 개발자의 역할을 분리해줍니다. Java 진영에서는 ..
-
타입 오류 발생 시 에러 문장이 여러개가 나오는 문제 해결트러블슈팅 2022. 5. 31. 16:42
FieldError 메소드 사용 FieldError란? 지정된 필드(있는 경우)와 관련된 첫 번째 오류를 가져옵니다. 매개 변수: 필드 - 필드 이름 필드 - 특정 오류 또는 null을 반환합니다. 양식 @Nullable FieldError getFieldError(String field); 응용 FieldError priceError = bindingResult.getFieldError("price"); if( priceError==null && (item.getPrice() == null || item.getPrice() 1000000)){ bindingResult.rejectValue("price","range", new Object[]{1000, ..