package ch18;

public class Ch1801
{
 public static void main(String[] args)
 {
  try
  {
   //예외가 발생할 수도 있는 프로그램문장을 기술
   int a=0/0;
   // 예외처리대상은 문법에러를 대상으로 하지 않는다.
   //System.out.println(b);
   
  }
  catch (Exception e)
  {
   // TODO: handle exception
   //try안의 구문을 실행했을 경우 예외가 발생할 경우
   //처리해야 하는 문장들을 기술
   System.out.println("에러가 놨슈~");
   //e.printStackTrace();
  }
  finally
  {
   //예외가 발생하는 안하든 처리해야 하는 구문을 기술
   System.out.println("종료");
  }
 
 }
}

Posted by 말없제이
,

<html>
<head>
<style type="text/css">
a:hover {background-color:blue;color:whilte}

div {background-color:beige;}
</style>
<script type="text/jscript">
function mm(n)
{
 if(n==0)
 {
  for(i=1;i<4;i++)
  {
   k="layer"+i;
   document.all[k].style.visibility='hidden';
  }
 }
 else
 {
  for(i=1;i<4;i++)
  {
   k="layer"+i;
   if(i==n)
   {
    document.all[k].style.visibility='visible';
    continue;
   }
   else
   {
    document.all[k].style.visibility='hidden';
   }
  }
 }
}
</script>
</head>
<body>
<h3>연습.. 상단메뉴</h3>
<table width="560">
<tr>
<td><a href="#" onMouseOver="mm(0)">hoem</a></td>
<td><a href="#" onMouseOver="mm(1)">개인회원</a></td>
<td><a href="#" onMouseOver="mm(2)">기업회원</a></td>
<td><a href="#" onMouseOver="mm(3)">채용정보</a></td>
</tr>
</table>
<div id=layer1 style="position:absolute;left:0px;top:100px;width:500px;height:100px;visibility:hidden;">
개인정보<br>
인<br>
정<br>

</div>
<div id=layer2 style="position:absolute;left:0px;top:100px;width:500px;height:100px;visibility:hidden;">
기업회원<br>
업<br>
회<br>

</div>
<div id=layer3 style="position:absolute;left:0px;top:100px;width:500px;height:100px;visibility:hidden;">
b<br>
i<br>
n<br>
s
</div>
</form>
</body>
</html>

Posted by 말없제이
,
<html>
<head>
</head>
<body>
<h3>Document 객체의 속성 사용하기 - 66</h3>
<ul>
<li>title : 문서의 제목
<li>location : 문서의 위치
<li>lastModified : 문서가 마지막 수정된 날짜
<li>domain : 문서가 있는 서버의 도메인 이름.
<li>bgColor : 문서의 배경색상
<li>fgColor : 문서의 글자색상
<li>linkColor : 링크가 설정된 부분의 색
<li>alinkColor : 링크가 설정된 부분을 클릭했을때 색
<li>vlinkColor : 이미 방문했던 링크부분의 색
<li>URL : 문서의 주소
</ul>
<h3>Document 객체의 문서 속성 조절하기</h3>
<ul>
<li>anchors : 문서에 사용된 책갈피들의 배열
<li>forms : 문서에 사용된 폼의 배열
<li>links : 문서에 사용된 링크들의 배열
<li>images : 문서에 사용된 그림의 배열
<li>applets : 문서에 사용된 애플릿배열
<li>embeds : 문서에 사용된 플러그인들의 배열
<li>layers : 문서에 사용된 레이어들의 배열
<li>cookies : 클라이언트의 정보저장 배열
</ul>
<form name="form1">
<img src="../html/image/poster1.jpg">
<a herf="#"><img src="../html/image/poster2.jpg"></a>
<img src="../html/image/poster3.jpg">
<script type="text/jscript">
alert("현재 갯수 : "+ document.images.length+"소스파일 : "+document.images[0].src);
</script>
</form>
<br>
<h3>history 객체</h3>
<ul>
<li>속성
</ul>
<li>length : 히스토리 목록에 저장된 url의 갯수
<li>메소드
<ul>
<li>back() : 이전 페이지로 이동
<li>forward() : 다음 페이지로 이동
<li>go(숫자) : 지정된 숫자만큼 이동, ex)go(-1)
</ul>
</ul>
<br>
<h3>Location 객체</h3>
<ul> 웹 문서의 주소에 대한 정보를 제공
<li>속성
<li>href : url
<li>protocol : 프로토콜 -> http
<li>hostname : 호스트 -> www.kbs.co.kr
<li>port : 포트번호 -> 80,8080
<li>host : 호스트:포트번호 -> www.kbs.co.kr:80
<li>pathname : 경로
<li>hash : 문서의 책갈피
</ul>
<li>메소드
<ul>
<li>reload() : 문서를 다시 불러옴.
<li>replace() : 문서를 지정 웹사이트로 대체 ex)location.replace("http://www.imbc.co.kr");
</ul>
</ul>
<input type="button" value="회원비정보" onClick="location.href='061202.htm'">
<br>
<h3>Navigator 객체</h3>
<ul> 웹브라우저에 대한 정보 제공
<li>속성
<ul>
<li>appCodeName : 브라우저 코드명
<li>appName : 브라우저 이름
<li>appVersion : 브라우저 버전
<li>platform : 현재 사용하는 시스템
<li>userAgent : 웹브라우저 서버접속시 브라우저 정보,버전,코드명 등 정보
<li>plugins : 플러그인 정보
</ul>
<li>메소드
<ul>
<li>javEnabled() : 자바 사용이 가능한 여부
</ul>
</ul>
<form name="form3">
<textarea name="textarea1"></textarea>
<script type="text/jscript">
document.form3.textarea1.value = navigator.appCodeName;
document.form3.textarea1.value += "\r\n"+navigator.platform;
</script>
</form>
</body>
</html>
Posted by 말없제이
,
<html>
<head>
</head>
<body>
<h3>window 객체의 메소드 open() close()</h3>
<ul>
<pre>
[open 메소드 사용]
open("새창 보여줄 문서","새창이름","새창속성");
ex) window.open("abc.html","target1","width='400',height='200',menubar='no'");
>> ex) Ex 7에서는 "width='400',height='200',menubar='no'이부분을 width=400,height=200 .. '표시 없이해야 나옴

