개발공작소
728x90
article thumbnail
[JSP] The method isEmpty(String) is undefined for the type StringUtils 에러 해결방법
JSP 2022. 8. 24. 12:53

JSP에서 JAVA로 isEmpty라는 메서드를 사용해서 true/false를 반환받는 로직을 수행하는데 아래와 같은 에러가 떴다. ※ 되도록이면 문제 해결방법2를 참고해서 해결하도록 하자. 에러상황 및 문제원인 파악 박스 친 곳만 보면 되는데, 보면 뭐가 문제인지 바로 알 수 있다. StringUtils라는 클래스에 isEmpty라는 메서드가 선언되어 있지 않다는 의미이다. 우선 StringUtils 클래스는 JSP 최상단에 위와 같이 import해온다. 그래서 실제로 isEmpt가 선언이 되어 있는지 확인을 하러 갔는데.. isEmpty를 아무리 찾아도 선언해주는 코드가 없다. 즉 선언되어 있지도 않은 메서드를 호출하니 에러가 발생하는 것.. 문제해결 방법 1 org.springframework.ut..

[JSP] .jsp파일 include 하는 방법 ( <jsp:include>, <%@ include %> )
JSP 2022. 5. 14. 16:23

보통 .jsp를 나누어 작업하는 경우가 많은데, 보통은 같은 디자인과 기능을 가지는 와 를 따로 .jsp로 작성하여 필요한 곳에 include를 많이 한다. 그럼 코드가 짧아지니 가독성에도 좋고 성능에도 좋고.. 그외에도 Vue를 이용한 컴포넌트를 include 할때도 사용했다. 그런 김에 정리해본다. 기본문법 및 샘플코드 // 기본문법 // 샘플 // 기본문법 // 샘플 그럼 이 둘의 차이점은 뭘까? 은 정적이다. 즉 .jsp파일이 .java파일로 수정되기 전에 해당 .jsp를 부모 .jsp로 include 시킨다. 즉 해당 .jsp를 포함한 후에 컴파일을 수행한다. 는 동적이다. 즉 .jsp파일이 java->class->html 문서로 수정 될 시점에 include를 수행한다. 이 include가 수..

article thumbnail
[JSP] ${pageContext.request.contextPath} 에 대한 정리 ( 그외 requestURL, scheme, serverName, serverPort, requestURI,servletPath )
JSP 2022. 5. 14. 12:10

프로젝트를 하다보면 간간히 만나는 녀석 ${pageContext.request.contextPath} 보통 .js나 .css등 정적파일을 import할 때 경로에 붙여서 사용하는데 ( URL 호출에도 사용함. ~.do 와 같이.. ) 왜 쓰는걸까? 결론만 말하면 "유지보수의 용이성" 때문이다. 이 녀석이 하는 일은 아래와 같다. 프로젝트의 context-path를 가져오는데.. 만약 개발하는 중간에 path값이 바뀐다? 그러면 하나하나 다 찾아내서 바꿔줘야 하는 불상사가 일어난다. 그렇기 때문에 기본 path는 ${pageContext.request.contextPath}로 대체하고, 뒤의 경로만 적어주는 방식으로 사용한다. 아래 예제를 보면서 익혀보자. testJSP.jsp testJs1.js let ..

article thumbnail
[JSP] 상대경로와 절대경로에 대한 정리
JSP 2022. 5. 14. 10:36

.jsp에는 .js나 .css가 많이 들어간다. 그럴때마다 import를 해오는데.. import를 해오려면 해당 파일의 경로를 알아야 하고, 이 경로는 절대경로와 상대경로 2가지로 나뉘어 진다. 상대경로 : 현 파일의 위치를 기준으로 목표로 하는 파일의 목적지까지의 상대적인 경로를 의미 => 최상위 /를 포함한다. => 속도 빠름 => 파일 분실 가능성이 높음 절대경로 : 처음부터 시작하여 목적지까지의 절대적인 경로를 의미 => 최상위 /를 포함하지 않고도 이동이 가능하다. => 속도 느림 => 파일 분실 가능성이 낮음 상대경로와 절대경로의 특징은 위와 같은데, 혼자 할 때는 상대경로를 써도 좋지만, 실제 개발을 하고 서버에 올려야 한다면 절대경로를 사용하는 것이 바람직하다. 파일 분실 가능성이 낮기 ..

article thumbnail
[JSP] WEB-INF 폴더에 관한 정리 ( 웹브라우저에서 WEB-INF 하위 파일(jsp, html, js, css 에 접근이 가능한가? )
JSP 2022. 5. 10. 22:03

다음과 같은 .jsp파일이 2개 있다. 하나는 WEB-INF 하위에 있고 하나는 webapp 하위에 있다. 톰캣을 구동시킨 뒤, 각 파일을 URL을 통해 접근해보자. 우선 webapp 하위에 있는 파일에 접근해보자 접근이 잘 된다. 그럼 이번에는 WEB-INF하위에 있는 .jsp에 접근해보자 접근이 안된다. 왜 접근이 안될까? 대충 설명하면 아래와 같다. webapp 폴더에 있는 녀석들은 따로 비즈니스 로직이 없어도 가상의 결과물을 만들어 직접적으로 뷰를 살펴 볼 수 있다 => Controller를 통하지 않아도 바로 결과물을 볼 수 있지만, 서버에 올릴 시 보안에는 취약하다. WEB-INF 폴더의 경우에는 브라우저에서 직접적으로 접근이 불가한 경로이다. => Controller를 통해야만 접근이 가능하..

article thumbnail
[JSP] Include한 js파일의 한글이 깨지는 현상 ( <%@include file = ".js" %> )
JSP 2022. 5. 10. 12:22

.js파일을 을 통해서 가져오는데 한글이 깨지는 현상이 발생했다. testJSP.jsp 하하하 testJs1.js // 텍스트를 생성해 태그를 생성한뒤, 태그에 부탁하는 스크립트문 작성 let script = document.createElement('h1'); let txt = document.createTextNode('testJs1을 호출하였습니다.'); script.appendChild(txt); document.body.appendChild(script); 안에 있는 "하하하"는 제대로 찍히는데, include를 통해 가져온 js에서 생성한 은 한글이 깨진다.. 결국 문제는 인코딩이 맞지 않는 건데.. .jsp에서는 UTF-8 인코딩을 사용하고 있다. 그럼 .js 파일을 UTF-8로 맞춰주면 된..

728x90