2013. 3. 11. 16:44

톰캣 쿠키 = 인식 옵션

톰캣에서 쿠키의 값을 읽을 경우 "=" 문자열이 포함되면 그 이후의 문자열을 인식하지 않는 경우가 있는데

 

다음과 같은 자바 옵션 추가

 

-Dorg.apache.tomcat.util.http.ServerCookie.ALLOW_EQUALS_IN_VALUE=true

 

참조 : http://blog.naver.com/PostView.nhn?blogId=kletgdgo&logNo=90144351279

'-=-= 컴퓨터 =-=- > WebServer & WAS' 카테고리의 다른 글

JBOSS DATASOURCE 설정  (0) 2013.05.08
JBoss URIEncoding 설정  (0) 2013.03.28
apache 재시작 오류  (0) 2013.03.17
톰캣 "web-app" must match 오류  (0) 2013.03.12
톰캣6 Datasource 사용하기  (0) 2013.03.07
2013. 3. 11. 09:37

java.sql.SQLException: 논리적 핸들이 더 이상 유효하지 않습니다

java.sql.SQLException: 논리적 핸들이 더 이상 유효하지 않습니다

 

위와 같은 오류 발생시 제일먼저 확인해야할것은 JDBC CONNECTION 관리가 제대로 되고있는지부터 확인해야한다.

 

참조  : http://www.okjsp.pe.kr/seq/50687

 

 

2013. 3. 7. 09:19

톰캣6 Datasource 사용하기

톰캣 설치폴더

 

server.xml

 

GlobalNamingResources 안에 resourcename 추가

 

  <GlobalNamingResources>
    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users
    -->
    <Resource name="jdbc/OracleDS" auth="Container" type="javax.sql.DataSource"
          username="id"
          password="passwd"
          driverClassName="oracle.jdbc.driver.OracleDriver"
          url="jdbc:oracle:thin:@localhost:1521:sid" /> 
   
  </GlobalNamingResources>

 

122 라인 부근 주석처리

<!--

<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>

-->

context.xml

<Context reloadable="true" privileged="true">

    <WatchedResource>WEB-INF/web.xml</WatchedResource>

    <ResourceLink name="jdbc/OracleDS" global="jdbc/OracleDS" type="javax.sql.DataSource"/>
</Context>

 

 

 

Context.lookup 호출주소

 

java:comp/env/jdbc/OracleDS

'-=-= 컴퓨터 =-=- > WebServer & WAS' 카테고리의 다른 글

JBOSS DATASOURCE 설정  (0) 2013.05.08
JBoss URIEncoding 설정  (0) 2013.03.28
apache 재시작 오류  (0) 2013.03.17
톰캣 "web-app" must match 오류  (0) 2013.03.12
톰캣 쿠키 = 인식 옵션  (0) 2013.03.11
2013. 2. 20. 10:23

오라클 split 함수

 
CREATE OR REPLACE FUNCTION FN_GET_SPLIT(
    IN_STR         IN  VARCHAR2,    
    IN_LEVEL       IN  INT,         
    IN_DELIMETER   IN  VARCHAR2,
    IN_DEFAULT_VAL IN  VARCHAR2     
)
RETURN VARCHAR2

IS
    V_RETURN              VARCHAR2(200);    
    STRVALUE              VARCHAR2(4000) := IN_STR; 
    DEFAULT_RETURN_VAL    VARCHAR2(4000) := IN_DEFAULT_VAL;
    IDX INT;    
    ILEVEL INT := 0;

