질문/답변 페이지 많이 이용해 주세요.

Posts tagged ‘Java’

Java properties 에서 문자 치환하기.

저는 아래와 같은 properties 파일을 만들고,

UNKNOWNERROR=알 수 없는 오류입니다.(ERRORCODE)

아래와 같은 코드로 ERRORCODE를 대체해 왔습니다.

package com.idatabank.sso.exception;

import java.util.ResourceBundle;

public class SSOException extends Exception {
    public SSOException() {
        super();
    }
    
    public SSOException(String errorType) {
        super(errorType);
        
        userMessage = rb.getString(errorType);
        
        if ( userMessage == null ) {
            userMessage = rb.getString("UNKNOWNERROR").replaceAll("ERRORCODE", errorType);
        }
    }
    
    /**
     * 사용자 에러 메시지를 세팅한다.
     * @param userMessage
     */
    public void setUserMessage(String userMessage) {
        this.userMessage = userMessage;
    }
    
    /**
     * 사용자 에러 메시지를 반환한다.
     * @return
     */
    public String getUserMessage() {
        return userMessage;
    }
    
    private String userMessage = null;
    private static final ResourceBundle rb = ResourceBundle.getBundle("com.idatabank.sso.exception.Messages");
}

그런데, 오늘 문자열 치환의 새로운 방법을 찾았습니다.

http.method_not_implemented=Method {0} is not defined in RFC 2068 and is not supported by the Servlet API 
      String errMsg = rb.getString("http.method_not_implemented");
      Object[] errArgs = new Object[1];
      errArgs[0] = method;
      errMsg = java.text.MessageFormat.format(errMsg, errArgs);

이 방법이 좀더 우아해 보입니다.

Java jarcheck.jsp로 클래스 파일 찾기

Java 웹애플리케이션에서 클래스 파일의 실제 위치를 찾을 때 사용하는 유용한 jsp
jarcheck.jsp

    String reqName = null;
    java.net.URL classUrl = null;
    reqName = request.getParameter("reqName");
    if (reqName == null || reqName.trim().length() == 0) {
        reqName = "javax.servlet.http.HttpServlet";
    }
    if (reqName.trim().length() != 0) {
 	reqName = reqName.replace('.', '/').trim();
	reqName = "/" + reqName + ".class";
        classUrl = this.getClass().getResource(reqName);
        if (classUrl == null) {
            out.println(reqName + " not found");
        } else {
            out.println("" + reqName + ": [" + classUrl.getFile() + "]\n" );
        }
        out.println("
"); }

소스의 출처/원본은 javaservice.net 입니다.

JSP 에러 페이지

JSP 페이지에서 errorPage 로 사용할 수 있는 페이지입니다.

<%@ page contentType="text/html;charset=EUC-KR" isErrorPage="true"
         import="java.io.CharArrayWriter, java.io.PrintWriter"%>
    
    <%
      if (exception != null) 
      { 
        out.println(exception.getMessage());
        CharArrayWriter charArrayWriter = new CharArrayWriter(); 
        PrintWriter printWriter = new PrintWriter(charArrayWriter, true); 
        exception.printStackTrace(printWriter); 
        out.println(charArrayWriter.toString()); 
      } 
    %>
    

Oracle JDeveloper 10g 에서 기본으로 제공하는 페이지 샘플을 가져옴.

Java 웹 세션타임아웃 설정?

자바 웹애플리케이션에서 세션타임아웃은 web.xml 에서 정의합니다.


    
        35
    

단위는 분(minute)입니다.