[close 메소드 사용]
close();
ex) window.close(); / self.close();
</pre>
<ul>새창의 속성
<li>toolbar : 툴바출력여부(yes,no)
<li>location : 주소 표시줄 출력여부(yes,no)
<li>directories : 연결줄 출력여부(yes,no)
<li>status : 상태표시줄 출력여부(yes,no)
<li>menubar : 메뉴표시줄 출력여부(yes,no)
<li>scrollbars : 스크롤바 출력여부(yes,no)
<li>resizable : 창의 크기 조절 여부(yes,no)
<li>copyhistory : 히스토리저장여부(yes,no)
<li>width/height : 창의 넓이/높이
<li>left/top : 창 출력시 왼쪽/위에서 떨어진 위치
</ul>
</ul>
<br>
<script type="text/jscript">
function opn()
{
 window.open("061202a.htm","target1","width='400',height='200',menubar='no'")
}
</script>
<form name="form1">
<input type="text" name="mon1">
<input type="button" value="누르면 창뜹니다" onClick="opn()">
</form>
</body>
</html>




****** 061202a.htm ******

<html>
<head>
</head>
<body>
061202.htm ..에서 열면 열리는 페이지<br>
여기서 다시 부모창으로 갈때는 opener.form1... 호출가능.<br>
<form name="form2">
 <input type="text" name="son1">
 <input type="button" value="부모로접속" onClick="opener.document.form1.mon1.value = document.form2.son1.value;">
</form>
</body>
</html>
Posted by 말없제이
,
<html>
<head>
</head>
<body OnLoad="window.defaultStatus='금주의 window객체'">
<h3>Checkbox 객체</h3>
<h3>Radio 객체</h3>
<h3>window 객체</h3>
<ul>
window.속성/메소드()<br>
window : Window 객체로 이미 선언 및 생성되있는 객체 변수<br>
<li>속성
<ul>
<li>status : 웹브라우저의 상태표시줄에 표시되는 내용
<li>defaultStatus : 웹브라우저의 상태표수줄에 초기화될 내용
<li>classes : 문서안에 정의된 모든 class정보
<li>frame : 윈도우에 사용된 frame정보 배열
<li>self : 현재 열려있는 윈도우
<li>parent : 계층구조가 생길 때 상위 윈도우
<li>top : 계층구조가 생길때 최상위 윈도우
</ul>
</ul>
<img src="../html/image/map.png" onMouseOver="window.status='금주의 그림'">
</body>
</html>
Posted by 말없제이
,

orcle, 9i .. cd3장으로 구성

## 오라클 설치
이름 OraHome92
경로 c:\oracle\ora92
Enterprise Edition
일반적인 목적(javaw 차단해제)
포트번호 : 1521
전역데이터베이스 이름 : 예)ORCL
비밀번호 : 예)test (apache 차단해제)

