2012. 5. 4. 18:28

하나의 톰캣에서 2개 이상의 포트로 접속을 하되 결국은 하나의 웹 어플리케이션으로 요청이 들어오도록 하고 싶었다. 입구가 2개있는 하나의 방이라고나 할까....

예를들면 web_test라는 웹 어플리케이션이 있을때
(1) http://localhost:8080/web_test/index.jsp로도 접속하고
(2) http://localhost:9090/web_test/index.jsp로도 접속하고 싶은것이다.

방법은 아주 간단하다.
tomcat의 server.xml을 열어서...

 

<Service name="Catalina">
      <Connector connectionTimeout="20000" port="8080" 
               protocol="HTTP/1.1" redirectPort="8443"/>
      <Connector connectionTimeout="20000" port="9090" 
               protocol="HTTP/1.1" redirectPort="8443"/>
 
      <Engine defaultHost="localhost" name="Catalina">
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm" 
                    resourceName="UserDatabase"/>
          <Host appBase="webapps" autoDeploy="true" name="localhost" 
                    unpackWARs="true" xmlNamespaceAware="false" 
                    xmlValidation="false">
              <Context docBase="web_test" path="/web_test" 
                    reloadable="true" source="여기에소스위치"/>
          </Host>
    </Engine>
</Service>

 

Connector를 추가하면 된다.
들어오는 포트는 8080이나 9090을 사용하되 redirect되는 포트는 둘 다 8443인 것이다.

실험을 해보자면, 일단은 이렇게 생긴 jsp페이지가 필요하다.

 

<%@ page language="java" contentType="text/html; charset=UTF-8" 
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
	"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<title>Hello, World!!</title>
</head>
<body>
	Host : <%= request.getHeader("Host") %><br/>
	URI : <%= request.getRequestURI() %><br/>
</body>
</html>

 

실험결과
 


 

 


클라이언트의 HTTP헤더를 열어서 어떤 포트로 접속했는지 확인할 수 있다.

 

http://case35.tistory.com/260

Posted by 물색없는세상
2012. 5. 4. 16:09

현재 블로그에서 코드를 좀 더 이쁘게 보여주기 위해 CodeHighlighter를 사용하고 있습니다.
그런데, 문제는 자바 코드는 상관이 없는데 레이아웃 코드, 즉 XML 코드를 그대로 입력하게 되면 티스토리에서 각 태그 (<LinearLayout> 등...)을 모두 대문자로 바꿔버리는 만행(!)을 저지르더군요. -_-;;


그래서 한동안은 그냥 글씨를 붙여넣어 코드를 작성하다가.. 검색을 해보니 꺽쇠(<,>)를 &gt;, &lt;로 바꿔주면 정상적으로 표시가 된다는 사실을 알았습니다.

그래서! 꺽쇠를 &gt;와 &lt;로 바꿔주는 프로그램을 작성하였습니다. :)
간단하지만 안드로이드 XML 파일을 티스토리 블로그에 포스팅하는 분들께는 유용할 것이라 판단됩니다. :)

 변환할 파일을 직접 입력할 수도 있고, 파일로부터 불러올 수도 있습니다.
CodeHighlighter 사용을 선택하시면 바로 HTML 코드에 붙여넣을 수 있도록 앞, 뒤에 <pre class .. 및 </pre> 코드를 추가해줍니다.

업데이트 (11/9)
* <pre>  태그의 꺽쇠까지 변환되는 문제 수정
* 변환 옵션에서 XML, Java 선택 가능

출처 - http://androidhuman.tistory.com/264 


Posted by 물색없는세상
2012. 5. 4. 15:59

 

1. 실행 - cmd

 

2. 아래와 같이 jar파일이 있는 경로로 바꾸거나

jar파일을 해당경로로 이동하거나

맘 내키는대로 하고나서

C:>java -jar 파일명.jar 입력후 아무고민없이 엔터를 지긋이 눌러준다.

 

 

