server.config.xml (서버 설정)

개요

Project Explorer에서 server.config.xml 서버 설정 파일을 열어 설정할 수 있습니다.

server.websquare.xml

server.config.xml 서버 설정 파일은 열고 하단의 각 탭을 클릭하여 해당 항목들을 설정할 수 있습니다.

서버 설정 (server.config.xml)

주요 설정 항목은 아래와 같습니다.

주요 설정 항목

WebSquare 엔진 모듈 처리 설정

Excel, CSV 업로드/다운로드 설정

Framework 연계관련 adaptor 설정

다국어 처리 설정

WebSquare Hybrid 관련 설정

SP4 vs. SP5 (설정 파일 제어)


config.xml 파일은 클라이언트 설정 파일이고, websquare.xml은 서버 설정 파일입니다.


SP4: config.xml Studio에서 제어 가능. websquare.xml 제어 불가능.

vs.

SP5: config.xmlwebsquare.xml 모두 Studio에서 제어 가능.

로그

각 로그 속성에 대한 설명은 아래와 같습니다.

로그 속성

항목

설명

console

"true"로 설정하면 stdout으로도 로그 내용이 출력됨.

description

로그 설명.

dir

로그 파일을 저장할 경로.

filename

로그 파일명.

level

  • "OFF" : 로그 메시지를 생성하지 않음.

  • "SEVERE" (highest value) : 심각한 오류가 발생과 관련한 로그만 생성. 정상적인 프로그램 실행이 불가능할 때 생성됨.

  • "INFO" : 기본적인 로그만 생성함.

  • "FINE" : 추적 가능한 가장 중요한 내용을 로그로 생성. (FINER와 FINEST는 모든 추적 가능한 내용을 로그로 남기기 때문에 파일 크기가 상대적으로 큼.)

  • "ALL" : 모든 로그 메시지를 생성.

lineNumber

로그 기록 라인 번호 저장 여부.

(시스템 리소스를 많이 사용하기 때문에 운영시에는 반드시 "false"로 설정 해야함.)

name

  • "websquare" : 웹스퀘어 로그명,

  • "exception" : 예외사항 로그명

retentionPeriod

로그 저장 기간 (단위: 일)

thread

쓰레드 번호 저장 여부.

(시스템 리소스를 많이 사용하기 때문에 운영시에는 반드시 "false"로 설정 해야함)

다음은 로그 저장을 위한 websquare.xml 파일 설정 예시입니다.

$r_title(websquare.xml (설정 예))
<log>
	<target console="false" description="기본 로그" dir="C:\service\resource\websquare_home\log" 	filename="websquare" level="ALL" lineNumber="false" name="websquare" retentionPeriod="3" thread="false" />
	<target console="false" description="에러 로그" dir="C:\service\resource\websquare_home\log" 	filename="exception" level="ALL" lineNumber="false" name="exception" retentionPeriod="3" thread="false" />
</log>

Overview

encoding

default_encoding

기본 값

설명

UTF-8

엔진 내부에서 사용하는 인코딩 값.

encoding

기본 값

설명

UTF-8

post 태그를 통하여 form을 통해 post 방식으로 전달되는 파라메터의 인코딩 값.

engine

engineType

기본 값

설명

5

웹스퀘어 엔진의 난독화 및 압축 수준을 설정.

웹스퀘어 엔진의 난독화 및 압축 수준을 설정합니다. 값은 1~8까지 설정 가능합니다.

난독화 및 압축 수준

구분

설명

1

기존 엔진

  • 설정이 없는 경우 기본 값으로 기존 난독화 방식과 동일.

  • 엔진 크기: 1,126 KByte

2

기존 엔진

  • "WebSquare.core.getConfiguration"과 같이 함수마다 선언되어 있는 debug 정보 제거한 엔진.

  • 엔진 크기: 1,045 KByte

3

맵핑 엔진

  • WebSquare를 _$W라는 변수로 치환하여 크기를 축약한 엔진으로 debug 정보를 포함.

  • 엔진 크기: 1,055 KByte

4

