반응형

2차 도메인 Cookie 값을 공유하기 위해서 이것저것 테스트를 다해보았다.


조건


1. A 서버를 aaa.officeappl.com 으로 설정한다.

2. B 서버를 bbb.officeappl.com 으로 설정한다.

3. A서버에서 서버네임을 쿠키로 등록한다.

4. B서버에서 쿠키를 불러들인다.


위 설정을 위해, 도메인을 구입하고 2차도메인을 생성하였다. 이건 웹 호스팅 Site에서 무료DNS 서비스를

이용하니 간편하게 되었다.


A서버의 코드이다.

 <%

    Cookie cookie = new Cookie("servername","kplus");

    cookie.setDomain("officeappl.com");

    cookie.setPath("/");

    cookie.setMaxAge(1*60*60);


    response.addCookie(cookie);

    

    Cookie [] cookies = request.getCookies();

    if(cookies != null){

         for(Cookie cook : cookies){

              out.write(cook.getName());

              out.write(" / ");

              out.write(cook.getValue());

         }

    }

 %>


간단하게 쿠키 값으로 servername값에 kplus 라고 등록한 후, 등록된 쿠키를 조회하였다. 여기서 주의사항은

setDomain 으로 1차 도메인값을 지정해주는 것이다. 또한, 타 서버에서 context path를 어떠한 것으로 할지 모르기때문에

setPath 를 root 값인 "/"으로 해주어야 한다.


B서버의 코드이다.

<%

   Cookie[] cookies = request.getCookies();

   if (cookies != null) {

      for (int i = 0; i < cookies.length; i++) {

         out.println(cookies[i].getName() + ":" + cookies[i].getValue() + "<br>");

      }

   }


%>


위와 같이 하니 쿠키의 연동이 잘되었다. 간단한 SSO를 구현하기 위해서는 필수적으로 필요한 코딩기법이다.


한 30분정도 삽질을 했지만, 삽질의 이유가 PATH문제임을 알게되니 기분이 좋군.ㅎㅎㅎ


이상임.

                                                              -2014.02.03 랑이씀 -

반응형

'Program > JSP' 카테고리의 다른 글

[ JSTL 문법 정리 ]  (0) 2011.01.07
JSPF 를 이용한 INCLUDE 설명  (5) 2010.05.03
JSP에서 Servlet 이외의 URL 접급 차단법  (0) 2010.03.05
[펌] MINE TYPE 정보  (0) 2010.02.18
POST방식 헤더 값에 대한 정보  (1) 2009.11.23
반응형
[사용하기 위해 필요한 코드]
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

[1] Session 객체 접근법

저장 : <c:set var="user_email" value="test" scope="session" />
얻기 : ${sessionScope.user_email}

[2] <c:if>

<c:if test="${user_seq == null}">
<script language="javascript">
alert("잘못된 접근경로 입니다.로그인해주세요");
location.href="${HOME}/index.runa";
</script>
</c:if>

 

[2-2] <c:choose><c:when> 
<ui>
<c:choose>
    <c:when test="${param.name == 'bk'}">
         <li>당신의 이름은 ${param.name} 입니다.</li>
    </c:when>
    <c:otherwise>
         <li>암껏두없음.</li>       
    </c:otherwise>
</c:choose>
</ui>


[3] fn:split(string,separator)

<c:forEach var="menuSourceList" items="${menuSourceList}">

<c:set var="menu_array" value="${fn:split(menuSourceList.menuList,'{')}"/>
<option value="${menuSourceList.menuList }">${menu_array[0]}</option>
</c:forEach>

[4] varStatus를 사용한 ForEach문 의 index처리

<c:forEach var="passive_array" items="${arr_passive_ac}" varStatus="passive_status">
${arr_passive_ac[passive_status.index]}<br>

</c:forEach>

[5] fn:substring(string, begin, end)
=> begin 부터 end까지 문자열을 자른다.(단, end인덱스 문자열 포함)

ex) ${fn:substring(list.regist_time,0,10)}

[6] fn:substringAfter(string, substring)
=> string에서 substring이 나타나는 이후의 부분에 있는 문자열을 리턴.
ex) ${fn:substringAfter(list.regist_time,".")}

[7] fn:substringBefore(string, substring)
=> string에서 substring이 나타나기 이전의 부분에 있는 문자열을 리턴.
ex) ${fn:substringBefore(list.regist_time,".")}

[8]  엘리먼트의 size를 구하고 싶을때
${fn:length(list)}


반응형

'Program > JSP' 카테고리의 다른 글

2차 도메인 Cookie 공유  (0) 2014.02.03
JSPF 를 이용한 INCLUDE 설명  (5) 2010.05.03
JSP에서 Servlet 이외의 URL 접급 차단법  (0) 2010.03.05
[펌] MINE TYPE 정보  (0) 2010.02.18
POST방식 헤더 값에 대한 정보  (1) 2009.11.23
반응형

[ 배경지식 ]

JSP 를 개발하다 보면 아래와 같은 코드를 발견하기 쉽다.

1번 include <jsp:include page="test.jsp" flush="true">

2번 include <%@ include file="파일의 위치(url)" %>