3. 그럼 아래와 같이 실행된 화면을 볼 수 있을 것이다!!

 

 

이상

SimpleLayoutConverter.jar

 

 

'ApplicationPrograming > Java' 카테고리의 다른 글

Commons-DbUtils  (0) 2013.03.15
Commons-Fileupload의 한글관련 문제 추가  (0) 2013.03.15
JDOM  (0) 2013.01.31
me2DAY XML Parsing (DOM) - 자바 XML파싱  (0) 2012.07.24
랜덤 숫자 생성  (0) 2012.06.11
Posted by 물색없는세상
2012. 4. 10. 11:09

http://pezium.godohosting.com/se 


 어제 하루동안 수정해 봤다. 인용구 버튼을 빼버리고 그 자리에 이미지 삽입 버튼을 넣었다. 쉽게 확장할 수 있게 되어 있어 별로 어렵지 않았다. 실제 활용을 위해서는 아직 좀 더 수정해야 할 것 같다.

 

 파일 업로드를 jindo만 가지고 해보고 싶었는데 ajaxSubmit 기능이 없는 것 같아 그냥 jQuery로 했다. 다른 방안이 있겠지만 왠지 찾는게 귀찮다. 옛날에 회사다닐 때는 어떻게 그렇게 열심히 공부했는지.

 

 전체 소스를 첨부한다.

 

출처 - http://blog.naver.com/tpe4/150100056932

SEFU.zip

'WebPrograming' 카테고리의 다른 글

QR code  (0) 2015.06.23
Posted by 물색없는세상
2012. 3. 29. 00:42
Visual Editor 간단 사용법

지난 번 Visual Editor 설치 포스팅에 이어 이번에는 간단하게 Visual Editor를 사용하는 방법에 대해서 알아보겠습니다 ^^
Visual Editor는 AWT, SWING, SWT 등의 UI 라이브러리로 개발을 해 보셨거나 아님, 책의 간단한 예제라도 공부해 보신 분들이라면 직관적으로 사용할 수 있도록 만들어져 있어서 지금 소개하는 내용만 보시더라고 쉽게 Visual Editor를 이용해 UI 프로그래밍을 하실 수 있으리라 생각합니다.

당연히 이클립스를 실행해야겠죠? ㅎㅎ 그리고 자바 프로젝트를 하나 만드신 후 Alt + Shift + N 단축키 또는 File -> New File을 클릭하셔서 Other ..를 선택합니다.

 

 

그럼 아래와 같이 "New" 다이얼로그가 뜨는데요 트리 목록에서 Java -> Visual Class를 선택합니다. 그리고 Next ~

 

 

 

 

 

 

"New Java Visual Class" 다이얼로그에서 "Style"의 Swing -> Frame을 선택합니다. 물론 Dialog를 만드시거나 Applet 등을 개발하실 분은 해당하는 것을 선택하시면 됩니다.

 

아래와 같이 에디터가 떳습니다.

그럼 버튼을 하나 달아서 클릭을 하면 간단한 메시지 박스가 뜨도록 만들어 볼까요 ~ 오른쪽 Platte메뉴에서 "JButton"을 클릭하고 윈도우의 패널의 Center에 위치시킵니다. 참고로 기본 레이아웃 메니저로 Border Layout이 선택되어져 있습니다.

아래 소스 에디터를 보면 버튼에 대한 소스가 자동으로 나타나는 것을 확인 하 실수 있죠? ㅎㅎ 그럼 버튼에 이름을 붙여볼까요 ~ 버튼 컨트롤에 마우스를 가볍게 클릭해주면 왼쪽 상단에 입력 상자가 나타납다.

버튼에 "Click"이라는 이름이 붙여졌고 아래 소스 에디터에 보면 JButton.setText("Click");이란 소스가 자동으로 생성 되었습니다. 아 ~ 이럴게 편할 수가 ㅡㅜ

 