맵핑 엔진

  • WebSquare를 _$W라는 변수로 치환하고 debug 정보를 제거한 엔진.

  • 엔진 크기: 974 KByte

5

맵핑 엔진

  • WebSquare를 _라는 변수로 치환하여 크기를 축약한 엔진으로 debug 정보를 포함. 만일 _가 사용중이어서 오류가 발생하면 3번 엔진을 이용.

  • 엔진 크기: 1,040 KByte

6

맵핑 엔진

  • WebSquare를 _$W라는 변수로 치환하고 debug 정보를 제거한 엔진. 만일 _가 사용중이어서 오류가 발생하면 4번 엔진을 이용.

  • 엔진 크기: 959 KByte

7

맵핑 엔진

  • 4번 엔진에서 WebSquare.exception.printStackTrace와 WebSquare.logger.printLog를 제거한 버전. 운영환경에서 로그 출력이 없어야 하는 경우 사용.

  • 엔진 크기: 879 KByte

8

맵핑 엔진

  • (_)(debug 정보 제거) (log출력 제거)

개발환경은 5를 권장하고, 운영환경은 6을 권장합니다.

w2xType이 포함된 URL을 이용하여 직접 지정할 수 있습니다.

http://localhost:9999/websquare/websquare.html?w2xPath=/preview2.xml&w2xType=3
엔진 타입 별 로그

WebSquare Engine Type

로그

1

Default engine with debugging information.

2

Default engine without debugging information.

3

Remapping engine with debugging information.

4

Remapping engine without debugging information.

5

Short Remapping engine with debugging information.

6

Short Remapping engine without debugging information.

7

Remove logger and remapping engine.

8

Remove logger and short remapping engine.

engineType 별 소스는 아래와 같습니다.

$r_title(engineType: 1)
WebSquare.Actions = {};
WebSquare.Actions.WebSquareAction = function(_1) {
    ["WebSquare.Actions.WebSquareAction"];
    try {
        if (arguments.length == 0) {
            return;
        }
        WebSquare.WebSquareObject.call(this, _1, true);
    } catch (e) {
        WebSquare.exception.printStackTrace(e);
    }
};
$r_title(engineType: 2)
WebSquare.Actions = {};
WebSquare.Actions.WebSquareAction = function(_1) {
    try {
        if (arguments.length == 0) {
            return;
        }
        WebSquare.WebSquareObject.call(this, _1, true);
    } catch (e) {
        WebSquare.exception.printStackTrace(e);
    }
};
$r_title(engineType: 3)
_$W._E = {};
_$W._E.WebSquareAction = function(_1) {
    ["WebSquare.Actions.WebSquareAction"];
    try {
        if (arguments.length == 0) {
            return;
        }
        _$W.WebSquareObject.call(this, _1, true);
    } catch (e) {
        _$W.exception.printStackTrace(e);
    }
};
$r_title(engineType: 4)
_$W._E = {};
_$W._E.WebSquareAction = function(_1) {
    try {
        if (arguments.length == 0) {
            return;
        }
        _$W.WebSquareObject.call(this, _1, true);
    } catch (e) {
        _$W.exception.printStackTrace(e);
    }
};
$r_title(engineType: 5)
_._E = {};
_._E.WebSquareAction = function(_1) {
    ["WebSquare.Actions.WebSquareAction"];
    try {
        if (arguments.length == 0) {
            return;
        }
        _.WebSquareObject.call(this, _1, true);
    } catch (e) {
        _.exception.printStackTrace(e);
    }
};
$r_title(engineType: 6)
_._E = {};
_._E.WebSquareAction = function(_1) {
    try {
        if (arguments.length == 0) {
            return;
        }
        _.WebSquareObject.call(this, _1, true);
    } catch (e) {
        _.exception.printStackTrace(e);
    }
};
$r_title(engineType: 7)
_$W._E = {};
_$W._E.WebSquareAction = function(_1) {
    try {
        if (arguments.length == 0) {
            return;
        }
        _$W.WebSquareObject.call(this, _1, true);
    } catch (e) {}
};
$r_title(engineType: 8)
_._E = {};
_._E.WebSquareAction = function(_1) {
    try {
        if (arguments.length == 0) {
            return;
        }
        _.WebSquareObject.call(this, _1, true);
    } catch (e) {}
};