BEGIN

    V_RETURN := '';

    -- 문자열이 없으면 기본 리턴값 반환 후 종료
    IF NVL(STRVALUE,'NO_STRING') = 'NO_STRING' THEN
        RETURN DEFAULT_RETURN_VAL;
    END IF;
        
    LOOP
        --구분자 인덱스 확인
        IDX := INSTR(STRVALUE, IN_DELIMETER);
        
        IF IDX > 0 THEN --구분자로 문자를 찾은경우
                                    
            ILEVEL := ILEVEL + 1;
            
            -- 현재 레벨이 원하는 레벨이면 현재 문자열 반환 AND 레벨이 -1인경우는 마지막까지 LOOP
            IF ILEVEL = IN_LEVEL AND IN_LEVEL != -1 THEN
                V_RETURN := SUBSTR(STRVALUE, 1, IDX-1);
                EXIT;
            END IF;
                        
            STRVALUE := SUBSTR(STRVALUE, IDX + LENGTH(IN_DELIMETER));
        ELSE  -- 구분자가 없을 경우, 문자열을 그대로 반환
        
            IF ILEVEL = 0 THEN
                --구분자가 포함이 안되었지만 레벨이 1인경우 문자 그대로 반환
                IF IN_LEVEL = 1 THEN
                    V_RETURN := STRVALUE;
                ELSE
                    V_RETURN := '';
                END IF;
            ELSE
                -- 마지막 문자열일 경우
                ILEVEL := ILEVEL + 1;
                
                -- 마지막을 원하는 경우 마지막 문자열 반환 / -1은 레벨을 모를경우 구분자의 마지막 문자열 반환
                IF ILEVEL = IN_LEVEL OR IN_LEVEL = -1 THEN
                        V_RETURN := STRVALUE;
                ELSE
                    -- 원하는 레벨의 값이 없을 경우, 공백 반환
                    V_RETURN := '';        
                END IF;
            END IF;
            
            EXIT; --반복 탈출문
            
        END IF;
    END LOOP;    
    
    --최종결과 리턴
    RETURN NVL(V_RETURN, DEFAULT_RETURN_VAL);
        
    EXCEPTION
         WHEN OTHERS THEN
              RETURN SQLERRM;
END FN_GET_SPLIT;
2013. 1. 2. 16:07

자바 역컴파일

 

 

명령어 : jad -o -sjava 파일명.class

 

미러사이트 : http://www.varaneckas.com/jad/

 

출처 : http://junss.tistory.com/156

 

사이트 : http://java.decompiler.free.fr/

 

디컴파일러 이클립스 플러그인 주소 : http://java.decompiler.free.fr/jd-eclipse/update

 

 

다른 방식


출처 : http://blog.naver.com/ndskr?Redirect=Log&logNo=150016631667


사이트

http://jadclipse.sourceforge.net/wiki/index.php/Main_Page#Download

2012. 12. 15. 20:04

javascript selectbox 값으로 셋팅하기

   var opnt_select = document.getElementById("opnt_company_oid");

   for(var i=0; opnt_select.length+1; i++){    
    if(opnt_select.options[i].value=="<%=code%>"){
     opnt_select.options[i].selected = true;
     break;       <<--안주면 스크립트 오류
    }
   }

2012. 12. 10. 09:23

엑셀 2007 멀티창

엑셀 2007에서 멀티창 뛰우는 법

 

xp 기준

 

내컴퓨터 -> 도구 -> 폴더옵션 -> 파일형식 -> XLS, XLSX -> 고급 -> 동작(열기) -> 편집 -> DDE 사용해제

 

 

파일 실행할 주소 끝자리에다 "%1" 입력

 

기존

"C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" /e

변경

"C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" /e "%1"

 

 

윈도우 7 기준

 

윈7은 레지스트리 수정해야함.

 

EXCEL 2007 MultiWindows Reg.zip

2012. 12. 4. 17:19

레지스트리 하이브 편집

레지스트리 하이브 로드하여 편집하는 방법

 

레지스트리 문제로 인해 시스템 부팅이 안될경우 이용 방법

 

pe 부팅 후 레지스트리 편집기 실행한 다음

 

하이브 로드 후 레지스트리 수정후 다시 폴더 선택후 하이브 언로드하면 된다.

 

 

하이브 경로 및 하이브 파일 내용

 

예 ) local_maching등등

