IT

'분류 전체보기'에 해당되는 글 197건

  1. 2016.06.23 Short-circuit ( && , || )
  2. 2015.06.19 Mybatis if 문자열 비교 (1)
  3. 2014.08.01 톰캣 ssl 설정
  4. 2014.07.30 톰캣 설정
  5. 2014.07.18 JSP -> EXCEL 파일 다운로드

&& , || 연산자 사용시 short-circuit이 적용된다.


short-circuit 적용하지 않으려면 & , | 연산자를 사용하면 된다.

(또는 조건 순서를 바꾸거나)


public static void main(String [] args)
{
    System.out.println("&& operator");
    if(returnTrue() && returnFalse())
        System.out.println("1");
    System.out.println();

    System.out.println("& operator");
    if(returnTrue() & returnFalse())
        System.out.println("2");
    System.out.println();

    System.out.println("|| operator");
    if(returnTrue() || returnFalse())
        System.out.println("3");
    System.out.println();

    System.out.println("| operator");
    if(returnTrue() | returnFalse())
        System.out.println("4");
    System.out.println();
}

private static boolean returnTrue()
{
    System.out.println("return true");
    return true;
}

private static boolean returnFalse()
{
    System.out.println("return false");
    return false;

} 


 

결과~~
&& operator
return true
return false

& operator
return true
return false

|| operator
return true
3

| operator
return true
return false

4 



'소프트웨어 > Java' 카테고리의 다른 글

Short-circuit ( && , || )  (0) 2016.06.23
Mybatis if 문자열 비교  (1) 2015.06.19
DB 별 JDBC Driver  (0) 2014.04.17
Apache Commons Configuration을 이용해 설정정보 저장하기  (0) 2014.04.01
java:comp/env  (0) 2014.03.18
java 정규식 표현  (0) 2013.11.25
Posted by sinpk Trackback 0 Comment 0

댓글을 달아 주세요

1. isEmpty(str) 문자열이 널 또는 빈 문자열인지 검사

        방법 1.

             <if test="str != null and str != ''">

             

             비교문 중 &&는 and 또는 &amp;&amp; 로 변환해서 사용

             같다 라는 == 는 == 또는 eq로 변환해서 사용할 수 있음

             <if test="userId != null &amp;&amp; ''.equals(userId)">

        방법 2.

             자바로 함수를 만들어 Mybatis에서 호출하는 형식 (출처 첫번째 링크를 따라가면 자세히 알수 있다)

            

              - default package 일 때

              <if test="@Ognl@isNotEmpty(userId)">
                   and user_id = #{userId}
              </if>

            

              - 패키지가 있을 때

             <if test="@com.web.common.MybatisUtils@isNotEmpty(userId)">


2. isEquas(str) 문자열 비교

   

    <if test="userId == 'hong'"> 이렇게 써도 될것 같지만 에러가 난다.

    Mybatisl에서는 변수가 자바객체처럼 사용되므로 자바에서 사용되는 문자열 비교 메소드를 이용하면 된다.

    싱글쿼테이션과 더블쿼테이션을 잘 보자. ""는 문자열이고 ''는 문자이다.

    equals로 비교할 때에는 ''으로 처리할 경우 비교대상 문자가 한글자이면 비교되지 않지만 두글자 이상이면 싱글쿼테이션으로도

    비교가 가능하다. 문자열은 ""로 처리하는게 나을듯 싶다.

    참고로 equalsIgnoreCase는 대소문자 비교뿐만 아니라 ''만으로도 문자열 비교가 된다. 단 비교할 문자를 먼저 쓴 경우에 당연히 에러.


    <if test='userId.equals("hong")'>  (O)

    <if test='userId == "hong"'>  (O)

    <if test="userId == 'hong'">  (Error)

    <if tset='userId == "h"'>  (O)

    <if test="'hong'.equals(userId)">  (O)

    <if test="'h'.equals(userId)'>  (X)

    <if test="userId.equals('h')">  (X)

    <if test="userId == 'hong'.toString()>  (O)

    <if test="userId eq 'hong'.toString()>  (O)

    <if test="userId.equalsIgnoreCase('hong')">  (O)

    <if test="userId.equalsIgnoreCase('h')">  (O)

    <if test="'h'.equalsIgnoreCase(userId)">  (Error)


3. NumberFormatException 발생시

   <if test=" 파라미터 != null and 파라미터 == ' Y '  ">

      and 필드명 = #{파라미터}

   </if>

   위와 같은 쿼리 실행시 NumberFormatException이 발생한다.

    

아래의 조건으로 해결할 수있다 하지만 싱글쿼터와 더블 쿼터에 주의해야한다.

자바단에서 set( ' Y ' )  저장하는경우 ->  

  <if test=" 파라미터 != null and 파라미터.equals( ' Y ' ) " >


자바단에서 set( " Y " )  저장하는경우 ->     

   <if test=' 파라미터 != null and 파라미터.equals( " Y " )' >          


자바에서 문자로 저장할때와 문자열로 저장할때 싱글쿼터/더블쿼터로 구분해서 사용해야한다.


    




'소프트웨어 > Java' 카테고리의 다른 글

Short-circuit ( && , || )  (0) 2016.06.23
Mybatis if 문자열 비교  (1) 2015.06.19
DB 별 JDBC Driver  (0) 2014.04.17
Apache Commons Configuration을 이용해 설정정보 저장하기  (0) 2014.04.01
java:comp/env  (0) 2014.03.18
java 정규식 표현  (0) 2013.11.25
Posted by sinpk Trackback 0 Comment 1