우선적으로 이 글의 목적은 JSPF에 대해서 설명하는 글이지만, 위의 1,2번 항목에 대해 정확하게 알아야만,

설명이 가능하기 때문에 1번과 2번의 차이점에 대해 집고 넘어가도록 하겠다.

[ jsp:include 와 include file 의 차이 ]

1번 과 2번은 둘다 빈번하게 사용되어지는 특정 페이지를 include시킬때 사용되어지는 방법이다.

그럼 차이점은 ? 그렇다!!!! 바로 로딩 시점의 차이이다.

1번의 경우 .java의 servlet 파일로 compile 되어진 뒤 결과물을 include 하는것이다. 보통 저런 방식은 jsp로 디자인

frame를 구성할때 top 이라던가 bottom 이라던가 하는 요소에서 많이 사용되어지는 방법이다.

그렇다면 2번방식은 어떤것인가? 2번은 page가 compile되기전에 소스코드를 include 한후 compile 하는 과정을

 거치게 된다. 이런경우 사용되어지는 대표적인 예가 공통변수 를 사용하여 모든 페이지에 체크를 해야하는 경우, 해당 공통

변수를 include 한후 사용하면된다.

[ JSPF 란 무엇인가? ]


JSPF 란  별거 없다. JSP Servlet Page Framegment의 약어로써 , 매번 2번과 같은 방식으로 매번 include해야하는

페이지에 대해 JSPF라는 확장자로 선언 한뒤 web.xml에 선언하여 모든 jsp페이지 내에  자동으로 include해주는

하나의 방법론이다.

백문이불여일견이다!!! 아래 web.xml의 태그를 보도록 하자.

[ web.xml 파일 ]
 <jsp-config>
  <jsp-property-group>
   <url-pattern>*.jsp</url-pattern>
   <include-prelude>/web/jsp/common/webConstraint.jspf</include-prelude>
  </jsp-property-group>
 </jsp-config>


별도로 태그에 대해 자세한 설명을 하지 않도록 하겠다.

*.jsp 에 대해서 /web/jsp/common/webConstraint.jspf 파일을 include 하라는 내용이다.

그럼 webConstraint.jpsf 에는 어떻게 생겨먹었는지 아래코드를 보도록 하자.

[ WebConstraint.jspf 파일 ]

<
%@page pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="
http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="
http://java.sun.com/jsp/jstl/functions" %>
<c:set var="HOME" value="${pageContext.request.contextPath}" />
<c:set var="IMG" value="${HOME}/web/image" />
<c:set var="JS" value="${HOME}/web/js" />
<c:set var="JSP" value="${HOME}/web/jsp" />
<c:set var="CSS" value="${HOME}/web/css" />


나의 경우 위의 코드처럼 jsp내의 특정 경로의 data를 공통 변수로 설정하여사용하였다.

얼마나깔끔한가?ㅋㅋㅋㅋㅋ

많은 활용요소가 있겠지만, 위의 활용요소가 가장 좋은 활용예제인것 같다.

이상 끝!!

반응형

'Program > JSP' 카테고리의 다른 글

2차 도메인 Cookie 공유  (0) 2014.02.03
[ JSTL 문법 정리 ]  (0) 2011.01.07
JSP에서 Servlet 이외의 URL 접급 차단법  (0) 2010.03.05
[펌] MINE TYPE 정보  (0) 2010.02.18
POST방식 헤더 값에 대한 정보  (1) 2009.11.23
반응형

web.xml에서 JSP페이지에 보안설정을 하는 방법
web.xml에 *.jsp 패턴의 모든 URL에 대해서 누구도 실행을 할 수 없게 설정해줄 수 있습니다. 아래 처럼 세팅하면 됩니다.

<security-constraint>

  <display-name>JSP Protection</display-name>

  <web-resource-collection>

    <web-resource-name>SecureJSPPages</web-resource-name>

      <url-pattern>*.jsp</url-pattern>

  </web-resource-collection>

  <auth-constraint>

    <role-name>nobody</role-name>

  </auth-constraint>

</security-constraint>

 

<security-role>

<description>

Nobody should be in this role so JSP files are protected

from direct access.

</description>

<role-name>nobody</role-name>

</security-role>

 

어떤 의도를 가진 사용자가 JSP 페이지를 URL로 직접 접근하게 되면 서버는 HTTP 응답코드 401번(Unauthorized) 페이지를 보여줍니다.좀더 우아하게 처리하려면 401번 응답 페이지를 예쁘게 만들어서 등록하면 되겠죠.

<!-- 접근 권한없음 : UNAUTHORIZED-->

<error-page>

  <error-code>401</error-code>

  <location>/error/unauthorized.html</location>

</error-page>


 

반응형

'Program > JSP' 카테고리의 다른 글

2차 도메인 Cookie 공유  (0) 2014.02.03
[ JSTL 문법 정리 ]  (0) 2011.01.07
JSPF 를 이용한 INCLUDE 설명  (5) 2010.05.03
[펌] MINE TYPE 정보  (0) 2010.02.18
POST방식 헤더 값에 대한 정보  (1) 2009.11.23

+ Recent posts