## 오라클 삭제
1.오라클 설치제품 모두 해제
2.관리도구-서비스-오라클 관련 서비스 중지
3.시작-실행-regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service\EventLog\Aplication\
오라클로 시작되는 폴더 삭제
HKEY_LOCAL_MACHINE\SOFTWARE\ORCALE 폴더 삭제
(참고) ODBC폴더가 여기에 존재, 오라클 메뉴얼에는 이 ODBC폴더 삭제권고.(현재는 삭제안함)
4.(안전모드 부팅후) C:\ORCALE폴더삭제
5.정상부팅후 시작의 오라클 관련 메뉴 삭제
6.첫번째 디스크 놓고 재설치
6-1.경우에 따라 오라클이 설치완료되었다는 메시지가 바로
나타나는 경우 1번만 다시 실행하고
현재 창을 닫고 오라클설치프로그램 재시동.

## 오라클 설치확인
1.관리도구-서비스-오라클 관련 서비스 시작
2.시작-실행-cmd-sqlplus


Query :
DML : select,insert, delete, update
DDL 데이터 정의어 : Create, drop, alter
TCL 트랜젝션 컨트롤 언어

모델링 : table 관계구성도.

JavaScript : 유효성검사/필수입력. 동적효과
JavaServerPage/Servlet

서비스 - 확인

사용자 삽입 이미지

Posted by 말없제이
,

package ch17;

import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;

public class Ch1701 extends JFrame {

 private static final long serialVersionUID = 1L;

 private Ch1701Panel jContentPane = null;

 /**
  * This is the default constructor
  */
 public Ch1701() {
  super();
  initialize();
 }

 /**
  * This method initializes this
  *
  * @return void
  */
 private void initialize() {
  this.setSize(300, 200);
  this.setContentPane(getJContentPane());
  this.setTitle("JFrame");
 }

 /**
  * This method initializes jContentPane
  *
  * @return javax.swing.JPanel
  */
 private Ch1701Panel getJContentPane() {
  if (jContentPane == null) {
   jContentPane = new Ch1701Panel();
   jContentPane.setLayout(new BorderLayout());
  }
  return jContentPane;
 }

}

******** Ch1701Panel.java *****
package ch17;

import java.awt.Graphics;
import java.awt.GridBagLayout;
import java.awt.Image;
import java.awt.Toolkit;

import javax.swing.JPanel;
import javax.tools.Tool;

public class Ch1701Panel extends JPanel {

 private static final long serialVersionUID = 1L;

 //이미지를 저장할 이미지 멤버변수 선언
 private Image image;
 /**
  * This is the default constructor
  */
 public Ch1701Panel() {
  super();
  image=Toolkit.getDefaultToolkit().getImage("D:\\study\\java\\Project\\sample\\src\\ch17\\sering.jpg");
  initialize();
 }

 /**
  * This method initializes this
  *
  * @return void
  */
 private void initialize() {
  this.setSize(300, 200);
  this.setLayout(new GridBagLayout());
 }

 //swing은 애니메이션시 잔상남아서 해결하는 방법. 아래.
 @Override
 protected void paintComponent(Graphics g) {
  // TODO 자동 생성된 메소드 스텁
  super.paintComponent(g);
  g.drawImage(image, 0, 0, this);
 }
}

Posted by 말없제이
,

package ch14;

import java.awt.Graphics;

import javax.swing.JPanel;

public class Ch1402Panel extends JPanel
{
 public Ch1402Panel()
 {
  // TODO 자동 생성된 생성자 스텁
  super();
  setVisible(true);
 }
 
 @Override
 protected void paintComponent(Graphics g) {
  // TODO 자동 생성된 메소드 스텁
  //부모에 있는 코딩도 돌리고 자신도 돌린다..
  super.paintComponent(g);
  g.drawRect(50, 50, 150, 100);
 }
}


******* Ch1401_AWT.java *******
package ch14;

import java.awt.Frame;
import java.awt.Graphics;

public class Ch1401_AWT extends Frame {

 private static final long serialVersionUID = 1L;

 //오버라이드..
 @Override
 public void paint(Graphics g) {
  // TODO 자동 생성된 메소드 스텁
  super.paint(g);
  g.drawRect(50,50,50,100);
 
 }
 
 /**
  * This is the default constructor
  */
 public Ch1401_AWT() {
  super();
  initialize();
 }
 

 /**
  * This method initializes this
  *
  * @return void
  */
 private void initialize() {
  this.setSize(300, 200);
  this.setTitle("Frame");

 }

}

********* Ch1402_Swing.java ********
package ch14;

import java.awt.BorderLayout;
import java.awt.Graphics;

import javax.swing.JPanel;
import javax.swing.JFrame;