etag

기본 값

설명

support

etag 사용 유무.

wqDefiner

기본 값

설명

사용자 정의 wq의 구현체.

http 요청 시 wqDefiner.wq를 사용하면 사용자가 정의한 class의 doHandle을 호출.

date

encoding

기본 값

설명

UTF-8

"2016년 11월 11일"와 같은 한글 형식의 날짜를 반환 하는 경우 사용할 인코딩 값.

서버의 인코딩 설정에 따라 한글이 깨질 수 있음.

일반적인 pattern:yyyyMMdd 패턴인 경우 별도의 설정이 필요 없음.

Upload

file upload

support

기본 값

설명

true

엔진 업로드 기능 사용 여부.

  • false: upload.wqimageUpload.wq 업로드 기능이 동작하지 않음.

useFileUpload

기본 값

설명

true

파일업로드 사용유무

  • false: upload.wq 요청이 동작하지 않음. 단, imageUpload.wq는 사용 가능.

encoding

기본 값

설명

UTF-8

업로드 하는 파일의 파일명 인코딩 방법.

baseDir

기본 값

설명


파일이 올라갈 경로.


(주의)

  • 실제 서버에 존재하지 않는 경로를 baseDir 항목으로 설정할 경우, 에러가 발생.

5M 이상의 파일 업로드


파일 크기가 5M 이상인 경우,

(1) Temp 파일은 baseDir로 지정한 폴더로 지정되고,

(2) 업로드가 완료되면 subDir로 이동.

subDir

기본 값

설명


하위 노드.

태그 이름은 사용자 정의가 가능.

$r_title(설정 예 (baseDir))
<websquare>
    <upload>
        <baseDir value="D:\upload\">      
            <subDir1 value="D:\upload\test1\" />
        </baseDir>
    </upload>
</websquare>

Upload 컴포넌트의 subDir 속성 값에 이 태그의 이름을 주어 세부 조정을 할 수 있습니다.


(예)

Upload 컴포넌트에 subDir 설정이 없다면 D:\upload\ 가 기본 경로가 됩니다 subDir 설정 값이 subDir1이라면 D:\upload\test1\ 가 기본 경로로 설정됩니다.)

name

기본 값

설명


Uplooad 컴포넌트의 baseDir 하위 경로를 지정하기 위한 이름.

path

기본 값

설명


Uplooad 컴포넌트의 subDir 속성 값을 조정하기 위한 태그.

firstfilePostFix

기본 값

설명

false

파일명에 unique한 postfix를 추가.

duplicatedFilePostFix

기본 값

설명


업로드 시 동일한 파일이 이미 존재할 경우, 설정한 값을 파일명 뒤에 추가되는 postfix로 사용.

sequence

기본 값

설명

false

파일명에 순차적인 순번을 추가.

WAS가 재시작되면 순번이 초기화됨.

maxUploadSize

기본 값

설명

1048576

업로드 하는 파일의 최대 크기를 설정.

(단위: byte)

설정하지 않을 경우 기본 값은 1Mbyte임

subDirMaxUpload

기본 값

설명


업로드 하는 파일의 최대 크기를 설정. (단위: byte)

설정하지 않을 경우 기본 값은 1Mbyte.

name

기본 값

설명


업로드 하는 파일의 이름.

path

기본 값

설명


업로드 하는 파일의 경로.

allowedExtension

기본 값

설명

gif, jpg, doc, xls, ppt, pdf, txt

업로드를 허용할 파일의 확장자

deniedExtension

기본 값

설명

exe

업로드를 허용하지 않는. 파일의 확장자

uploadMode

기본 값

설명

session

업로드 시 사용할 폴더명을 정의.

  • session (기본 값): session의 folderName 설정 값으로 폴더명을 정의.

  • random: websquare.xml 파일의 folderName 설정 값을 읽어 폴더명을 정의.

folderName

기본 값

설명


업로드할 폴더명.

removeKeyPath

기본 값

설명

false

업로드 후 업로드 결과가 XML로 반환됨.