이제 이벤트 핸들러만 정의해주면 끝입니다. 이벤트 핸들러를 정의해 주는 방법은 컨트롤에 마우스 오른쪽 버튼을 클릭하고 Events -> actionPerformed를 클릭해 줍니다. 물론 다른 컨트롤에 대해서는 해당 이벤트 핸들러 목록이 나타납니다. 적절히 선택해서 코딩해 주시면 되겠죠 ^^
그럼, 아래 소스 에디터에 이벤트 핸들러 소스가 자동으로 생성되는데 기본으로 생성된 System.out.print 부분을 삭제하시고 메시지 박스 관련 코딩을 해줍니다. 그럼 끝 ~~~~~~~~~~

 

그럼 실행을 해볼까요? 실행을 하면 아까 함께 만들었던 윈도우가 화면에 나타나고 버튼을 클릭하면 메시지 박스가 뜨네요 ^^


출처 : http://greenfrog7.egloos.com/905867

Posted by 물색없는세상
2012. 3. 29. 00:32

 

jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jsp를 이용한 달력</title>
<script type="text/javascript">
function selectCheck(form){
	form.submit();
}
function monthDown(form){
 if(form.month.value>1){
	 form.month.value--;
 }else {
	 form.month.value=12;
	 form.year.value--;
 }
 form.submit();
}
function monthUp(form){
 if(form.month.value<12){
	 form.month.value++;
 }else {
	 form.month.value=1;
	 form.year.value++;
 }
 form.submit();
}
</script>
</head>
<body>
<%
//현재 날짜 정보 
Calendar cr = Calendar.getInstance();
int year = cr.get(Calendar.YEAR);
int month = cr.get(Calendar.MONTH);
int date = cr.get(Calendar.DATE);
 
//오늘 날짜
String today = year + ":" +(month+1)+ ":"+date; 
 
//선택한 연도 / 월
String input_year = request.getParameter("year");
String input_month = request.getParameter("month");
 
if(input_month != null){
 month = Integer.parseInt(input_month)-1;
}
if(input_year != null){
 year = Integer.parseInt(input_year);
}
// 1일부터 시작하는 달력을 만들기 위해 오늘의 연도,월을 셋팅하고 일부분은 1을 셋팅한다.
cr.set(year, month, 1);
 
// 셋팅한 날짜로 부터 아래 내용을 구함
 
// 해당 월의 첫날를 구함
int startDate = cr.getMinimum(Calendar.DATE);
 
// 해당 월의 마지막 날을 구함
int endDate = cr.getActualMaximum(Calendar.DATE);
 
// 1일의 요일을 구함
int startDay = cr.get(Calendar.DAY_OF_WEEK);
 
int count = 0;
%>
<form method="post" action="calendar.jsp" name="change">
<table width="400" cellpadding="2" cellspacing="0" border="0" align="center">
 <tr>
   <td width="140" align="right"><input type="button" value="◁" onClick="monthDown(this.form)"></td>
      <td width="120" align="center">
      <select name="year" onchange="selectCheck(this.form)">
      <%
      for(int i=year-10;i<year+10;i++){
       String selected = (i == year)?"selected":"";
       String color = (i == year)?"#CCCCCC":"#FFFFFF";
         out.print("<option value="+i+" "+selected+" style=background:"+color+">"+i+"</option>");       
      }
      %>
      </select>
      <select name="month" onchange="selectCheck(this.form)">
      <%
      for(int i=1;i<=12;i++){
       String selected = (i == month+1)?"selected":"";
       String color = (i == month+1)?"#CCCCCC":"#FFFFFF";
         out.print("<option value="+i+" "+selected+" style=background:"+color+">"+i+"</option>");       
      }
      %>
      </select></td>
      <td width="140"><input type="button" value="▷" onClick="monthUp(this.form)"></td>
    </tr>
    <tr>
      <td align="right" colspan="3"><a href="calendar.jsp"><font size="2">오늘 :  <%=today %></font></a></td>
    </tr>
