http://msdn.microsoft.com/en-us/library/ms533050(VS.85).aspx
분류 전체보기
- HTML Reference 2009.11.09
- log4j에서 e.printStackTrace() 메시지를 log에 남기는 방법 2009.11.09
- JDBC 쿼리에 SQL 주석시 -- 한칸 띄우고 작성한다. 2009.11.05
- JS 두 날짜의 일 차이 2009.10.27
- IETOY 2009.10.24
- 오라클 split 함수 2009.10.19
- java.util.ArrayList , java.util.LinkedHashSet , String[] 2009.10.17
- Servlet 생성 / Mapping / 실행 2009.09.28
- 파일동기화 및 백업 Microsoft에서 제공하는 유용한 유틸 - SyncToy 2009.09.27
- HTML 소스 보기 2009.09.24
HTML Reference
http://msdn.microsoft.com/en-us/library/ms533050(VS.85).aspx
log4j에서 e.printStackTrace() 메시지를 log에 남기는 방법
출처 : http://www.jakartaproject.com/article/jakarta/122463359124589
그냥
logger.debug("something wrong" + e.printStackTrace()); // 문법오류
logger.debug("something wrong" + e.printStackTrace().toString()); // 마지막 에러만 표기
그래서 아래와 같이 사용하면 콘솔에서 보는것과 같이 에러를 추적할수 있습니다.
JDBC 쿼리에 SQL 주석시 -- 한칸 띄우고 작성한다.
JDBC 쿼리에 SQL 주석시 -- 한칸 띄우고 작성한다.
잘못된 매계변수 ORA 에러가 발생할 수 있다.
JS 두 날짜의 일 차이
/**
* 두 날짜의 차이를 일자로 구한다.(조회 종료일 - 조회 시작일)
*
* @param val1 - 조회 시작일(날짜 ex.2002-01-01)
* @param val2 - 조회 종료일(날짜 ex.2002-01-01)
* @param fmt - 년/월/일 구분자(날짜 ex.2002-01-01)
* @return 기간에 해당하는 일자
*/
function gfnCalDateRange(val1, val2, fmt)
{
var FORMAT = fmt;
var from_dt = null;
var to_dt = null;
// FORMAT이 있는지 체크
if (FORMAT == '' || val1.indexOf(FORMAT) < 0 || val2.indexOf(FORMAT) < 0)
{
// 월 - 1(자바스크립트는 월이 0부터 시작하기 때문에...)
// Number()를 이용하여 08, 09월을 10진수로 인식하게 함.
var fr_year_str = val1.substr(0, 4);
var fr_mon_str = (Number(val1.substr(4, 2)) - 1) + "";
var fr_date_str = val1.substr(6, 2);
var to_year_str = val2.substr(0, 4);
var to_mon_str = (Number(val2.substr(4, 2)) - 1) + "";
var to_date_str = val2.substr(6, 2);
from_dt = new Date(fr_year_str, fr_mon_str, fr_date_str);
to_dt = new Date(to_year_str, to_mon_str, to_date_str);
}
else
{
// 년도, 월, 일로 분리
var start_dt = val1.split(FORMAT);
var end_dt = val2.split(FORMAT);
// 월 - 1(자바스크립트는 월이 0부터 시작하기 때문에...)
// Number()를 이용하여 08, 09월을 10진수로 인식하게 함.
start_dt[1] = (Number(start_dt[1]) - 1) + "";
end_dt[1] = (Number(end_dt[1]) - 1) + "";
from_dt = new Date(start_dt[0], start_dt[1], start_dt[2]);
to_dt = new Date(end_dt[0], end_dt[1], end_dt[2]);
}
return MATH.ceil((to_dt.getTime() - from_dt.getTime()) / 1000 / 60 / 60 / 24);
}
IETOY
오라클 split 함수
출처 : http://blog.naver.com/addibuddi?Redirect=Log&logNo=12259012
-- TYPE 을 생성
create or replace type split_tbl as table of varchar2(32767);
/
show errors;
/*
테이블 형식으로 조회 됩니다.
*/
CREATE OR REPLACE FUNCTION split
(
p_list varchar2,
p_del varchar2 := ','
)
RETURN split_tbl PIPELINED
IS
l_idx pls_integer;
l_list VARCHAR2(32767) := p_list;
l_value VARCHAR2(32767);
BEGIN
LOOP
l_idx := INSTR(l_list, p_del);
IF l_idx > 0 then
PIPE ROW(SUBSTR(l_list, 1, l_idx-1));
l_list := SUBSTR(l_list, l_idx + LENGTH(p_del));
ELSE
IF LENGTH(l_list) > 0 THEN
PIPE ROW(l_list);
END IF;
EXIT;
END IF;
END LOOP;
RETURN;
END split;
/
show errors;
With this function, I can run a query like this:
SQL> select * from table(split('one,two,three,')); 또는 select * from table(split('one,two,three'));
one
two
three
java.util.ArrayList , java.util.LinkedHashSet , String[]
String[] str = (String[])list.toArray();
을 하여 ClassCastException 이 발생시에는
String[] str = new String[list.size()];
list.toArray(str);
을 str 배열에 list 요소가 array화 되어 저장된다.
마찬가지로, LinkedHashSet 도
LinkedHashSet set
String[] arr2 = new String[set.size()];
set.toArray(arr2);
String[] toUser, toRes
toUser = toRes;
ArrayList for 루프시
for(int i=0; i<list.size(); i++){} // list는 DAO 에서 객체 생성후에 담아 주기 때문에 list != null 처리가 필요없음.
String[] arr for 루프시
for(int i=0; arr != null && i < arr.length; i++){} // arr 은 반드시 != null 체크를 하도록 하자..!!
Servlet 생성 / Mapping / 실행
http://WebApp-url/servlet/package.Class 로 class 를 실행
/WEB-INF/classes 아래의 class 가 실행 됨.
1. WAS 설정
resin - resin.conf
<web-app id='/'>
..
<servlet-mapping url-pattern='/servlet/*' servlet-name='invoker'/>
..
</web-app>
jeus - web.xml
<web-app>
<servlet>
<servlet-name>WorkerServlet</servlet-name>
<servlet-class>jeus.servlet.servlets.WorkerServlet</servlet-class>
<init-param>
<param-name>ServletRoot</param-name>
<param-value>/home/WEB-INF/classes/</param-value>
</init-param>
<init-param>
<param-name>PackageSeparator</param-name>
<param-value>.</param-value>
</init-param>
<load-on-startup>-1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>WorkerServlet</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
</web-app>
weblogic - web.xml
<servlet>
<servlet-name>ServletServlet</servlet-name>
<servlet-class>weblogic.server.ServletServlet</servlet-class>
<load-on-startup>-1</load-on-startup>
</servlet>
<server-mapping>
<servlet-name>ServletServlet</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
tomcat - web.xml
<servlet>
<servlet-name>default_servlet</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>default_servlet</servlet-name>
<url-pattern>/sevlet/*</url-pattern>
</servlet-mapping>
2. Servlet Java 파일
package test;
import java.io.PrintWriter;
import java.io.IOException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class Test extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException
{
doService(req, res);
}
public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException
{
doService(req, res);
}
public void doService(HttpServletRequest req, HttpServletResponse res) throws IOException
{
req.setCharacterEncoding("euc-kr"); //euc-kr encoding
HttpSession session = req.getSession();
if(session == null){
res.setContentType("text/html;charset=euc-kr"); //euc-kr encoding
PrintWriter out = res.getWriter();
out.print("로그인이 필요합니다.");
out.print("alert 창으로띄운다.");
out.close();
}
res.sendRedirect("/index.jsp");
String test = req.getParameter("test");
System.out.println("test="+test);
}
}
3. jsp 파일
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page pageEncoding="euc-kr" %>
<meta http-equiv="content-type" content="text/html; charset=euc-kr" />
<form action='/servlet/test.Test'>
<input type='text' id='test' value='안녕..'>
<input type='submit'>
</form>
파일동기화 및 백업 Microsoft에서 제공하는 유용한 유틸 - SyncToy
HTML 소스 보기
innerHTML 로 화면을 변경하다 보면 HTML 소스코드가 제대로 되었는지 확인 하고 싶을때 사용한다.
주소창에서
javascript:alert(document.documentElement.innerHTML)
입력하면 볼 수 있다.
alert창으로 보기 힘들때는
div 태그를 이용하여 아래와 같이 한다.
div.innerHTML = document.documentElement.innerHTML;