반환되는 결과 정보 중 key 노드가 실제 경로를 포함.

해당 경로 정보의 삭제 여부.

  • true: 삭제

fileDefiner

기본 값

설명


file명과 filePath를 정의 할 수 있는 인터페이스.

설정하지 않을 경우 WebSquare에서 지원하는 파일명과 파일 경로를 그대로 사용.

파일명과 파일 경로의 커스트마이징이 필요할 경우, 아래와 같이 추상클래스에 정의되어 있는 method를 구현합니다. 이후, 구현한 class의 전체 package 경로를 fileDefiner 속성에 설정합니다.

$r_title(설정 예 (fileDefiner))
<websquare>
    <upload>
        <fileDefiner value="site.SiteUploadFileDefinerImpl" />
    </upload>
</websquare>
$r_title(AbstractUploadFileDefiner 클래스)
package websquare.upload.handl;
public abstract class AbstractUploadFileDefiner {     
    
    abstract public String getFileName( String clientFileName, String originalFileName ) throws Exception;
     
    abstract public String getFilePath( String filePath ) throws Exception;
     
}
$r_title(구현 예시 (SiteUploadFileDefinerImpl))
package site;
import websquare.upload.handl.*;
public class SiteUploadFileDefinerImpl extends AbstractUploadFileDefiner {
     
    public String getFileName( String clientFileName, String originalFileName ) throws Exception {
        // 파일명 처리
       return originalFileName;
    }
     
    public String getFilePath( String filePath ) throws Exception {
        // 경로명 처리
        return filePath;
    }
}

decrypt

기본 값

설명


파일업로드시 DRM연계시 복호화를 지원하기 위한 인터페이스.

아래의 방법으로 복호화 연계를 구현할 수 있습니다.

  1. 추상 클래스에 정의되어 있는 method를 구현합니다.

  2. 구현한 class의 전체 package 경로를 decrypt 속성에 설정합니다. (필수)

  3. 복호화를 위한 temp 디렉토리 작업 경로를 tempDir 속성에 설정합니다. (필수)

$r_title(설정 예 (decrypt))
<websquare>
    <upload>
        <decrypt value="site.SiteDefinerImpl" tempDir="temp경로"></decrypt>
    </upload>
</websquare>
$r_title(AbstractUploaDecrypter 클래스)
package websquare.upload.handl;
import java.io.*;
public abstract class AbstractUploaDecrypter {

    abstract public File decrypt( File file ) throws Exception;

}
$r_title(구현 예 (SiteDefinerImp))
package site;
import websquare.upload.handl;
public class SiteDefinerImpl extends AbstractUploaDecrypter {
     
    public String decrypt( File file ) throws Exception;
        // 복호화 처리
       return file;
    }
}

decryptTempDir

기본 값

설명


복호화를 위한 temp 디렉토리 작업 경로를 설정.

Image Upload

baseDir

기본 값

설명


파일이 올라갈 경로.

multiSubDir

기본 값

설명


baseDir 하위의 경로.

지정할 경우, /websquare/upload/imgUpload/baseDir/subDir/@value 설정값은 무시됨.

verifyHeader

기본 값

설명

true

유효한 이미지 확장자(gif, jpg, jpeg, jpe, ico, png) 검증

allowedExtension

기본 값

설명

업로드를 허용할 파일의 확장자

deniedExtension

기본 값

설명

업로드를 허용하지 않는 파일의 확장자

imageDefiner

기본 값

설명

이미지를 업로드할 경우 file명과 filePath를 정의할 수 있는 인터페이스.

설정하지 않을 경우 WebSquare에서 지원하는 파일명과 파일 경로를 그대로 사용.

파일명과 파일 경로를 커스트마이징해야할 경우, 추상클래스에 정의되어 있는 method를 구현한 후 imageDefiner value속성에 구현한 class의 package 전체경로를 설정해야 합니다.

subDir (deprecated)

기본 값

설명


baseDir 하위의 경로.

지정할 경우, /websquare/upload/imgUpload/subDir/@value 설정값은 무시됨.

excel

excel upload

maxRowCount

기본 값

설명

1000