</table> 
</form>        
<table width="400" cellpadding="2" cellspacing="0" border="1" align="center">
 <tr height="30">
  <td><font size="2">일</font></td>
  <td><font size="2">월</font></td>
  <td><font size="2">화</font></td>
  <td><font size="2">수</font></td>
  <td><font size="2">목</font></td>
  <td><font size="2">금</font></td>
  <td><font size="2">토</font></td>
 </tr>
 <tr height="30">
<%
for (int i=1;i<startDay;i++){
 count++;
%>
        <td>&nbsp;</td>
<% 
}
for (int i=startDate;i<=endDate;i++){
 String bgcolor = (today.equals(year+":"+(month+1)+":"+i))? "#CCCCCC" : "#FFFFFF";
 String color = (count%7 == 0 || count%7 == 6)? "red" : "black";
 count++;
%> 
  <td bgcolor="<%=bgcolor %>"><font size="2" color=<%=color %>><%=i %></font></td>
<%
  if(count%7 == 0 && i < endDate){
%> 
 </tr>
 <tr height="30">
<%
  }
}
while(count%7 != 0){
%>
       <td>&nbsp;</td>
<% 
count++;
 }
%>
</tr>  
</table>
</body>
</html> 

css

 
@charset "utf-8";

* {
	margin: 0;
	padding: 0;
	line-height: 1.5;
	font-family: gulim, sans-serif;
	font-size:110%;
	text-align:center;
}
.a2{
	font-size:20px;
	text-decoration: none;
	color: #5c5c5c;
}
.list_over { background-color:#F3F7FD; }
.list_out { background-color:#FFFFFF; }
.list_over2 { background-color:#e5e5e5; }
a {
	text-decoration: none;
	color: #5c5c5c;
}
#today{
	background-color:#CCCCCC;
	color:#000000;
}
.base{
	border:1px solid #8e8e8e;
}
.sun{
	border:1px solid #8e8e8e;
	color:#FF0000;
}

tr{
	height:11%;
}
a:hover {
	text-decoration: underline;
	color: #5c5c5c;
}

.dot {style;
	border-top-style: dashed;
	border-right-style: dashed;
	border-bottom-style: dashed;
	border-left-style: dashed;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-top-color: rgb(71, 71, 71);
	border-right-color: rgb(71, 71, 71);
	border-bottom-color: rgb(71, 71, 71);
	border-left-color: rgb(71, 71, 71);
	background-color: rgb(232, 232, 232);
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
	p style:margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}


table {
	border-collapse: collapse;
	border-cellpadding: cellpadding;
	height:100%;width:100%;
	align:center;border:0;
}

주석안에 설명 다 있습니다.
CSS
마우스 온오버 효과 ,오늘날짜 표시,일요일 빨간색

 

http://javai.tistory.com/482

 

'WebPrograming > JSP' 카테고리의 다른 글

<jsp:include> 팁  (0) 2013.01.18
뒤로가기 방지  (0) 2012.06.11
Posted by 물색없는세상
2012. 3. 8. 15:07

MySQL 내부함수를 사용하는 방법으로..
SELECT @RNUM:=@RNUM+1 AS ROWNUM FROM (SELECT @RNUM:=0) R
쿼리를 실행해보면 ROWNUM 컬럼에 값이 1이 찍혀나온다..
이걸 응용해서..

function foo(){
 if (counter <= 10)  return;
// it works!
}
SELECT @RNUM:=@RNUM+1, R.* AS ROWNUM FROM (
  SELECT @RNUM:=0, Q.* from (
   페이징 없는 오리지널 쿼리문
  ) Q
) R limit 0, 20
Posted by 물색없는세상
2012. 3. 8. 10:40
◆ 머니 IQ를 높이자 ④금융소비 패턴 바꿔라 ◆

5년차 직장인 이성호 씨(33)는 3년 전 가입한 한 손해보험사의 저축성 보험만 떠올리면 저절로 한숨이 나온다. 결혼 전 안정적인 투자라는 홈쇼핑 광고를 보고 매월 80만원씩 7년간 납입하는 조건으로 가입한 이씨는 결혼 후 아파트를 구입하면서 1억4000만원의 대출을 받은 탓에 원리금 상환만으로도 허덕이는 처지가 됐다. 그런데 보험을 해약하려니 2000만원에 달하는 납입원금의 70%밖에 돌려받지 못한다고 해 더 이상 납입하지 않은 채 유지만 하고 있다. 이씨는 "원금이나마 건지려 해도 앞으로 4~5년은 더 기다려야 한다니 답답할 노릇"이라고 말했다.

`장기적인 계획 없는 금융소비는 오히려 앞날을 어둡게 하는 투자다.`

계획 없는 소비는 약이 아닌 독이 돼 부메랑으로 돌아온다. 자신의 소득수준을 고려하지 않고 분명한 목적을 세우지 않은 채 금융소비를 일삼는 건 어리석은 선택이기 때문이다.

`미래를 위한 투자`라는 감언이설에 현혹돼 금융상품에 덜컥 가입했다가 낭패를 보는 이들은 우리 주변에 항상 있다. 세후 4000만원의 연봉을 받으면서 보험료와 원리금으로만 월급의 절반 가까이 내는 이씨 사례가 바로 그렇다.

금융감독원에 따르면 우리나라 생명ㆍ손해보험사의 2011회계연도 상반기 13회차 보험계약 유지율은 평균 79.1%를 기록했다. 전체 보험 가입자의 10명 중 2명 이상이 1년 후 납입원금도 건지지 못하는 보험상품에 가입한다는 얘기다. 유지율이란 월납 기준으로 가입한 해당 보험계약이 얼마나 유지되고 있는지를 나타낸다. 13회차는 가입 1년 후를 의미한다. 심지어 2년 후 보험계약 유지 비율을 뜻하는 25회차 유지율은 61.5%다. 이 기간 보험에 가입한 금융소비자 10명 가운데 4명가량은 원금손실을 입고도 보험을 해약했다는 것을 뜻한다.

조미옥 신한PB스타타워센터 팀장은 "많은 사람이 금융소비 계획을 세우지 않은 채 무턱대고 금융상품에 가입하는 일이 허다하다"며 "자신이 가진 자산 가운데 여유 있는 액수를 정하고 이 비율을 넘지 않는 범위에서 금융상품을 소비하는 게 당연한 순서"라고 지적했다.

계획 없는 금융소비 습관을 가진 소비자들의 가장 큰 특징은 과도한 고정비용 지출을 과소비로 인식하지 못하는 점이다. 단지 가계소득 수준에 비해 과도한 금융소비를 하는 행동과 선택이 문제가 아니라 고정비용을 늘리고도 이를 `불가피한 지출`로 인지해 버리는 습관을 경계해야 한다는 것이다. 가령 통신비나 자동차 유지 비용을 과도하게 지출하면서도 이를 고정비용으로 생각하는 소비행태부터 바꿔야 한다는 지적이 나온다.

신윤정 포도재무설계 책임상담사는 "고정비용 외 지출에서 과소비가 발생하는 경우라면 지출 규모를 축소함으로써 수입과 지출의 균형을 맞출 수 있다"며 "하지만 고정비용을 늘리고도 이를 과소비로 인식하지 못하는 사람이 늘어나고 있다"고 설명했다. 이어 그는 "소득증가율은 크게 늘지 않았는데 고정비용이 급격히 늘어나 부채 상승의 원인으로 작용하고 있다"고 덧붙였다.

실제로 한국은행이 지난해 발표한 2011 가계금융조사에는 자기 집을 보유한 가구 전체의 가처분소득은 3688만원으로 전년(3373만원) 대비 9.3%, 같은 기간 가구당 평균 부채액은 6353만원으로 전년(5629만원) 대비 12.9% 증가한 것으로 나타났다. 부채가 늘어나는 속도가 소득이 늘어나는 속도를 앞지른 셈이다.

또 지난해 금융당국이 가계부채 종합대책을 시행했음에도 카드 채무불이행 신규발생지수는 꾸준히 늘어왔다.

나이스신용평가에 따르면 카드 채무불이행 신규발생지수는 지난해 9월 6.02로 전년 10월 대비 1.10포인트 증가했다. 이는 채무불이행 신규발생 건수를 100으로 한 지수 가운데 카드 채무불이행 신규발생 건수만을 산정한 것이다.

대출 원리금 상환을 고정비용으로 생각하는 문제는 더 심각하다.

매일경제신문이 한길리서치에 의뢰해 실시한 MQ설문조사에 따르면 월 소득 가운데 10% 이상을 대출 원리금 상환에 지출하는 응답자는 전체의 20.6%를 차지했다. 월 소득 중 대출 원리금 비중이 21~30%인 응답자는 7.5%, 31~40%는 3.2%, 심지어 50% 이상을 대출 원리금으로 내는 응답자도 2.9%나 됐다.

강구 하나은행 서현역 PB센터장은 "원리금 상환 비중이 월 소득의 20%를 넘는 응답자 비율이 16%가량인데 이 정도 비중이면 주택 구입 시기를 늦췄어야 한다"며 "원리금 상환 비중을 낮추려면 저축을 통해 원금을 빨리 상환하는 방법뿐인데 장기적인 계획이 없다면 목돈을 만들기도 쉽지 않을 것"이라고 지적했다.

저금리ㆍ저성장 시대일수록 더욱 금융소비의 포트폴리오와 구체적인 계획을 세워야 한다고 전문가들은 조언한다.

강구 센터장은 "투자 시 가장 먼저 고려해야 할 점은 자금 사용 목적을 분명히 하는 것"이라며 "사용 시기와 자금 활용법, 어떤 목적으로 쓸 것인가 등을 구체적으로 정하지 않은 상황에서 금융상품에 가입하면 확보해야 할 수익률조차 얻지 못할 위험이 있다"고 말했다.

단기적인 이율에 매몰되지 말고 장기 투자의 안목을 갖고 금융상품 가입을 고려해야 한다는 지적도 있다.

신윤정 상담사는 "반드시 필요한 상품이 아니라면 과감히 쳐다보지도 말아야 한다"며 "저축이든 펀드든 캠페인성 상품을 소개하는 것에 휩쓸리지 말고 3년, 5년, 10년 등 자신의 재정 상황을 감안해 투자하는 자세가 필요하다"고 말했다.

[기획취재팀=김선걸 차장(팀장) / 손일선 기자 / 최승진 기자 / 김유태 기자 / 석민수 기자 / 윤진호 기자]


Posted by 물색없는세상
2012. 3. 6. 17:47

ojdbc14.jar 파일을 빌드 패치 하지 않았을 시 발생.

 

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcDao' defined in class path resource [comp/spring/db/jdbcTemplate/template.xml]: Cannot resolve reference to bean 'jdbcTemplate' while setting bean property 'jdbcTemplate'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcTemplate' defined in class path resource [comp/spring/db/jdbcTemplate/template.xml]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [comp/spring/db/jdbcTemplate/template.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [oracle.jdbc.driver.OracleDriver]
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
 at comp.spring.db.jdbcTemplate.Spring_main.main(Spring_main.java:12)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcTemplate' defined in class path resource [comp/spring/db/jdbcTemplate/template.xml]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [comp/spring/db/jdbcTemplate/template.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [oracle.jdbc.driver.OracleDriver]
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
 ... 13 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [comp/spring/db/jdbcTemplate/template.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [oracle.jdbc.driver.OracleDriver]
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1279)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
 at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
 ... 26 more
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.IllegalStateException: Could not load JDBC driver class [oracle.jdbc.driver.OracleDriver]
 at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:104)
 at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1276)
 ... 37 more

 
Posted by 물색없는세상