Web programming/Servlet & JSP9 [Eclipse] 한글 깨지는 현상 이클립스는 기본적으로 MS949 또는 EUC-KR로 인코딩이 설정되어 있기 때문에 UTF-8로 작업된 프로젝트를 Import를 하거나 UTF-8 텍스트를 읽을 때 한글이 깨지는 현상이 발생할 수 있다. 한글이 깨지는 현상을 잡기위한 방법을 알아보자. 프로젝트 폴더에 마우스를 우클릭하여 Properties(Alt+Enter)를 열고 Text file encoding을 UTP-8로 설정하거나 상단 Window > Preferences > Text file encoding을 UTF-8로 설정한다. (설정이나 환경에 따라 UTF-8이 되려 안될 수 있다. 그럴 경우엔 Text file encoding을 Default로 설정한다.) 언어 깨짐 오류 해결 2020. 6. 7. [톰캣 서버 에러] Could not publish server configuration for Tomcat v9.0 Server at localhost. error Could not publish server configuration for Tomcat v9.0 Server at localhost. Multiple Contexts have a path of "/". 톰캣 서버를 실행하고자 할 때 에러가 나서 작동하지 않는 상황이라면 Servers → Tomcat Sever at localhost 클릭 → Web module 중 관련 프로젝트가 아닌 것을 제거한 후에 재실행하면 된다. solution 2020. 6. 7. 삼항연산자 if 문과 같은 코딩을 할 경우에 코딩 라인이 길어지기 마련인데, 상대적으로 짧게 표기할 수 있는 연산자가 바로 삼항연산자다. 표기 문법과 예문을 통해 사용방법을 알아보자. 삼항연산자 문법 : 조건문 ? 'a' : 'b'; → 조건문 : 참/거짓을 판단할 변수 → a : 참일 때 사용할 값 → b : 거짓일 때 사용할 값 삼항연산자 예문 : → pub : 체크를 (참/거짓) 하거나 안한다 → checked : 참이면 체크한다 → : 거짓이면 체크하지 않는다 아래 예문을 보면, 주석 처리된 if문의 라인 4줄을 삼항연산자를 통해 ${pub?'checket':''} 코드로 간단하게 표기한 것을 확인할 수 있다. 예문은 관리자 게시판 목록으로서 (forEach문, EL표기[${ }]) 체크박스에 해당하는 코드.. 2020. 5. 15. Tiles 라이브러리 다운로드 / 레이아웃 템플릿에 적용 지난 글에서 간략히 tiles에 대해 알아봤는데, 이번엔 tiles 라이브러리를 다운받아 적용해보자. Include와 Tiles 웹 사이트를 제작할 때, 공통 영역은 수정이 용이하도록 분리해서 관리하도록 작업한다. 이를테면 수십 개의 페이지들에는 동일한 내용의 상단 영역과 푸터 등이 있다. 이러한 공통 영역은 별도 hyoni-k.tistory.com Apache Tiles 라이브러리 다운 : 1. Apache Tiles 사이트 접속한다. http://attic.apache.org/projects/tiles.html 2. 버전에 맞게 타일즈 버전을 잘 선택하여 다운 받는다. 3. 다운로드해 압축을 풀면 라이브러리가 많은데, optional 폴더를 제외한 모든 jar파일을 복사한다. 참고로 라이브러리란.. .. 2020. 5. 12. Include와 Tiles 웹 사이트를 제작할 때, 공통 영역은 관리와 수정이 용이하도록 분리해서 작업한다. 이를테면 수십 개의 페이지들에는 동일한 내용의 상단 영역과 푸터 등이 있다. 이러한 공통 영역은 별도로 분리하여 관리하지 않는다면 특정 페이지에서 상단 메뉴를 수정하는 일이 있을 경우, 모든 페이지의 상단 메뉴를 수정하는 반복적이고 비효율적인 업무가 필요하다. 그렇기 때문에 분리해서 참조하도록 작업(모듈화) 해두고 관리하는 것이다. Include 페이지를 분리하고 참조하도록 할 때 include 태그를 사용한다. 와 함께 분리된 페이지를 현재 페이지에 포함시킬 수 있는 기능을 한다. 즉, 영역을 분리하고 분리한 jsp 파일들을 레이아웃 틀이 있는 템플릿으로 집중화하는 것이다. ▶ include 사용 예 (layout.jsp.. 2020. 5. 12. MVC (Model View Controller) 재스퍼를 사용해서 서블릿을 만들 수 있는데, 만들 때에는 jsp 파일에 코드 블록을 넣어 작업한다. 하지만 jsp를 잘못 만들면 코드 블록이 상당히 복잡해지고, 유지·보수가 어려울 수 있다. (스파게티 코드) 이러한 점을 개선하고자 나온 게 MVC이다. MVC란 애플리케이션을 세 가지의 역할로 구분한 개발 방법론이다. Model View Controller -Model (출력 데이터) : 어떠한 동작을 수행하는 코드로, 사용자에게 어떻게 보일지에 대해 신경쓰지 않아도 된다. -View (출력 담당 / HTML 코드) : MVC에서 모델은 여러 개의 뷰(view)를 가질 수 있다. 뷰는 모델에게 질의를 하여 모델로 부터 값을 가져와 사용자에게 보여준다. -Controller (입력·제어 담당 / JAVA .. 2020. 4. 29. Collections Framework (Set, List, Map) Collections Framework는 배열(연관된 데이터를 그룹핑하여 편리하게 관리하는 것)이 갖고 있는 한계나 문제를 해결하기 위해 나왔다. (자바 java.util 패키지에서 제공) 왜 컬렉션 프레임워크를 사용할까? 어떤 자료형이든 담을 수 있고 데이터의 추가 및 삭제가 자유롭기 때문이다. 우선, 배열 코드와 ArrayList 배열 코드의 차이를 비교해보자. (생활코딩 참조) import java.util.ArryList; public class Program { public static void main(String[] args) { String[] arryObj = new String[2]; arryObj[0] = "1"; arryObj[1] = "2"; //arryObj[2] = "3"; /.. 2020. 4. 27. Servlet(서블릿)과 JSP(자바 서버 페이지), JSP 코드 블럭과 내장객체 Servlet (서블릿) JAVA 소스코드 내에 HTML 소스코드 삽입 서블릿(Servlet)은 자바 웹 어플리케이션의 구성요소 중 동적인 처리를 하는 프로그램의 역할을 한다. (서버에서 웹페이지를 생성하거나 데이터 처리를 수행하기 위해 자바(EE: JAVA Platform Enterprise Edition)로 작성된 프로그램) 작성된 자바 소스 코드를 서블릿 컨테이너인 톰캣을 사용하면 자동으로 HTML로 변환해 준다. - WAS에 동작하는 JAVA 클래스 - HttpServelet 클래스를 상속받아 코드 작성 하지만 HTML 문서 디자인 등이 바뀔 때마다 .class 파일을 수정 및 컴파일 해야 하고, 웹 서버를 재가동하는 일이 잦아지는 단점이 있어 JSP와 적절히 사용할 필요가 있다. JSP (자바 .. 2020. 4. 25. JSP관련 용어 정의 WAS (Web Application Server) 인터넷 상의 HTTP를 통해 컴퓨터나 장치에 어플리케이션을 수행해주는 소프트웨어 엔진이다. DB 조회와 같은 로직 처리를 요구하는 동적인 컨텐츠를 (서버와 함께 수행) 수행하여 제공한다. WAS = Web Server + Container (객체를 관리하는 Container는 JSP와 Servlet을 관리한다) 정적인 컨텐츠를 제공하는 일반적인 웹 서버와 구별된다. Web Server 웹 브라우저인 클라이언트로부터 HTTP 요청을 받아 정적인 컨텐츠를 수행하여 제공하는데, 요청 수행 시에 이미 있는 자료를 바로 제공한다. 하지만 동적인 컨텐츠를 제공 할 필요가 있을 시에는 클라이언트의 요청(request)을 WAS에 보내고, 처리한 결과를 리턴받아 클라.. 2020. 4. 24. 이전 1 다음 반응형