엑셀 업로드 시 최대 업로드 행 수.

maxRowCount 속성은 splitProvider와 함께 동작합니다.

maxCellCount

기본 값

설명


Excel 파일 업로드 시 업로드 가능한 최대 셀 수.

maxUploadSize

기본 값

설명


업로드 가능한 최대 파일 크기를 지정. (단위: 바이트)

loadingMode

기본 값

설명

POI

Excel 파일 업로드 방법.

  • POI: POI 라이브러리 중 객체를 생성.

  • SAX: XML 형태의 데이터를 읽음.

saxDecimal

기본 값

설명


loadingMode="SAX" 사용 시 소수점 출력 자리 수를 지정.

decrypt

기본 값

설명


Excel 파일 업로드 시 DRM 복호화를 지원하기 위한 interface를 지정.

복호화 연계가 필요한 경우, 추상 클래스에 정의되어 있는 method를 구현한 후 decrypt value속성에 구현한 class의 package 전체 경로를 설정.

$r_title(설정 예 (decrypt))
<websquare>
	<csv>
		<upload>
			<decrypt value="site.SiteUploaDecrypter" tempDir="temp경로"></decrypt>
		</upload>
	</csv>
</websquare>
$r_title(AbstractUploaDecrypter 클래스)
package websquare.upload.handl;
import java.io.*;
public abstract class AbstractUploaDecrypter {
    abstract public File decrypt(File file) throws Exception;
}
$r_title(구현 예 (SiteUploaDecrypter))
package site;
import java.io.*;
import websquare.upload.handl;
public class SiteUploaDecrypter extends AbstractUploaDecrypter {
    public File decrypt(File file) throws Exception {
        // 복호화 처리
        return file;
    }
}

temp

기본 값

설명


복호화를 위한 임시 디렉토리 작업 경로.

dataConvertor

기본 값

설명


Excel 파일 업로드 시 셀 값의 커스터마이징을 위한 인터페이스.

각 셀 값을 커스터마징할 경우, interface에 정의되어 있는 method를 구현 후 dataConvertor value 속성에 구현한 class의 package 전체 경로를 설정.

$r_title(설정 예 (dataConvertor))
<websquare>
	<excel>
		<upload>
			<dataConvertor value="site.SitecellDataProvierImpl" />
		</upload>
	</excel>
</websquare>
$r_title(ICellDataProvider)
package websquare.http.controller.grid.excel.read;
public interface ICellDataProvider {
    public String convertValue(String cellvalue) throws Exception;
}
$r_title(구현 예(SitecellDataProvierImpl))
package site;
public class SitecellDataProvierImpl implememnts ICellDataProvider {
    public String convertValue(String cellvalue) throws Exception {
        // cellvalue 수정
        return cellvalue;
    }
}

validExtension

기본 값

설명

false

Excel 파일 업로드시 확장자 확인 여부. xls 혹은 xlsx 확장자에 맞는 POI를 사용.

cellDataConvertor

기본 값

설명


업로드하는 Excel 파일의 셀 값 변경 시, 사용자 class를 구현후 구현된 class의 full package명을 설정.

applyExcelFormat

기본 값

설명


셀 타입이 숫자이고 소수점 자리가 가변인 경우, 소수점 자리에 맞는 포맷을 생성하여 적용.

dataRefine

기본 값

설명


Excel 파일 데이터에 내부에 ' (apos)가 있는 경우 치환 유무.

excel download

headerColor

기본 값

설명


다운로드하는 Excel 파일의 header 색상.

$r_title(설정 예)
<websquare>
    ...
    <excel>
        ...
        <headerColor value="#FF0000" /> <!-- red -->
        ...
    </excel>
</websquare>

bodyColor

기본 값

설명


다운로드하는 Excel 파일의 body 색상.

$r_title(설정 예)
<websquare>
    ...
    <excel>
        ...
        <bodyColor value="#FFFF00" /> <!-- yellow -->
        ...
    </excel>
</websquare>

footerColor

기본 값

설명


다운로드하는 Excel 파일의 footer 색상.

