2008년 11월 10일 월요일

팝업창에서 부모 창으로 포커스(Internet Explorer, FireFox)


A.jsp 페이지에서, C.jsp 를 팝업으로 띄워야 하는데,

문제는 팝업을 띄운후 부모창에 포커스를 줘야 한다..

근데 Internet Explorer 에서는 다음과 같이 해결 가능하다.


window.onload = function init(){
    var win = window.open("C.jsp", "c");

    self.focus();      

}



그러나 window.focus() 가 FireFox에서는 지원이 안된다..

구글링을 해봤지만 답 없음.. 그리하여.. 꽁수를 찾아 냈다.

window.blur() 옵션은 먹기에 window.blur()를 이용하였다.

우선 IE에서는 제대로 되는 위에 소스를 A에 박아주고,

B더미 페이지를 만들고, B에서 blur()를 쓴후 C로 이동하는 방법..

대략 3시간 헤맨듯.. ㅡㅡ;

저같은 상황에 도움이 되기를....




A.jsp


window.onload = function init(){
    var win = window.open("B.jsp", "b");

    self.focus();      

}





 

B.jsp

<body onLoad="self.blur(); location.href='C.jsp';">


 

2008년 10월 13일 월요일

HTTP 오류 405 - 이 페이지에 액세스하는 데 사용한 HTTP 동사가 거부되었습니다.


이 페이지를 표시할 수 없습니다.

액세스를 시도하는 데 잘못된 메서드(HTTP 동사)를 사용했기 때문에 찾으려는 페이지를 표시할 수 없습니다.

다음을 시도하십시오.

  • 이 요청이 허용되어야 하면 웹 사이트 관리자에게 문의하십시오.
  • 브라우저의 주소 표시줄에 표시된 웹 사이트 주소의 철자와 형식이 정확한지 확인하십시오.

HTTP 오류 405 - 이 페이지에 액세스하는 데 사용한 HTTP 동사가 거부되었습니다.
IIS(인터넷 정보 서비스)


기술 정보(지원 인력용)

  • Microsoft 고객기술지원부로 이동하여 HTTP와 405이라는 단어로 제목을 검색하십시오.
  • IIS 관리자(inetmgr)에서 액세스할 수 있는 IIS 도움말을 열어 응용 프로그램 매핑 설정, 웹 사이트 권한 설정을 통한 사이트 보안 및 사용자 지정 오류 메시지 항목을 검색하십시오.


위와 같은 오류시에.. IIS 6.0 기준,

IIS 관리에 서버 속성에서  ->  홈 디렉터리  ->  구성  ->  추가 
-> 실행파일 경로는 asp 처리기나 html 처리기로 그리고 확장자는 .xml


기본으로 되어있지 않은 듯? 웹으로 직접 접근은 가능하지만,

플래시에서 접근하면 이러한 오류가 발생시 위와 같이 조치 하면 됩니다. :)


2008년 10월 8일 수요일

2008년 9월 24일 수요일

Adobe Flash CS4 Professinol.. 간단한 사용 소감..

오늘 부로 Adobe CS4 가 출시 되었습니다.

어둠의 경로로 구하여..

한 10분정도 둘러 보았습니다.

저는 액션 스크립터도 아니며, 플래셔도 아닙니다.

그러나, 약간의 스크립트를 다룰줄 알고, 업무에 많이 쓰이므로..

새로운 Adobe CS4에 관심이 많았습니다.

사용자 삽입 이미지


우선 잠깐 사용해본 소감이..


3D를 쉽게 잡을 수 있습니다..

회사에 디자이너나 모션을 하시는 분들이 보시고 감탄을 남발하시더군요..

저도 혼자 해봤지만 3D모션으로 움직임 정도는 간단하게 구현이 되는군요..

다만 AS 3.0으로 구현만 가능합니다..



사용자 삽입 이미지











그리고 위 스크린샷과 같이 전체적으로 모습이 깔끔해졌습니다.



3D가 이렇게 손쉽게 구현 되는걸 보니.. 이 업계에 큰 파장이 오지 않을까..

조심스레 기대 해보면서, 간단한 3D로 구현한 샘플 소스 올립니다.

Flash Player 10 에서 동작 합니다.

Flash Player 10 Download
http://labs.adobe.com/downloads/flashplayer10.html


[Flash] /tt/attachment/1092875689.swf


2008년 8월 12일 화요일

JSP, AJAX, Prototype, JSON, XML을 이용한 로그인 처리..


