JSP에서 taglib c를 사용하여 img, script. css tag src를 지정하는 경우 resource에 jsessionid가 붙어 페이지를 처음 로딩할 때 jsessionid가 붙어 화면이 제대로 로딩되지 않는 경우가 발생한다.
화면을 다시 로딩하면 정상적으로 script, imgae, css가 적용된다.
■ 사용 예제
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <link rel="stylesheet" type="text/css" href="<c:url value='/rui/plugins/ui/form/LFileBox.css'/>"/> |
■ 오류 결과
<link type="text/css" rel="stylesheet" href="/resource/css/import.css;jsessionid=589184C928C5896286836A1EF0DE6880" /> <link rel="alternate stylesheet" title="bh_style1" type="text/css" href=";jsessionid=589184C928C5896286836A1EF0DE6880resource/css/global_style_Rtl.css" id="bhStyle1"></link> <link rel="stylesheet" title="en_style1" type="text/css" href=";jsessionid=589184C928C5896286836A1EF0DE6880resource/css/global_style.css" id="enStyle1"></link> <script type="text/javascript" src="/resource/js/dui_prototype.js;jsessionid=589184C928C5896286836A1EF0DE6880"></script> <script type="text/javascript" src="/resource/js/dui_hhmenu.js;jsessionid=589184C928C5896286836A1EF0DE6880"></script> <script type="text/javascript" src="/resource/js/foriegnCheck.js;jsessionid=589184C928C5896286836A1EF0DE6880"></script> |
브라우저에서 소스보기를 선택하여 소스를 확인하면 모든 script, css에 jessionid가 붙어 있어 404 오류가 발생한다.
이를 해결하기 위해 여러가지 방법이 있지만, 소스를 수정하지 않고 해결하는 방법은 web.xml에 sessoin-config에 tracking-mod를 추가하면 해결된다.
tracking-mods는 web-app_3.0이상에서만 지원하기 때문에 web.xml namespace를 변경해야한다.
■해결방법
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <session-config> <session-timeout>30</session-timeout> <tracking-mode>COOKIE</tracking-mode> </session-config>
|
'Java' 카테고리의 다른 글
JVM GC 설정 (0) | 2018.06.07 |
---|---|
Java Reflection 사용법 (0) | 2018.04.12 |
Html a tag function call (0) | 2018.02.20 |
CDI를 이용한 Java 개발 (0) | 2018.02.13 |
Java Class Instance화 (0) | 2018.02.12 |