$r_title(설정 예)
<websquare>
    ...
    <excel>
        ...
        <subtotalColor value="#00FFFF" /> <!-- aqua -->
        ...
    </excel>
</websquare>

subtotalColor

기본 값

설명


다운로드하는 Excel 파일의 subtotal 색상.

$r_title(설정 예)
<websquare>
    ...
    <excel>
        ...
        <footerColor value="#008000" /> <!-- green -->
        ...
    </excel>
</websquare>

maxRowCount

기본 값

설명


다운로드하는 Excel 파일의 최대 행 수.

maxRowCount 속성은 splitProvider와 함께 동작.

allowedExtension

기본 값

설명


다운로드를 허용할 파일의 확장자를 지정.

rowAccessWindowSize

기본 값

설명

100

POI 3.9 이상(xlsx) 지원되는 대량 건 처리를 위한 설정.

메모리에 저장할 행의 수.

encrypt

기본 값

설명


Excel 파일 다운로드 시 DRM 연계 암호를 위한 인테피이스.

암호화 연계가 필요한 경우, 추상클래스에 정의되어 있는 method를 구현후 encrypt value속성에 구현한 class의 package 전체 경로를 설정 .

$r_title(설정 예 (encrypt))
<websquare>
	<excel>
		<download>
			<encrypt value="site.SitetDownloadEncrypterImpl" />
		</download>
	</excel>
</websquare>
$r_title(AbstractDownloadEncrypter 클래스)
package websquare.download.handl;
import java.io.*;
import javax.servlet.http.*;
public abstract class AbstractDownloadEncrypter {
    abstract public void encrypt(BufferedInputStream is, HttpServletRequest request, HttpServletResponse response) throws Exception;
}
$r_title(구현 예 (SitetDownloadEncrypterImpl))
package site;
import websquare.download.handl;
import java.io.*;
import javax.servlet.http.*;
public class SitetDownloadEncrypterImpl extends AbstractDownloadEncrypter {
    public void encrypt(BufferedInputStream is, HttpServletRequest request, HttpServletResponse response) throws Exception {
        // 암호화 처리
        // response에 암호화 처리된 stream을 write합니다.
    }
}

tempDir

기본 값

설명


advancedExcelDownload 옵션 중 pwd를 지정한 경우 (xlsx만 지원) 비밀번호 설정을 위한 임시 폴더 경로.

dataConvertor

기본 값

설명


Excel 파일 다운로드 시 셀 값 커스터마이징에 필요한 인터페이스.


각각의 셀 값을 커스터마이징할 경우, interface에 정의되어 있는 method를 구현 후 dataConvertor value 속성에 구현한 class의 package 전체 경로를 설정.

$r_title(설정 예 (dataConvertor))
<websquare>
	<excel>
		<download>
			<dataConvertor value="site.SiteCellDataProviderImpl" />
		</download>
	</excel>
</websquare>
$r_title(ICellDataProvider interface)
package websquare.http.controller.grid.excel.write;

public interface ICellDataProvider {
    public String convertValue(String cellvalue) throws Exception;
}
$r_title(구현 예 (SiteCellDataProviderImpl))
package site;
import websquare.http.controller.grid.excel.write;

public SiteCellDataProviderImpl implements ICellDataProvider {
    public String convertValue(String cellvalue) throws Exception {
        // cellvalue 수정
        return cellvalue;
    }
}

dataXMLProvider

기본 값

설명


클라이언트에서 전송한 Excel 파일 다운로드용 XML 정보를 사용자가 직접 수정할 수 있는 인터페이스.

사용자가 구현한 class full package 명을 설정.

baseDir

기본 값

설명


gridView inputType="image"인 경우, Excel 파일에 삽입할 이미지가 존재하는 서버의 절대 경로.

dataTypeDate

기본 값

설명


셀 타입을 "날짜"로 지정하기 위해 필요한 설정.

advancedExcelDownload 옵션 중 useDataFormat="true"로 지정하고 본 설정을 "calendar"로 지정하게 되면 날짜 형식으로 설정됨.

mobile download

keyMode

기본 값

설명