JSP, AJAX, Prototype, JSON을 이용한 로그인 처리.. 라고 타이틀은 지었지만,

이름 만큼 대단한 예제는 아니다.. 다만, 위의 언어들을 이용해서 만든 Refresh 없는 로그인 처리이다.

방식은 로그인 체크가 필요한 버튼이나 어떠한 행위가 이루어 질때, checkLogin() 을 호출.

loginCheck.jsp 를 불러온다. loginCheck.jsp 에는 JSON 타입으로, 세션체크를 하여, 로그인 여부를 판별한다.

checkLogin() -> loginCheck.jsp (세션 체크 후 JSON 생성) -> resultProc() 에서 처리

위와 같은 방식이 가능한 것은 브라우져의 세션은 현재 띄우고 있는 브라우져의 부모나 자식창에 세션이 상속되기

때문에 기존에 iFrame 으로 작업을 했으나, 새로고침을 해야 하는 번거로움이 있었다. 그러나 이방식은

새로고침이 필요없다.

우선, 로그인 처리를 할 페이지를 만들어 준다.

로그인 체크를 위핸 javascript 메소드를 만들어 준다. 이때, prototype.js 가 include 되어있어야 한다.


main.html
    [code]
    function checkLogin()
    {
    var url = './loginCheck.jsp?timeStamp=' + new Date().getTime();

     var myAjax = new Ajax.Request(
         url,
        {
           onComplete: resultProc,
           onException: onException
        });
     }

    function resultProc(req) {

        //JSON 방식
        var result = eval("(" + req.responseText + ")");
      
        if( result.data.result == 1 ){
            alert("로그인 되어있음");
           
        } else {
            goLogin();
       
        }
}
[/code]


loginCheck.jsp (JSON)
[code]
<%@ page contentType="text/plain; charset=euc-kr" %>
<%
String MEMBER_ID = "";
String result = "2";

if( session.getAttribute("MEMBER_ID")!=null ){
    MEMBER_ID = session.getAttribute("MEMBER_ID").toString();
    result = "1";
}

%>

{
   data: {
        result: '<%=result %>',
        memberid: '<%=MEMBER_ID %>'
       
    }
}
[/code]





위 방식을 xml 을 로드해서 처리 하려면 아래와 같이 바꾸면 된다.




main.html
[code]
    function resultProc(req) {
        var xmlDoc = req.responseXML;
        var result = xmlDoc.getElementsByTagName("result")[0].firstChild.nodeValue;
        console( result );
    }
[/code]


loginCheck.jsp (XML)
[code]
<?xml version="1.0" encoding="utf-8" ?>
<%@ page contentType="text/xml; charset=utf-8" %>
<%
String MEMBER_ID = "";
String result = "2";

if( session.getAttribute("MEMBER_ID")!=null ){
    MEMBER_ID = session.getAttribute("MEMBER_ID").toString();
    result = "1";
}

%>

<node>
    <result><%=result %></result>
</node>
[/code]


JSP로 XML를 파싱할떄 주의!! 꼭 위의 빨간 색 부분의 contentType 를 지정해 주어야 제대로 인식한다..

이것때문에 30분간 뻘짓.. -_-;



2008년 8월 2일 토요일

BEA Weblogic 구버젼 다운로드..


http://commerce.bea.com/showallversions.jsp?family=WLS




바로가는 링크 보기


2008년 8월 1일 금요일

VMWARE 에서 CPU를 제대로 인식하지 못할때...

이상하게.. 언제 부턴가 VMWARE에서 아래 와 같은 메세지가 떳다..

VMware Workstation has measured your CPU speed to be 667 MHz, but Windows reports that it is 1998 Hz. This may mean that your computer has a power-saving feature that varies the processor speed. As a result, the clock in your virtual machine may run too fast or too slow.

대충 해석하면 Vmware에서 CPU를 667 MHz으로 인식하고 있다. 근데 윈도우에선 1998 MHz로 인식 되어지고 있다.


난 원인을.. 노트북이라서, SpeedStep 이 활성화 되서 클럭이 오르락 내리락 하는지 알았는데..

이원인도 있는 듯 하다.. 그래서 검색 하던 결과...

해결 방안을 다른 블로거에게서 찾았다.

빨라졌다! 후... 진작 찾아 볼껄... 그동안.. 667 MHz 의 Window XP에서 작업을 했던 것인가... -_-;



해결 방법 보기!!