public class Ch1402_Swing extends JFrame {

 private static final long serialVersionUID = 1L;

 private Ch1402Panel jContentPane = null;

 //컴포넌트위에 강제로 덮어씀. 될수있음 swing은 paint로 override하지 않음.
 @Override
 public void paint(Graphics g) {
  // TODO 자동 생성된 메소드 스텁
  super.paint(g);
  g.drawRect(50, 50, 100, 50);
 }
 
 
 /**
  * This is the default constructor
  */
 public Ch1402_Swing() {
  super();
  initialize();
 }

 /**
  * This method initializes this
  *
  * @return void
  */
 private void initialize() {
  this.setSize(300, 200);
  this.setContentPane(getJContentPane());
  this.setTitle("JFrame");
 }

 /**
  * This method initializes jContentPane
  *
  * @return javax.swing.JPanel
  */
 private Ch1402Panel getJContentPane() {
  if (jContentPane == null) {
   jContentPane = new Ch1402Panel();
   jContentPane.setLayout(new BorderLayout());
  }
  return jContentPane;
 }

}

Posted by 말없제이
,

<html>
<head>
</head>
<body>
<h2>실습1</h2>
<xmp>
이력체크.
ID : [] =>6자리~12자리까지
패스워드 : []
패스워드확인 : [] 위두개 입력된 값이 일치
이름 : []
나이 : [] -> 20~39까지만
[전송][취소]
</xmp>
<script type="text/jscript">
function idCheck(f)
{
 var fx = eval(f.form.txtId);
 if(fx.value.length<6 || fx.value.length>12)
 {
  alert("아이디는 6자리나 12자리이어야 합니다.");
  fx.focus();
 }
}
function pwdCheck(f)
{
 var fx1 = eval(f.form.pwd1);
 var fx2 = eval(f.form.pwd2);
 if(fx1.value != fx2.value)
 {
  alert("패스워드와 패스워드 확인 값이 일치하지 않습니다.");
  //fx2.focus(); //포커서 주면 위와 같을때까지 무한루프~~~
 }
}
function ageCheck(f)
{
 var fx = eval(f.form.txtAge);
 if(fx.value.length < 1)
 {
  alert("나이를 넣어주세요.");
  fx.focus();
 }
 else if(isNaN(fx.value))
 {
  alert("숫자를 넣어주세요.");
  fx.focus();
 }
 else if(fx.value>39 || fx.value<20)
 {
  alert("가입대상 연령이 아닙니다.");
 }
}
function lastCheck()
{
 var f = eval(document.infoedit);
 var fx1 = eval(f.pwd1);
 var fx2 = eval(f.pwd2);
 if(fx1.value != fx2.value)
 {
  alert("패스워드와 패스워드 확인 값이 일치하지 않습니다.");
  fx2.focus();
  return false;
 }
}
</script>
<form name="infoedit" action="#" onSubmit="return lastCheck();">
ID : <input type="text" name="txtId" size="24" onBlur="idCheck(this);"><br>
패스워드 : <input type="password" name="pwd1"><br>
패스워드 확인 : <input type="password" name="pwd2" onFocus="this.select();" onBlur="pwdCheck(this);"><br>
이름 : <input type="text" name="txtName"><br>
나이 : <input type="text" name="txtAge" onBlur="ageCheck(this);"> 가입대상연령 : 20~39<br>
<input type="submit" value="전송">
<input type="reset" value="취소">
</form>
<br>
<h2>실습2</h2>
계산기~~ 이쥐여.<br>
[][연산자선택(+,-,*,/) 체크박스][][= 이벤트][]<br>
<form name="counter">
<input type="text" name="txtNum1">
<select name="selHow">
<option value="0">선택</a>
</select>
<input type="text" id="txtNum2">
<input type="button" value="=" onClick="calcz(this);">
<input type="text" name="txtResult">
</form>
<script type="text/jscript">
var fa = eval(document.counter);
fa.selHow.options.add(new Option("+","1"));
fa.selHow.options.add(new Option("-","2"));
fa.selHow.options.add(new Option("*","3"));
fa.selHow.options.add(new Option("/","4"));