Android에서 Excel 파일 다운로드 시 특정 기기에서 서버 요청이 두번 발생하는 현상처리를 위해 지원.


  • 첫번째 요청으로 전송받은 정보를 session에 설정하고,

  • 두번째 요청에서 session에 저장한 정보를 조회 하여 다운로드 처리를 진행.


session에 설정할 key값은 keyMode노드의 값을 설정하여 사용.

preFix

기본 값

설명

session

websquare 엔진 내부에서 사용하는 키 값 대신 사용자가 설정한 값을 사용하기 위한 설정.

$r_title(사용 예)
<keyMode value="random" preFix="SITE" />

// "random"으로 설정된 경우, 
// client에서 "randomKey"로 설정된 문자열(request.getParameter("randomKey") )에 
// "SITE" 문자열을 접두어로 붙여 key로 사용.

userAgent

기본 값

설명


두 번 요청하는 기기의 userAgent의 정규식을 설정.

definer

기본 값

설명


Android에서 Excel 파일 다운로드 시 특정 기기에서 서버 요청이 두 번 발생하는 현상 처리를 위한 설정.

특정 기기에서 서버 요청이 두번 발생하는 현상 처리용. 사용자가 정의한 사용자 class에 client에서 전송한 XML 정보를 전달하기 위한 인터페이스를 설정.

csv

general information

encoding

기본 값

설명

UTF-8

업로드 하는 파일의 파일명 인코딩 방법.

useBOM

기본 값

설명

false

BOM 값 설정 여부.

  • "true" : BOM 값을 설정.

opencsv

기본 값

설명

false

csv 스펙을 구현한 opencsv 외부 모듈을 사용.

csv upload

maxUploadSize

기본 값

설명

50Mbyte

업로드 하는 CSV 파일의 최대 크기를 설정. (단위: byte)

decrypt

기본 값

설명


CSV 파일 업로드 시 DRM 복호화를 지원하기 위한 인터페이스.

사용자가 복호화 연계가 필요한 경우 아래와 같이 추상클래스에 정의되어 있는 method를 구현후 decrypt value속성에 구현한 class의 package 전체경로를 설정합니다.

tempDir

기본 값

설명


복호화를 위한 임시 디렉토리 경로.

checkEncode

기본 값

설명

false

업로드되는 파일의 BOM 확인 유무.

csv download

keyMode

기본 값

설명


Android에서CSV 파일 다운로드 시 특정 기기에서 서버 요청이 두번 발생하는 현상 처리를 위해 설정.



  • 첫번째 요청으로 전송받은 정보를 session에 설정하고,

  • 두번째 요청에서 session에 저장한 정보를 조회 하여 다운로드 처리를 진행.



session에 설정할 key값은 keyMode노드의 값을 설정하여 사용.

websquare 엔진 내부에서 사용하는 키 값 대신 사용자가 설정한 값을 사용하기 위한 설정.

$r_title(사용 예)
<keyMode value="random" preFix="SITE" />

// "random"으로 설정된 경우, 
// client에서 "randomKey"로 설정된 문자열(request.getParameter("randomKey") )에 
// "SITE" 문자열을 접두어로 붙여 key로 사용.

prefix

기본 값

설명


websquare 엔진 내부에서 사용하는 키 값 대신 사용자가 설정한 값을 사용하기 위한 설정.

userAgent

기본 값

설명


두 번 요청하는 기기의 userAgent의 정규식을 설정.

dataConvertor

기본 값

설명


CVS 파일 다운로드 시 셀 값 커스터마이징에 필요한 인터페이스.



각각의 셀 값을 커스터마이징할 경우, interface에 정의되어 있는 method를 구현 후 dataConvertor value 속성에 구현한 class의 package 전체 경로를 설정.

$r_title(설정 예 (dataConvertor))
<websquare>
	<csv>
		<download>
			<dataConvertor value="site.SiteCellDataProviderImpl" />
		</download>
	</csv>
</websquare>
$r_title(ICellDataProvider interface)
package websquare.http.controller.grid.write;

public interface ICellDataProvider {

    public String convertValue(String cellvalue) throws Exception;

}
$r_title(구현 예 (SiteCellDataProviderImpl))
package Site;
imports websquare.http.controller.grid.write;