%SystemRoot%\Repair, %SystemRoot\System32\Config 폴더
하이브 레지스트리 부속 파일
default HKEY_USERS\.DEFAULT Default.log, Default.sav
Sam HKEY_LOCAL_MACHINE\SAM Sam.log, Sam.sav
Security HKEY_LOCAL_MACHINE\Security Security.log, Security.sav
software HKEY_LOCAL_MACHINE \Software Software.log, Software.sav
system HKEY_LOCAL_MACHINE \System System.alt, System.log, System.sav
userdiff 없음 Userdiff.log
%UserProfile% 폴더
하이브 레지스트리 부속 파일
Ntuser.dat HKEY_CURRENT_USER Ntuser.dat.log

          원본 : http://offree.net/935

 

관련 url :

 

http://offree.net/935

 

http://blog.daum.net/_blog/BlogTypeView.do?blogid=0HNAC&articleno=2998805&categoryId=292743&regdt=20070924123939#ajax_history_home

2012. 11. 19. 23:10

onsubmit return false

폼 전송 자동전송 방지

 

input 박스가 하나밖에 없을경우 input박스 엔터시 자동 폼전송되는경우

 

수동으로 폼 전송하고 싶을경우

 

<form onsubmit=return false>

 

참조 링크 : http://du03.tistory.com/entry/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-return-false-%EC%98%A4%EB%A5%98

 

http://bluepoetworld.tistory.com/entry/onsubmit-return-%EB%AC%B8%EC%A0%9C

 

http://blog.daum.net/idrlee/16102034

2012. 11. 19. 22:50

티스토리 code highlight 1.5 적용

원본글 : http://gyuha.tistory.com/193

 

 

SyntaxHighlighter_1.5.1.rar

 

 

압축을 푼후 style,script 를 모두 업로드

 

skin.html에 추가

<link type="text/css" rel="stylesheet" href="./images/SyntaxHighlighter.css"></link>

</body> 바로 위에 추가

 

<script class="javascript" src="./images/shCore.js"></script>
<script class="javascript" src="./images/shBrushCSharp.js"></script>
<script class="javascript" src="./images/shBrushCpp.js"></script>
<script class="javascript" src="./images/shBrushCss.js"></script>
<script class="javascript" src="./images/shBrushDelphi.js"></script>
<script class="javascript" src="./images/shBrushJScript.js"></script>
<script class="javascript" src="./images/shBrushJava.js"></script>
<script class="javascript" src="./images/shBrushPhp.js"></script>
<script class="javascript" src="./images/shBrushPython.js"></script>
<script class="javascript" src="./images/shBrushRuby.js"></script>
<script class="javascript" src="./images/shBrushSql.js"></script>
<script class="javascript" src="./images/shBrushVb.js"></script>
<script class="javascript" src="./images/shBrushXml.js"></script>
<script class="javascript">
    dp.SyntaxHighlighter.ClipboardSwf = './images/clipboard.swf';
    dp.SyntaxHighlighter.HighlightAll('code');
</script>

사용법

html모드에서 class 해당언어 설정

<pre name="code" class="java">
   ... some code here ...
</pre>

 

언어  명칭
C++ cpp, c, c++
C# c#, c-sharp, csharp
CSS css
Delphi delphi, pascal
Java java
Java Script js, jscript, javascript
PHP php
Python py, python
Ruby rb, ruby, rails, ror
Sql sql
VB vb, vb.net
XML/HTML xml, html, xhtml, xslt


2012. 11. 17. 15:51

내 컴퓨터 제어판 추가 및 삭제

원본 글 ; http://mastmanban.tistory.com/364

 

regedit 호출

 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace

 

키 생성시 제어판 키 추가

 

{21EC2020-3AEA-1069-A2DD-08002B30309D}

 

삭제

 

제어판 해당 키 삭제

2012. 11. 12. 16:48

Struts 메시지 프로퍼티 사용하기

/WEB-INF/struts-config.xml 경로 추가

 

<struts-config> 안에 추가

<message-resources parameter="/Env/resource/MessageResources" />

//메시지 프로퍼티 파일 위치는 자바 src 폴더에 있어야 한다.

</struts-config>

 

MessageResources.properties

welcome.heading=Welcome!

 

 

JSP파일 사용법

<bean:message key="welcome.heading"/>

2012. 11. 6. 14:47

로딩 타이머