댓글을 달아 주세요

  1.  댓글주소 수정/삭제 댓글쓰기 맛있는감귤 2017.09.01 10:03 신고

    왜 에러가 발생하는지 몰랐는데 잘해결하고갑니다

 

JSSE 사용시

<-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --> <!-- <Connector port="8443" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile="${user.home}/.keystore" keystorePass="changeit" clientAuth="false" sslProtocol="TLS"/> -->

 

APR 사용시

<-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!--
<Connector
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           SSLCertificateFile="/usr/local/ssl/server.crt"
           SSLCertificateKeyFile="/usr/local/ssl/server.pem"
           clientAuth="optional" SSLProtocol="TLSv1"/>
-->

 

 

'소프트웨어 > JSP' 카테고리의 다른 글

톰캣 ssl 설정  (0) 2014.08.01
톰캣 설정  (0) 2014.07.30
JSP -> EXCEL 파일 다운로드  (0) 2014.07.18
Posted by sinpk Trackback 0 Comment 0

댓글을 달아 주세요

톰캣 설정

2014. 7. 30. 00:27 : 소프트웨어/JSP

maxActive - 커넥션 풀이 제공할 최대 커넥션 개수

whenExhaustedAction - 커넥션 풀에서 가져올 수 있는 커넥션이 없을때 어떻게 동장할지 지정

                                1이면  maxWait에서 지정한 시간 만큼 커넥션을 구할떄까지 기다리고 0이면 에러 2면 일시적으로 생성한다

maxWait - whenExhaustedAction 속성의 값이 1일때 사용되는 대기시간 / 단위는 1/1000초이며 0보다 작으면 무한대기

maxIdle - 사용되지 않고 풀에 저장될 수 있는 최대 커넥션 갯수 / 음수면 제한 없음

middle - 사용되지 않고 풀에 저장될 수 있는 최소 커넥션 갯수 위에껀 최대 이건 최소

testOnBorrow - true 일 경우 커넥션 풀에서 커넥션을 가져올때 커넥션이 유효한지 검사

testOnReturn - true일 경우 커넥션 풀에 커넥션을 반환할때 커넥션이 유효한지 여뷰 검사

timeBetweenEvctionRunsMillis - 사용되지 않는 커넥션을 추출하는 쓰레드의 실행 주기를 지정

                                            이값을 알맞게 지정해서 사용되지 않는 커넥션을 제거하는것이 좋다 보통 10~20분 단위 검사

testWhileIdle - true 일 경우 비활성화 커넥션을 추출할때 커넥션이 유효한지 여부를 검사해서 유효하지 않으면 제거

removeAbandoned="true" <- 사용하지 않는 Connection에 대한 반환여부 설정
removeAbandonedTimeout="60" <- 사용하지 않는 Connection에 대한 반환이 일어나는 시간logAbandoned="true" <- 사용하지 않는 Connection에 대한 로그
validationInterval="30000" <- 유효한 Connection 인지 체크 하는 주기
validationQuery="SELECT 1 FROM DUAL" <-- 유효한 Connection 체크하는 쿼리

'소프트웨어 > JSP' 카테고리의 다른 글

톰캣 ssl 설정  (0) 2014.08.01
톰캣 설정  (0) 2014.07.30
JSP -> EXCEL 파일 다운로드  (0) 2014.07.18
Posted by sinpk Trackback 0 Comment 0

댓글을 달아 주세요

여기서 참조를 따라가 보면, JSP에서 엑셀 파일을 보여주기 위해 BinaryView라는 API를 쓰고 있다는 것을 알게된다. 

BinaryView의 API를 보면, getMimeType이라는 메서드가 있는데... http://help.sap.com/javadocs/boe/xi/ws/en/com/businessobjects/dsws/bicatalog/Document.html#getMimeType()


getMimeType

public java.lang.String getMimeType()
Return the mime type of the Document. 
Supported Business Objects Document types:
  • application/x-rpt (Crystal Report)
  • application/rep (Full Client)
  • application/wid (Webi Document)

Supported third party document mime-types:
  • application/msword (doc)
  • application/vnd.ms-powerpoint (ppt)
  • application/vnd.ms-excel (xls)
  • application/pdf (pdf)
  • application/zip (zip)
  • application/rtf (rtf)
  • application/winhlp (hlp)
  • video/msvideo (avi)
  • video/mpeg (mpg, mpeg)
  • text/plain (txt)
  • text/html (html)
  • text/xml (xml)
  • image/jpeg (jpeg)
  • image/gif (gif)
  • image/bmp (bmp)
  • audio/x-wav (wav)
  • application/x-msaccess (mdb)
  • application/x-mswrite (wri)
  • application/octet-stream

 

Returns:
a string containing the mime type.

 

엑셀에서 숫자를 문자 속성으로 처리하려고 할때

HTML head에 스타일 추가

<style>td { mso-number-format:\@; } </style> 

 

숫자 표현하는 부분의 <TD> 에 style="mso-number-format:\@" 를 추가해도 됨

'소프트웨어 > JSP' 카테고리의 다른 글

톰캣 ssl 설정  (0) 2014.08.01
톰캣 설정  (0) 2014.07.30
JSP -> EXCEL 파일 다운로드  (0) 2014.07.18
Posted by sinpk Trackback 0 Comment 0

댓글을 달아 주세요