public SiteCellDataProviderImpl implements ICellDataProvider {
    public String convertValue(String cellvalue) throws Exception {
        // cellvalue 수정
        return cellvalue;
    }
}

encrypt

기본 값

설명


CSV 파일 다운로드 시 DRM 연계 암호를 위한 인테피이스.

암호화 연계가 필요한 경우, 추상클래스에 정의되어 있는 method를 구현후 encrypt value속성에 구현한 class의 package 전체 경로를 설정 .

$r_title(설정 예 (encrypt))
<websquare>
	<csv>
		<download>
			<encrypt value="site.SiteCellDataProviderImpl" />
		</download>
	</csv>
</websquare>
$r_title(AbstractDownloadEncrypter 클래스)
package websquare.download.handl;
import java.io.*;
import javax.servlet.http.*;

public abstract class AbstractDownloadEncrypter {
    abstract public void encrypt(BufferedInputStream is, HttpServletRequest request, HttpServletResponse response) throws Exception;

}
$r_title(구현 예 (SitetDownloadEncrypterImpl))
package site;

import java.io.*;
import javax.servlet.http.*;
import websquare.download.handl

public class SitetDownloadEncrypterImpl extends AbstractDownloadEncrypter {
    public void encrypt(BufferedInputStream is, HttpServletRequest request, HttpServletResponse response) throws Exception {
        // 암호화 처리
        // response에 암호화 처리된 stream을 write합니다.
    }
}

mobile download

definer

기본 값

설명


CSV 파일 다운로드 시 특정 기기에서 서버 요청이 두 번 발생하는 현상 처리를 위한 설정.

특정 기기에서 서버 요청이 두번 발생하는 현상 처리용. 사용자가 정의한 사용자 class에 client에서 전송한 XML 정보를 전달하기 위한 인터페이스를 설정.

i18n

general information

baseDir

기본 값

설명


다국어 properties 파일이 위치하는 경로.

defaultLocale

기본 값

설명


기본 locale.

domain

name

기본 값

설명


ip 혹은 도메인.

locale

기본 값

설명


locale.

localeParam

기본 값

설명


get 방식으로 locale을 넘길 파라미터 이름.

storageType

기본 값

설명


XML 읽는 방식.

  • 0 : file

  • 1 : war

  • 2 : jar

  • 3 : http

  • 4 : https

baseUrl

기본 값

설명


http 기본 경로

(사용 예)

  • http://localhost:8080

cache

기본 값

설명

false

cache 사용 유무

https

keystorePath

기본 값

설명


storageType="4" 설정(https)을 사용할 경우, 인증서 (jks) 파일의 경로.

keystoreType

기본 값

설명


storageType="4" 설정(https)을 사용할 경우, 인증서 형식

  • PKCS12

  • JKD

keystoreaPass

기본 값

설명


storageType="4" 설정(https)을 사용할 경우, 인증서 비밀번호.

xmlInfo

web2fileCacheImpl

기본 값

설명


사용자 정의 구현 팩키징 경로.

지정하지 않을 경우, WebSquare에서 기본 제공하고 있는 default 구현체를 사용.

excludeList

기본 값

설명


storageType="0"인 경우 XML 경로(full path)에 포함되지 말아야 하는 문자열을 검증하기 위한 설정.

검증해야되는 문자열을 설정.

messageInfo

storageType

기본 값

설명


Properties를 읽어오는 방식

  • 0 : file

  • 1 : war

  • 2 : jar

  • 3 : http

  • 4 : https

baseDir

기본 값

설명


Properties가 있는 절대 위치

messageImpl

기본 값

설명

websquare.i18n.impl.DefaultMessageImpl

properties 를 읽어올수 있는 사용자 정의 속성.

구현체의 full package 명을 입력.

입력하지 않으면 default로 동작.

resource

기본 값

설명


다국어 properties 파일 경로 지정 (en)

obfuscate

encodeParameter

기본 값

설명

false

노출되는 경로를 난독화하기 위한 설정.

fileNameBase64Decode

기본 값

설명

false

노출되는 XML 파일명을 난독화하기 위한 설정.