화면 로딩 시간 체크용

화면 로딩시 3초 기준으로 판단



package *********;

/**
 * 
 * 
 * 1. Comment  : 화면 로딩시간 타이머
 * 2. FileName  : StopWatch.java
 * 3. Package  : TimeCount
 * 5. 작성일   : 2012. 11. 6. 오후 2:08:11
 * 
*/ public class StopWatch { long startTime; long elapsedTime = 0; StringBuffer currentName; boolean threadFlag = false; public StopWatch() { currentName = new StringBuffer(); startTime = System.nanoTime(); } public StopWatch(boolean threadFlag) { chageMessage("", false, false); } public StopWatch(String message) { chageMessage(message, false, true); } public StopWatch(String message, boolean threadFlag) { currentName = new StringBuffer(); startTime = System.nanoTime(); chageMessage(message, threadFlag, true); } public void chageMessage(String message, boolean threadFlag, boolean resetFlag) { StringBuffer threadName = new StringBuffer(); this.threadFlag = threadFlag; if(threadFlag){ threadName.append("ThreadName=").append(Thread.currentThread().getName()); } currentName.append("[").append(message).append(threadName).append("]"); if(resetFlag){ start(); } } public void start() { startTime = System.nanoTime(); elapsedTime = 0; } public void stop(){ elapsedTime = System.nanoTime()-startTime; } public double getElapsedMS(){ if(elapsedTime == 0){ stop(); } return elapsedTime/1000000.0; } public double getElpasedNano(){ if(elapsedTime == 0){ stop(); } return elapsedTime; } public String toString(){ if(elapsedTime==0) stop(); currentName.append("elapsed Time : ").append(elapsedTime/1000000.0).append("ms"); return currentName.toString(); } } 사용법 <%@ page import="******.util.StopWatch" %> <% StopWatch timer = new StopWatch("Class.method",true); %> 화면 소스 <% out.println(timer); %> 출력결과 [Class.methodThreadName=[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)']elapsed Time : 115.357769ms

'-=-= 컴퓨터 =-=- > JAVA' 카테고리의 다른 글

자바 이전 버전 링크  (0) 2013.03.22
자바 역컴파일  (0) 2013.01.02
JAVA 속성 조회  (0) 2012.11.06
STRING 클래스의 SPLIT 사용시 .(점) 사용시 문제 해결  (0) 2012.07.26
자바 정규식 활용  (0) 2012.05.21
2012. 11. 6. 12:15

JAVA 속성 조회

import java.util.Iterator;
import java.util.Properties;
import java.util.Set;


public class GetProperties {

 /**
  * <PRE>
  * 1. Comment : 시스템 속성 조회 
  * 2. Path  : GetProperties.main()

  * 4. 작성일  : 2012. 11. 6. 오전 10:26:37
  *
  *   @return void
  *   @param args
  *</PRE>
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  
  Properties prop =  System.getProperties();
  Set key = prop.keySet();
  Iterator it = key.iterator();
  
  while (it.hasNext()) {
   String curKey =  it.next().toString();
   System.out.format("%s = %s\n", curKey , prop.getProperty(curKey));
  }
 }

}

 

예상결과

ava.runtime.name = Java(TM) SE Runtime Environment
sun.boot.library.path = C:\Program Files\Java\jre6\bin
java.vm.version = 16.0-b13
java.vm.vendor = Sun Microsystems Inc.
java.vendor.url = http://java.sun.com/
path.separator = ;
java.vm.name = Java HotSpot(TM) Client VM
file.encoding.pkg = sun.io
sun.java.launcher = SUN_STANDARD
user.country = KR
sun.os.patch.level = Service Pack 3
java.vm.specification.name = Java Virtual Machine Specification
user.dir = D:\Source\GetProperties
java.runtime.version = 1.6.0_18-b07
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs = C:\Program Files\Java\jre6\lib\endorsed

.......

 

================================================================

윈도우 SET과 유사한 버전

package SysGetEnv;

import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class SysGetEnv {

 /**
  * <PRE>
  * 1. Comment : 시스템 환경 변수 조회(윈도우 SET명령어 유사) 
  * 2. Path  : SysGetEnv.main()
  * 4. 작성일  : 2012. 11. 6. 오후 1:25:41
  *
  *   @return void
  *   @param args
  *</PRE>
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Map<String, String> envMap = System.getenv();
  Set key = envMap.keySet();
  Iterator it = key.iterator();
  
  while(it.hasNext()){
   String curKey = it.next().toString();
   System.out.format("%s = %s \n",curKey,envMap.get(curKey));
  }
  
 }

}

'-=-= 컴퓨터 =-=- > JAVA' 카테고리의 다른 글

자바 역컴파일  (0) 2013.01.02
로딩 타이머  (0) 2012.11.06
STRING 클래스의 SPLIT 사용시 .(점) 사용시 문제 해결  (0) 2012.07.26
자바 정규식 활용  (0) 2012.05.21
클래스변수 인스턴스 변수 사용  (0) 2011.09.24
2012. 10. 31. 13:38

오라클 connect by 예제

connecty by 사용 전

WITH A AS(
    SELECT 'A' AS CODE, '' AS P_CODE , '인사팀' AS TEAM_NAME FROM DUAL
    UNION ALL
    SELECT 'B' AS CODE, '' AS P_CODE , '재무팀' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'C' AS CODE, '' AS P_CODE , '삽질팀' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'D' AS CODE, 'A' AS P_CODE , '김우진' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'E' AS CODE, 'B' AS P_CODE , '이동수' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'F' AS CODE, 'C' AS P_CODE , '이진수' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'G' AS CODE, 'C' AS P_CODE , '조둔서' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'H' AS CODE, 'B' AS P_CODE , '개뿔딱' AS TEAM_NAME  FROM DUAL
)
SELECT A.*
FROM   A;

 

connecty by 사용 후
WITH A AS(
    SELECT 'A' AS CODE, '' AS P_CODE , '인사팀' AS TEAM_NAME FROM DUAL
    UNION ALL
    SELECT 'B' AS CODE, '' AS P_CODE , '재무팀' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'C' AS CODE, '' AS P_CODE , '삽질팀' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'D' AS CODE, 'A' AS P_CODE , '김우진' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'E' AS CODE, 'B' AS P_CODE , '이동수' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'F' AS CODE, 'C' AS P_CODE , '이진수' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'G' AS CODE, 'C' AS P_CODE , '조둔서' AS TEAM_NAME  FROM DUAL
    UNION ALL
    SELECT 'H' AS CODE, 'B' AS P_CODE , '개뿔딱' AS TEAM_NAME  FROM DUAL
)
SELECT CODE,P_CODE,LPAD(' ',  8 * (LEVEL-1))||TEAM_NAME
FROM   A
START WITH P_CODE IS NULL
CONNECT BY  PRIOR CODE = P_CODE;

2012. 10. 15. 15:59

[CSS] 이미지 세로 가운데 정렬

div.thumb {
background: #eee;
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
}
div.thumb:after {
content: " ";
margin-left: -0.6em;
white-space: pre;
}
div.thumb img {
vertical-align: middle;
}


<div class="thumb"> <img src=http://img.jpg alt=""> </div>

 

 

width와 height 이미지에 맞게 조정

사용가능 브라우저 : IE8 이상, 사파리,파이어폭스

출처 : http://blog.naver.com/PostView.nhn?blogId=2z00&logNo=140165679377

2012. 10. 11. 17:24

cygwin ssh 설정

1. 다운로드

 

1. cygwin 다운로드

url : http://cygwin.com/setup.exe

 

2. 설치

http://www.jopenbusiness.com/tc/oss/entry/cygwin%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-OpenSSH-%EC%84%A4%EC%B9%98

 

http://www.jopenbusiness.com/mediawiki/index.php/Cygwin#OpenSSH_.EC.84.9C.EB.B9.84.EC.8A.A4_.EB.93.B1.EB.A1.9D

 

패키지 설치시 주의사항

 

editor 에서 vi 추가

admin 에서  cygrunsrv 추가

net 에서 openssh, openssl 추가

 

설치 완료  후 터미널 실행(계정은 한글 안됨)

 

ssh 설치 명령어 : ssh-host-config -y

 

설치 완료후 서비스 실행 : net start sshd

실행 안될시 : 시작 > services.msc > CYGWIN_sshd > 시작

 

윈도우 계정 동기화

$ mkpasswd --local > /etc/passwd
$ mkgroup --local > /etc/group

 

심볼릭 링크

ln -s /cygdrive/d/폴더 /home

 

* 상위폴더로 접근되는 문제점이 있음.

 


 

2012. 9. 21. 01:36

자바스크립트 문자열검사

문자열내에 배열에 있는 문자가 있는지 확인하여 위치를 리턴하면 리턴값을 변경하여

 

호출된 위치에서 사용한다.   

 

function htmlCharCheck2(){

    var htmlchar=new Array();
    var upperValue = trim(frm_comment.m_ctnt_qna_comment_content.value).toUpperCase();  <<대문자 변경 및 위치
    var result = false;
    htmlchar[0]="SCRIPT";      
    htmlchar[1]="ALERT";
    htmlchar[2]="JAVASCRIPT";
    htmlchar[3]="APPLET";

    for (i=0;i<4;i++){
     var val = 0;
       val = upperValue.indexOf(htmlchar[i].toString());
       
     if(val>=0){
        result = true;
     }
      }

      return result;
   }

 

2012. 9. 20. 17:59

웹로직 세션 공유

도메인간 세션 공유시 사용

 

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd">
  <wls:context-root>/</wls:context-root>
    <wls:session-descriptor>
   <wls:cookie-name>
    JSESSIONID
   </wls:cookie-name>
   <wls:persistent-store-type>
    replicated_if_clustered
   </wls:persistent-store-type>
  </wls:session-descriptor>
</wls:weblogic-web-app>

 

 

 

weblogic.xml

2012. 9. 18. 17:37

엑셀 다운로드시 알림창 뜰경우

엑셀 다운로드시 상단 알림창뜨면서 세션 끊기는경우 익스플로러 설정법

 

도구 > 인터넷 옵션 > 보안 > 사용자 지정 수준

 

1.  파일 다운로드시 자동으로 사용자에게 물음  (사용 )

 

2. XSS 필터 (사용안함 )

2012. 9. 7. 13:42

[펌]JSP 에러처리 방법 및 우선순위

원본 : http://uniksy1106.tistory.com/177

 

에러코드 링크 : http://www.allhost.co.kr/94

 

+ 에러 페이지의 우선 순위

   여러개의 에러 처리가 지정되어져 있을 경우 아래와 같은 우선 순위에 의해 에러 페이지가 나타나게 된다.

   01. page 디렉티브의 errorPage 속성.
   02. web.xml 파일의 <exception-type>에서 지정한 예외 타입 속성.
   03. web.xml 파일의 <error-code>에서 지정한 에러코드 처리 속성.
   04. 해당사항이 없으면 웹 커테이너가 제공하는 기본 에러 페이지를 나타낸다.

 

 

JSP에서 에러페이지를 설정하는 방법에는 크게 세가지 방법이 있다.
그럼, 이 세가지 방법에 대해서 간단히 알아 보도록하자.


+ page 디렉티브(Directive) errorPage 속성을 이용한 에러 처리- [ 에러 처리 01 ]

   특정 페이지에서 에러가 났을 경우 처리할때 주로 사용하게 된다. 
   에러 처리를할 특정 페이지의 page 디렉티브((Directive)에서 errorPage를 추가 하면 끝!! ^^
   이 페이지에서 에러가 날 경우 지정된 페이지를 화면에 나타내게 된다.

  ex. <%@ page errorPage="/error/error.jsp" %>      --->> 에러 페이지 주소


+ web.xml 에서 응답 상태 코드별 에러 처리 - [ 에러처리 02 ]

   web.xml 파일에서 <error-page> 태그를 통해 에러를 처리한다.
   이 경우 404 에러가 나게 되면 지정된 페이지를 보여주게 된다.

   ex.    <error-page>
               <error-code>404</error-code>                 --->> 에러 코드
               <location>/error/error404.jsp</location>    --->> 에러 페이지 주소
           
</error-page>


+ web.xml 에서 예외 타입별 에러 처리 - [ 에러처리03 ]

   web.xml 파일에서 <exception-type> 태그를 통해 에러를 처리 한다.
   이 경우 지정된 예외 타입의 에러가 나게 되면 지정된 페이지를 보여주게 된다.
 
  ex.    <error-page>
              <exception-type>java.lang.NullPointerException</exception-type>   --->> 에외 타입
              <location>/error/errorNullPointException.jsp</location>                 --->> 에러 페이지 주소
          </error-page>


+ 에러 페이지 생성

   에러 페이지는 페이지의 특성과 디자인에 맞게 만들어 주면된다.
   만약, 에러 페이지에서 exception 기본 객체를 사용하고 싶다면
   페이지 디렉티브의 isErrorPage 속성값을 true로 지정해주면 된다.

  ex. <%@ page isErrorPage="true" %>


  인터넷익스플로러(ie)에서는 에러 페이지의 길이가 513 바이트 보다 작으면 우리가 보여주려고하는 
  에러 페이지를 나타내지 않고, ie에서 자체적으로 제공하는 'HTTP 오류 메세지'를 화면에 나타내게 된다.
  이점에 주의해야하며, 올바르게 나타내기 위해선 주석 등으로 513 바이트 이상이 되록 해주면 된다.



2012. 7. 26. 13:48

STRING 클래스의 SPLIT 사용시 .(점) 사용시 문제 해결

SPLIT 정규식을 사용하는데 .(점) 을 그대로 인식시키기 위해서는 점 앞뒤로  [ ] 을 넣어주면된다.

 

EX : [.]

 

샘플소스

 

public class Spliting {

 public static void main(String[] args) {
  
  String ex_ip = "123.456.789.101";
  
  String [] pre_ip = ex_ip.split("[.]");
  
  System.out.println("***."+pre_ip[1]+".***."+pre_ip[3]);
 }
}

 

참조주소 : http://blog.naver.com/PostView.nhn?blogId=jingjingea&logNo=20088805525

'-=-= 컴퓨터 =-=- > JAVA' 카테고리의 다른 글

로딩 타이머  (0) 2012.11.06
JAVA 속성 조회  (0) 2012.11.06
자바 정규식 활용  (0) 2012.05.21
클래스변수 인스턴스 변수 사용  (0) 2011.09.24
java.math.BigDecimal 형변환 오류  (0) 2011.08.17
2012. 7. 25. 10:57

리눅스 폴더 마운트

mount 명령

 

#mount --bind /source_test /test2

 

부팅시 자동마운트

 

/etc/rc.local 위치에 추가

 

#mount --bind /source_test /target_test2

2012. 7. 5. 13:17

window.createPopup()을 이용한 팝업창의 드래그 방지

createpopup을 이용한 팝업창에서 드래그를 방지할려고 했는데 일반적인 방지태그는 안먹었는

new function을 이용해 하니 먹었다.

innerHTML을 사용할경우 일반적으로 SCRIPT가 먹지 않는다. 고려대상이므로 스크립트부터 되게한후 적용하는게 좋다.

defer 옵션이 일회성이라고 한다.

 

소스

 Cal_HTML += " <div>";
 Cal_HTML += " <script type=\"text/javascript\" defer>";
 Cal_HTML += "  document.oncontextmenu = new Function('return false');"; //오른쪽마우스방지
 Cal_HTML += "  document.ondragstart = new Function('return false');";   //드래그 방지
 Cal_HTML += "  document.onselectstart = new Function('return false');"; //선택방지
 Cal_HTML += " </script>";
 Cal_HTML += " </div>";

2012. 7. 4. 10:14

XP 공유 연결수 제한 풀기

XP 프로 연결제한수 : 10명         /  XP 홈  : 5명

 

공유접속시 제한으로 접속이 안될경우 패치를 통하여 늘릴수 있다.

 

최대 50명 가능

 

패치파일 :

EvID4226Patch223d-en.zip

 

다른방법

//공유폴더 확인

net share

 

net stat 공유폴더이름 /unlimited

net share 공유폴더 이름 /unlimited

 

//휴면상태 세션정리

net config server /autodisconnect:1         <<1분동안 활동이 없을경우

2012. 5. 31. 12:34

이클립스와 웹로직 연동시 콘솔에서 한글깨짐 현상 해결

이클립스와 웹로직 연동시 인코딩 방식에 따라 콘솔에 한글이 깨진다.

 

해결방법

 

웹로직폴더홈\user_projects\domains\서버 도메인\bin\setDomainEnv.cmd

 

약 184 라인 부분에

 

set JAVA_PROPERTIES=-Dplatform.home=%WL_HOME% -Dwls.home=%WLS_HOME% -Dweblogic.home=%WLS_HOME% -Dwli.home=%WLI_HOME% -Dfile.encoding=UTF8 -Dfile.client.encoding=UTF-8

 

빨간색 옵션을 추가한다.

 

관련 추가 내용.

이클립스 메뉴 -> Run -> Run Configurations -> Oracle Weblogic Server -> 서버도메인 -> common 탭 -> console encoding -> utf-8로 변경

2012. 5. 31. 12:22

이클립스 컬러 테마

 

밋밋한 코드에 컬러를 입혀주는 플러그인 입니다.

 

 

플러그인 업데이트 주소

http://eclipse-color-theme.github.com/update/

 

참조 링크

http://www.eclipsecolorthemes.org/?view=plugin

 

2012. 5. 25. 11:46

오라클 리스너 로그 설정 해제

 

 

참조주소 :

http://ssiso.net/cafe/club/club1/board1/content.php?board_code=oracle%7Coratip&idx=1193&club=oracle&cp=7&cb=1&search=&search_word=

 

 

 

$ lsnrctl status
Listener Parameter File   /oracle/product/RAC/network/admin/listener.ora
Listener Log File         /oracle/product/RAC/network/log/listener_db2.log
Listening Endpoints Summary...
$ lsnrctl set log_status off
LISTENER parameter "log_status" set to OFF
The command completed successfully
$ lsnrctl status
Listener Parameter File   /oracle/product/RAC/network/admin/listener.ora
Listening Endpoints Summary...
$ lsnrctl reload
The command completed successfully
$ lsnrctl status
Listener Parameter File   /oracle/product/RAC/network/admin/listener.ora
Listener Log File         /oracle/product/RAC/network/log/listener_db2.log
Listening Endpoints Summary...

$ lsnrctl set log_status on
LISTENER parameter "log_status" set to ON

/oracle/product/RAC/network/admin/listener.ora
------------------------------------------------
LOGGING_LISTENER = OFF

2012. 5. 21. 14:31

자바 정규식 활용

http://blog.daum.net/question0921/419

 

http://levin01.tistory.com/240

 

 

일반적으로 replaceAll로도 가능하나

 

cash[i].replaceAll("[^0-9]", "")  <--숫자아닌거 공백으로 변환

 

제대로 사용할려면 Pattern ,Matcher  사용

 

  String pattern = "<[^<|>]*>";
  String replacePattern = "\r\n";
 
  StringBuffer sb = new StringBuffer();
 
  java.util.regex.Pattern p = java.util.regex.Pattern.compile(pattern);
  java.util.regex.Matcher m = p.matcher(strSrc);

  while(m.find()) {
   m.appendReplacement(sb, m.group().replaceAll(replacePattern,""));
  }
  m.appendTail(sb);
  if(replaceText){
   return sb.toString().replaceAll("\r\n","<br>");
  }else{
   return sb.toString();
  }

 

2012. 5. 11. 12:18

이클립스 콘솔 한글 깨짐

참조 주소 :   http://negafix.tistory.com/32

 

Run >> Run Configuration >> application or server(java ee) >> common 탭 >> console encoding

 

 

default - inherited   --->>   other (euc-kr)