function calcz(f)
{
var fx1 = eval(f.form.txtNum1);
var fx2 = eval(f.form.txtNum2);
var fxx = eval(f.form.txtResult);
var fxa = eval(f.form.selHow);

if(fx1.value.length<1 || isNaN(fx1.value))
{
alert("숫자를 넣어주세요");
fx1.focus();
}
else if(fx2.value.length<1 || isNaN(fx2.value))
{
alert("숫자를 넣어주세요");
fx2.focus();
}
else
{
switch(fxa.options.selectedIndex)
{

 case 1:
 fxx.value = eval(fx1.value)+eval(fx2.value);
 break;

 case 2:
 fxx.value = eval(fx1.value)-eval(fx2.value);
 break;

 case 3:
 fxx.value = eval(fx1.value)*eval(fx2.value);
 break;

 case 4:
 fxx.value = eval(fx1.value)/eval(fx2.value);
 break;

 default:
 alert("연산자를 선택해 주세요");
 fxa.focus();
 break;
}


}

}
</script>
</body>
</html>

Posted by 말없제이
,

<html>
<head>
</head>
<body>
<h3>Button 객체</h3>
<ul>
<li>속성
<ul>
<li>tpye : 해당양식의 타입
<li>name : 해당 이름
<li>value : 텍스트 상자에 입력된 값
</ul>
<li>메소드
<ul>
<li>click() : 버튼 클릭
</ul>
<li>이벤트
<ul>
<li>onClick() : 버튼 클릭시 발생 이벤트
<li>onMouseDown() : 버튼 마우스누를때 발생이벤트
<li>onMouseUp() : 버튼 마우스 놓을때 발생이벤트.
</ul>
</ul>
<br>
<h3>Select 객체</h3>
콤보박스나 목록상자에 사용<br>
document.폼의이름.콤보/목록상자이름.속성/메소드()<br>
<ul>
<li>속성
<ul>
<li>length : 콤보/목록상자 포함된 항목의 개수
<li>name : 콤보/목록상자 이름
<li>options : 콤보/목록상자 포함된 항목 배열형태로 제공
<ul>
<li>defaultSelected : 선택항목 <option>에서 selected할정보(true,false)
<li>selected : 선택항목이 선택되어있는지 정보(true,false)
<li>text : 해당항목이 보여주는 내용
<li>value : 해당항목의 실질적인 값.
</ul>
<li>selectedIndex : 선택한 항목의 인덱스 번호
<li>type : 목록상자의 다중 선택(multiple) 정보
</ul>
<li>메소드
<ul>
<li>blur() : 콤보/목록상자에서 커서 사라지게 함
<li>focus() : 콤보/목록상자에 커서위치
</ul>
<li>이벤트
<ul>
<li>onBlur() : 콤보/목록상자에서 커서 사라지면 발생 이벤트
<li>onFocus() : 콤보/목록상자에 커서위치하면 발생이벤트
<li>onChange() : 콤보/목록상자에 선택내용이 변경되면 발생
</ul>
</ul>
*참고 : option_name = new Option([optionText, optionValue, defaultSelected,selected]);
<script type="text/jscript">
var option1 = new Array(4);
var option2 = new Array(4);
option1[0] = new Option("태진아","1-1",true,true);
option1[1] = new Option("태진어","1-2");
option1[2] = new Option("대진아","1-3");
option1[3] = new Option("태진이","1-4");

option2[0] = new Option("서태지","2-1");
option2[1] = new Option("이소라","2-2");
option2[2] = new Option("야앙파","2-3",true,true);
option2[3] = new Option("젝키스","2-4");

function onMp3(a,b)
{
var sel = a.form.selMp3;
var sel1 = a.form.selMp32;

switch(b)
{
 case 1:
 for(var i=0;i<4;i++)
 sel.options[i]=option1[i];
 break;
 case 2:
 for(var i=0;i<4;i++)
 sel.options[i]=option2[i];
 break;
}

//문득 수업시간에 들은 eval 너 객체 만들어주는거 맞어?
//생각이 들어서..
//eval없으면 객체를 만들어주지 못하는거 아래 걸루 보면 알어.
var opt2 = "option"+b;
var opt1 = eval("option"+b);
a.form.t1.value = opt2;
a.form.t2.value = opt1;

for(var j=0;j<opt1.length;j++)
{
 sel1.options[j]=new Option(opt1[j].text, opt1[j].value, opt1[j].defaultSelected, opt1[j].selected);
}

}
</script>
<form name="single">
<input type="radio" name="id" onClick="onMp3(this,1);">1 : A면
<input type="radio" name="id" onClick="onMp3(this,2);">2 : B면
<select name="selMp3"></select><br>
<br>
<font color="red">요걸몰랐네~~!</font><br>
eval("option"+b).. 너 객체의문이였지만.. ^^. 아래로 해결.<br>
String으로 인식하면 문자가 뜰것이고, 객체로 인식하면 배열로 뜰것이고..<br>
"option"+b<input type="type" name="t1">eval("option"+b)<input type="text" name="t2">
<select name="selMp32"></select>
</form>
</body>
</html>

Posted by 말없제이
,