<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
 <title> New Document </title>
	<style>
		canvas { border:2px solid red;}
	</style>
	<script>
		var i=0;
		draw = function draw(){
			i++;
			canvas=document.getElementsByTagName("canvas");
			ctx=canvas[0].getContext("2d");
			ctx.fillStyle=colorMake();  // fill 채울때 쓸 컬러
			ctx.strokeStyle="red";  // stroke 윤곽그릴때 쓸 컬러

			ctx.fillRect(0, 0 , 100,30); // x위치, y위치, 가로길이, 세로길이
			ctx.strokeRect(110 , 0 , 80, 15); 
			//for( i = 0  ;  i< 20 ; i++ ){
				ctx.fillRect(10+ i*15 , 50 , 10, 10); 
			//}
		}

		function colorMake(){ //컬러를 리턴하는 function
			no=Math.random()*255;  //  (0.00000  ~ 1.00000)*255 
			no=Math.ceil(no)  ;   // 소수점을 잘라라
			color="rgb(0,0," + no + ")"  //"rgb(0,0,50)"
			return color ;
		}
		
		function auto(){
			setInterval(draw(),500);
		}
	</script>
 </head>

 <body>
	<canvas> </canvas> 
	<button onclick="auto()">   그리기  </button>
	canvas.drawRect(10,20, 50, 60, redColor)
	                         canvas.draeCircle
 </body>
</html>



<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script>
	count=0;

	window.onload=function(){
		button1=document.getElementById("button1");
		button2=document.getElementById("button2");
		div1=document.getElementById("div1");
		
		write = function write(){
			count++;
			div1.innerHTML = div1.innerHTML + count;
		}
		start = function start(){
			//화면에 1,2,3,4 찍기
			auto=setInterval(write,500)//write를 0.5초마다 실행해라.
		}
		
		stop=function stop(){
			clearInterval(auto);
		}
		button1.onclick=start;
		button2.onclick=stop;
	}
</script>
</head>
<body>
	<button id="button1"> start </button>
	<button id="button2"> stop </button>
	<div id="div1" > </div>
</body>
</html>



'JavaScript' 카테고리의 다른 글

HTML과 script를 사용한 그리기  (0) 2012.06.13
draw  (0) 2012.06.12
버튼 클릭시 이미지 생성  (0) 2012.06.12
이미지 노드를 만들어서 화면아래에 추가  (0) 2012.06.12
이미지 변환  (0) 2012.06.12
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> New Document </title>  
  <style>  button { width:100px; height:30px; } </style>
  <script>
	var button1; //전역변수 선언
	var count=0;
	window.onload=function(){
		button1=document.getElementById("button1"); //초기화	
		button2=document.getElementById("button2"); //초기화
		
		m=function makeImg(){
			count++;
			img=document.createElement("img");
			img.src="http://cdn.redmondpie.com/wp-content/uploads/2011/05/Angry-Birds.png"
			img.width="100"; img.height="100";
			document.body.appendChild(img);
			if(count>10){ //10번 이상 실행하면 
				clearInterval(auto);
			}
		}		
		t=function(){
			setTimeout(m,500);	//0.5초뒤 m을 실행해라
			auto=setInterval(m, 200); //1초마다 m을 실행해라
		}  //10번 실행하면 멈추도록 만들어 보세요

		button1.onclick=t; //클릭하면 t 실행해라 
		button2.onclick=function(){
			clearInterval(auto);
		}

	}

  </script>
 </head>

 <body>
	<button id="button1" > click!! </button>
	<button id="button2" > stop !!</button>
 </body>
</html>



'JavaScript' 카테고리의 다른 글

draw  (0) 2012.06.12
버튼클릭시 순서대로 숫자 호출  (0) 2012.06.12
이미지 노드를 만들어서 화면아래에 추가  (0) 2012.06.12
이미지 변환  (0) 2012.06.12
배경 색 바꾸기  (0) 2012.06.12
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style>
		div {  border:1px dotted black; margin:2px 2px; }

	</style>
	<script>
		var li; //전역 변수 선언
		var div1, div2, div3;
		var ul; 

		window.onload=function(){
			init();
			div1.innerHTML = li.length;
			div1.innerHTML += "<br/>" +li[0].innerHTML;
			div1.innerHTML += "<br/>" +li[1].innerHTML;
			div1.innerHTML += "<br/>" +li[2].innerHTML;

			div2.innerHTML = "<br/> li[0].nodeName : "
				               +li[0].nodeName;
			div2.innerHTML += "<br/> li[0].nodeType : "
				               +li[0].nodeType;	 //1:
			div2.innerHTML += "<br/> li[0].nodeValue : "
				               +li[0].nodeValue;	//null	
			div2.innerHTML += "<br/> li[0].length : "
				               +li[0].length;  //undefined
			div2.innerHTML += "<br/> li[0].name : "
				               +li[0].getAttribute("value"); 

			// ul안에 li를 하나 추가하자
			//1. 추가할 li엘리먼트를 만들자
			newLI=document.createElement("li");  // <li> </li>
			//2. text 노드를 만들자
			textNode=document.createTextNode("텍스트 노드");
			//3. li에 text노드를 차일드로 추가하기
			newLI.appendChild(textNode); // <li> 텍스트 노드 </li>	
			//4. 만든 li를 ul안에 넣어주자
			ul[0].appendChild(newLI);	
			
			//텍스트 노드의 정체를 확인해보자
			// <li> <#text>~~~~</#text> </li>
			alert(li[0].childNodes[0].nodeName); //#text
			
			//이미지 노드를 만들어서 화면아래에 추가해보자~
			img=document.createElement("img");//<img/>
			img.src="http://static.naver.net/www/u/2010/0611/nmms_215646753.gif";//<img src =""/>
			img.width="1000";//attribute셋팅할 때는 단위x
			img.height="300";//<img src="~" height="300"/>
			img.style.width="500px"; //style로 셋팅할 때는 단위넣기
			document.body.appendChild(img);

			//버튼을 만들어서 첫번째 div에 넣어보기 
			button=document.createElement("button");
			buttonText=document.createTextNode("내가만든버튼");
			button.appendChild(buttonText);
			div1.appendChild(button);	
			button.onclick=function(){
				alert(button.nodeName);
			}
		}
		function init(){			
			li=document.getElementsByTagName("li");// 배열로 초기화
			ul=document.getElementsByTagName("ul");// 배열로 초기화
			div1=document.getElementById("div1");
			div2=document.getElementById("div2");
			div3=document.getElementById("div3");
		}
	</script>
 </head>
	
 <body>
	<ul>
		<li value="li의 첫번째 벨류"> 1 첫번째 </li>
		<li name="li 두번째것의 네임"> 2 두번째</li>
		<li> 3 세번째 </li>
	</ul>
	<div id="div1">  </div>
	<div id="div2">  </div>
	<div id="div3">  </div>
 </body>
</html>



'JavaScript' 카테고리의 다른 글

버튼클릭시 순서대로 숫자 호출  (0) 2012.06.12
버튼 클릭시 이미지 생성  (0) 2012.06.12
이미지 변환  (0) 2012.06.12
배경 색 바꾸기  (0) 2012.06.12
이미지 바꾸기  (0) 2012.05.24
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> New Document </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <style>
	#imgBig{ width:300px; height:300px; 
			   border:2px solid blue;
	}
  </style>
  <script type="text/javascript">
	  var img0;  //전역 변수 선언
	  var img1;
	  var img2;
	  var imgBig;
	  var no=0 ; 
	window.onload=function(){
		img0=document.getElementById("img0")  //전역 변수 초기화
		img1=document.getElementById("img1")
		img2=document.getElementById("img2")
		imgBig=document.getElementById("imgBig") 
		
		img0.onmouseover=function(){
			imgBig.src=img0.src;
		}
		img1.onmouseover=function(){
			imgBig.src=img1.src;
		}
		img2change=function(){ //함수에 이름을 붙여줌  
			imgBig.src=img2.src;
		}
		img2.onmouseover=img2change;

		setTimeout(function(){
				imgBig.src= img0.src;
			}	, 1000); //1초 뒤에 after를 실행해라. 

	}

	aft=function(){
		imgBig.src= img0.src;
	}

	d = function dialog(){
		alert("안녕");
	}
  </script>
 </head>

 <body>
	<img id="img0" src="http://www.w3schools.com/images/compatible_ie.gif">
	<img id="img1" src="http://www.w3schools.com/images/compatible_firefox.gif">
	<img id="img2" src="http://www.w3schools.com/images/compatible_opera.gif">
	<br />
  <img id="imgBig" src="" /> 

 </body>
</html>




'JavaScript' 카테고리의 다른 글

버튼클릭시 순서대로 숫자 호출  (0) 2012.06.12
버튼 클릭시 이미지 생성  (0) 2012.06.12
이미지 노드를 만들어서 화면아래에 추가  (0) 2012.06.12
배경 색 바꾸기  (0) 2012.06.12
이미지 바꾸기  (0) 2012.05.24
<!DOCTYPE HTML >
<html>
 <head>
  <title> New Document </title>
  <meta charset="UTF-8" >
  <script>
	function click1(){  //배경 파랗게
		document.body.bgColor="blue";
	}
	function click2(){  //배경 하얗게
		document.body.bgColor="white";
	}
  </script>
  <script>		
		window.onload=function(){ //윈도우 로딩끝나면 실행해.
			prompt("hi");
			button3=document.getElementById("button3");
			button3.onclick=function(){ //클릭할 때 리스너
				document.body.bgColor="yellow";
				
			}
			button3.onmouseover=function(){ //마우스가 올라갈 때
				document.body.bgColor="green";
			}
			button3.onmouseout=function(){ //올라간것이 빠질 때
				document.body.bgColor="orange";
			}	
			
		}
	</script>
 </head>

 <body BGcolor="gray">
	<input type="button" value="버튼1" id="button1" 
		onclick="click1()">
	<button onclick="click2()">버튼2</button>
	<input type="button" value="버튼3" id="button3">
	<input type="button" value="버튼4" id="button4">
	ctrl+b 로 실행 / ctrl+shift+b 로 실행 <br/>
	도구메뉴/기본설정/도구에 브라우저1과 브라우저2로 셋팅 <br/>

 </body>
</html>



'JavaScript' 카테고리의 다른 글

버튼클릭시 순서대로 숫자 호출  (0) 2012.06.12
버튼 클릭시 이미지 생성  (0) 2012.06.12
이미지 노드를 만들어서 화면아래에 추가  (0) 2012.06.12
이미지 변환  (0) 2012.06.12
이미지 바꾸기  (0) 2012.05.24


요렇게 프로젝트를 생성해주자~~




html5를 선택해서 파일을 생성하자..



서버는 HTTP Preview로 사용하자~~




<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" >
		<title>HTML</title>
		<style type="text/css">
			div { background-color: fuchsia ; 
				   margin-bottom: 5px;
			  } 
		</style>
	</head>
	<body>
		<p id="p0">   안녕하세요 </p>
	   <div id="div0" > 첫번째 div  </div>
	   <div id="div1" style="background-color:yellow; height:50px; width:200px; ">
	   	 두 번째 div 
	    </div>
	   <div id="div2" style="background-color:brown;">  2 </div>	
	      	
	   <script>
	   		div0=document.getElementById("div0");   // Element를 찾아라
	   		div0Text=div0.innerHTML;                // Element의 TEXT
	   		document.write(div0Text);               // 현재위치에 write해라
	   		//alert(div0Text);                      // 경고창을 띄어라 
	   		
	   		// p0의 text "안녕하세요" 를 div2안에 넣으세요 hint : getElement~, innerHTML
	   		//1. p0을 찾는다. 
	   		      p0=document.getElementById("p0");
	   		//2. p0의 TEXT를 가져온다.
	   		      p0Text = p0.innerHTML;
	   		//3. div2를 찾는다.
	   		      div2=document.getElementById("div2");
	   		//4. div2의 TEXT에 p0의 TEXT를 넣는다. 
	   		      div2.innerHTML = p0Text;
	   </script>
	   
	</body>
</html>






'HTML' 카테고리의 다른 글

banner 연습  (0) 2012.05.30




Java Resource -> 패키지 -> 클래스


 

자바빈 자동으로 은닉화 시키는 방법

(정의만 내려주고 아래와 같이 하면됨)



쉽게 은닉화 캡슐화 시키는 방법


 


생성됨




선택후 ok




자바빈 생성확인 메소드 자동 생성 방법



자바빈이용 로그인

(오리지날 자바클래스)



src/chap11.member/MemberInfo.java
package chap11.member;

import java.util.Date;

public class MemberInfo {

    private String id, password, name, address, email;
    private Date registerDate;
    
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public Date getRegisterDate() {
        return registerDate;
    }
    public void setRegisterDate(Date registerDate) {
        this.registerDate = registerDate;
    }

       @Override
    public String toString() {
        return "MemberInfo [id=" + id + ", password=" + password + ", name="
                + name + ", address=" + address + ", email=" + email
                + ", registerDate=" + registerDate + "]";
    }
}

WebContent/membershipForm.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>회원 가입 입력폼</title>
</head>
<body>
<form action="<%= request.getContextPath() %>/processJoing.jsp" method="post">

<table border ="1" cellpadding="0" cellspacing="0" align="center"> 
<tr>
    <td colspan="4" align="center">회원가입</td> 
</tr>
<tr>
    <td> 아이디 </td>
    <td> <input type="text" name="id" size="10"></td>
    <td> 비밀번호 </td>
    <td> <input type="text" name="password" size="10"></td>
</tr>
<tr>
    <td> 이름  </td>
    <td> <input type="text" name="name" size="10"></td>
    <td> 이메일 </td>    
    <td> <input type="text" name="email" size="10"></td>
</tr>
<tr>
    <td> 주소 </td>
    <td colspan="3"><input type="text" name="address" size="30"></td>
</tr>
<tr>
    <td colspan="4" align="center">
    <input type="submit" value="회원가입">
    </td>
</tr>
</table>
</form>
</body>
</html>



첫번째 방법 : import후 명시적으로 객체생성 해서 request를이용하여 데이터를 빼옴,

                  servlet에서는 이방법

processJoining.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="chap11.member.MemberInfo" %>
<%
    request.setCharacterEncoding("utf-8");

    //자바빈 객체 생성 
    //전문적으로 데이터가 보관대는 객체
    MemberInfo member = new MemberInfo();
    member.setId(request.getParameter("id"));
    member.setPassword(request.getParameter("password"));
    member.setName(request.getParameter("name"));
    member.setEmail(request.getParameter("email"));
    member.setAddress(request.getParameter("address"));

     //자바빈 객체 생성된 후 데이터가 정상적으로 저장되었는지 
    //코솔환경에서 확인한기 위해 
    System.out.println(member);

%>
<!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>자바빈 연습</title>
</head>
<body>
아이디 :<%=member.getId() %><br/>
비밀번호 :<%=member.getPassword() %><br/>
이름 :<%=member.getName() %><br/>
이메일 :<%=member.getEmail() %><br/>
주소 :<%=member.getAddress() %><br/>
</body>
</html>


두번째 방법: <jsp:useBean>을 이용한 객체 생성 <jsp:setProperty>와

 <jsp:geyProperty>를 이용. 자바빈에서는 이방법

processJoining.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    //한글처리
    request.setCharacterEncoding("utf-8");
    String id= request.getParameter("id");
    String password= request.getParameter("password");
    String name= request.getParameter("name");
    String email= request.getParameter("email");
    String address= request.getParameter("address");
%>
<jsp:useBean id="member" class="chap11.member.MemberInfo"></jsp:useBean>
<jsp:setProperty name="member" property="id" value="<%=id%>"/>
<jsp:setProperty name="member" property="password" value="<%=password%>"/>
<jsp:setProperty name="member" property="name" value="<%=name%>"/>
<jsp:setProperty name="member" property="email" value="<%=email%>"/>
<jsp:setProperty name="member" property="address" value="<%=address%>"/>

<!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>자바빈 연습2 - jsp:useBean 을 이용한 객체 생성하기</title>
</head>
<body>
아이디 : <jsp:getProperty name="member" property="id" /><br/>
비밀번호 : <jsp:getProperty name="member" property="password" /><br/>
이름 : <jsp:getProperty name="member" property="name" /><br/>
이메일 : <jsp:getProperty name="member" property="email" /><br/>
주소 : <jsp:getProperty name="member" property="address" /><br/>

</body>
</html>




setProperty 코드 줄이기 

-자바빈에 있는 멤버변수와 폼에 있는 name을 일치 시키면 간략하게 코드 사용 가능



변경 전
<pre class="brush:java"><%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	request.setCharacterEncoding("UTF-8");
	String id = request.getParameter("id");
	String password = request.getParameter("password");
	String name = request.getParameter("name");
	String email = request.getParameter("email");
	String address = request.getParameter("address");
%>
<!-- usebean으로 객체 생성 -->
<jsp:useBean id="member" class="chap11.member.MemberInfo"></jsp:useBean>
<!-- 데이터 셋팅 -->
<jsp:setProperty name="member" property="id" value="<%=id %>"/>
<jsp:setProperty name="member" property="password" value="<%=password %>"/>
<jsp:setProperty name="member" property="name" value="<%=name %>"/>
<jsp:setProperty name="member" property="email" value="<%=email %>"/>
<jsp:setProperty name="member" property="address" value="<%=address %>"/>

<!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>자바빈 연습</title>
</head>
<body>
<!-- get Property로 값 가져오기 -->
아이디 : <jsp:getProperty name="member" property="id" /><br>
암호 : <jsp:getProperty name="member" property="password" /><br>
이름 : <jsp:getProperty name="member" property="name" /><br>
이메일 : <jsp:getProperty name="member" property="email" /><br>
주소 : <jsp:getProperty name="member" property="address" /><br>
</body>
</html></pre>


↓↓↓↓↓↓↓↓↓↓↓↓↓

변경 후
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    //한글처리
    request.setCharacterEncoding("utf-8");
%>
<!-- class="풀네임" import가 안먹기때문에 전체주소를 적어줘야 한다.  -->
<jsp:useBean id="member" class="chap11.member.MemberInfo"></jsp:useBean>

<!-- 
1.value="" 부분은 
request로 들어가서 프로퍼티 명과 파라미터네임과 같은것이 있는경우 그 데이터를 자바빈에 셋팅 
명시적으로 세팅을 할필요가없어졌다.

2.property="*" 
한줄로 줄일수있다 getProperty에서 프로퍼티명과 파라미터네임이 같은걸 가져옴

* 자바빈에 private 값설정과, 파라미터명, 프로퍼티명을  똑같게 써야 가능
-->
<jsp:setProperty name="member" property="*"/>

<!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>자바빈 연습2 - jsp:useBean 을 이용한 객체 생성하기</title>
</head>
<body>
아이디 : <jsp:getProperty name="member" property="id" /><br/>
비밀번호 : <jsp:getProperty name="member" property="password" /><br/>
이름 : <jsp:getProperty name="member" property="name" /><br/>
이메일 : <jsp:getProperty name="member" property="email" /><br/>
주소 : <jsp:getProperty name="member" property="address" /><br/>
</body>
</html>





'JSP > 기본(Oracle)' 카테고리의 다른 글

JSP DB연동 Oracle sqldeveloper setting  (0) 2012.06.20
PreparedStatement Statement 의 차이점(SELECT),(INSERT)  (0) 2012.06.20
회원가입 입력 폼  (0) 2012.05.31
Jsp를 이용한 달력  (0) 2012.05.31
JSP 세션 Session  (0) 2012.05.31
http://www.mysql.com/downloads/


MySQL Community Server에 들어가자~~




자신의 버전에 맞게 다운받자(아직 라이온 용으로는 안나왔나보다...곧 산사자도 나올 텐데....)




파일안에 4개의 파일이있다...


각각 파일은

1. mysql-5.5.15-osx10.6-x86_64.pkg  : mysql 설치파일

2. MySQL.prefPane : 시스템 환경설정 등록

3. MySQLStartupItem.pkg : 부팅 시 자동시작 설정

4. ReadMe.txt : 설치 안내 

기능을 수행한다.


1-> 3-> 2순으로  install 해준다.



부팅 할때 자동으로 시작되게 하고 싶으면 체크를 하자


빨간색 stopped는 현재 MySQL이 구동되고 있지 않다는 것이도 Start MySQL Server를 클릭하면

녹색으로 running으로 변한다.





터미널 창을 열어서 /usr/local/mysql/bin/mysql




잘 설치가 된걸 볼수 있다...(맥용 MySQL은 설치시 비밀번호 세팅이 없어서 따로 해줘야 한다.





'OSX & iOS' 카테고리의 다른 글

맥에서 오라클 설치  (0) 2012.04.17
Lion 단축키~~  (0) 2012.04.15
mb403/kh 분해 파일  (0) 2012.04.15

1.이클립스가 있는 폴더내에 eclipse.ini 파일을 다음과 같이 수정합니다.

 원본수정 후 
-vmargs
-Dosgi.requiredJavaVersion=1.5 
-Xms40m  
-Xmx256m
-vmargs
-Dosgi.requiredJavaVersion=1.5 
-Xverify:none 

-XX:+UseParallelGC
-XX:-UseConcMarkSweepGC 
-XX:+AggressiveOpts 

-XX:PermSize=32M
-XX:MaxPermSize=128M  
-XX:MaxNewSize=32M 
-XX:NewSize=32M 
-Xms256m  
-Xmx256m


설명

-Xverify:none                         // 클래스 검사 생략. 이클립스 실행 시간이 줄어듭니다.
-XX:+UseParallelGC               // Parallel Collector를 사용. 병렬 가비지 컬렉션입니다.
-XX:-UseConcMarkSweepGC // 병행 mark-sweepGC 기능을 수행하여 GUI 응답 속도 처리
-XX:+AggressiveOpts             // 컴파일러 소수점 최적화 기능
-XX:PermSize=32M                // 이클립스 클래스 로딩 기본 메모리
 
-XX:MaxPermSize=128M       // 이클립스 클래스 로딩 최대 메모리
-XX:NewSize=32M                 // JVM에서 새로운 객체가 생성 될때 로딩되는 최소 영역
-XX:MaxNewSize=32M           // JVM에서 새로운 객체가 생성 될때 로딩되는 최대 영역
-Xms256m                            // 이클립스 실행시 잡는 최소 메모리
-Xmx256m                            // 이클립스 실행시 잡는 최대 메모리

*Xms와 Xmx를 똑같이 잡아 주는 이유는 이클립스가 메모리를 유동적으로 관리하는데 이걸 정적으로 
고정시켜 주기 위해서입니다. 
유동적으로 관리하게 놔두면 자바는 메모리가 부족할때 확보하려고 메모리 할당을 하게 되고 메모리의 여유가
있으면 남는 메모리를 조금씩 시스템으로 돌려버립니다. 이러한 작업때문에 이클립스 속도가 더 느려지기에
아예 처음부터 최소값과 최대값을 고정시켜 버리면 불필요한 작업을 하지 않게 됩니다. 
물론 메모리 값은 컴퓨터 사양에 따라 수정해주시면 됩니다. 



 2.힙 메모리 정리

Window -> Perference -> General  에서 'Show heap status'에 체크해줍니다.





체크를 해주면 이클립스 오른쪽 하단에 현재 메모리 사용량과 휴지통 아이콘이 생깁니다.




힙에 메모리가 많이 쌓였을때 휴지통을 눌러서 한번씩 날려주면 빨라집니다.


 
3.코드 어시스트 기능을 끕니다. 단축키 ctrl + space 로 코드 어시스트 사용가능합니다.

 Window -> Preferences -> Java -> Editor -> Code Assist tab 에서 'Enable auto activation' 을 꺼줍니다.




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

Eclipse Helios Freeze(멈추는) 현상 해결하기  (0) 2012.04.16
단축키  (0) 2012.04.09
설치  (0) 2012.04.09






1.게시판에 사용될 테이블 만들기



_M#]



2.게시판 프로젝트 시작하기



3.게시판 리스트를 위한 프로그래밍



4.게시물 쓰기


5.게시물 상세보기


06.게시물 수정하기


07.게시물 삭제하기



08.예외 처리 페이지







action/ListAtion.java

package action; import java.sql.SQLException; import java.util.HashMap; import java.util.List; import java.util.Map; import model.User; import conn.Ibatis; public class ListAction { List<User> list; public String execute(){ Ibatis ibatis=new Ibatis(); try { //db에서 모든 글을 가져오기 list=ibatis.sqlMapper.queryForList("selectAllUsers"); //select하기 ? Map<String, String> map=new HashMap<String, String>(); map.put("USER_ID", "^^"); //list=ibatis.sqlMapper.queryForList("select", map); // 지우기 ibatis.sqlMapper.delete("delete", map); } catch (SQLException e) { System.out.println(e.getMessage()); } return "success"; } public List<User> getList() { return list; // <s:iterater value="list">로 호출할 것이 } }



conn/Ibatis.java
package conn;

import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import model.User;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;

public class Ibatis {
	public static SqlMapClient sqlMapper;	
	static {
		try {
			//sqlMapConfig.xml 파일의 설정내용을 가져온다.
			Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
			//sqlMapConfig.xml의 내용을 적용한 sqlMapper 객체 생성.
			sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
			reader.close(); 
		} catch (IOException e) {
			throw new RuntimeException(
					"SqlMapClient 인스턴스 생성시 예외발생." + e, e);
		}
	}   
}

model/User.java
package model;

public class User {
	private String userId;  
	private String userPW;
	private String userName;
	public String getUserId() {
		return userId;
	}
	public void setUserId(String userId) {
		this.userId = userId;
	}
	public String getUserPW() {
		return userPW;
	}
	public void setUserPW(String userPW) {
		this.userPW = userPW;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	@Override
	public String toString() {
		String result;
		result=String.format("[User:ID=%s,Password=%s,Name=%s]", 
				userId, userPW, userName);
		return result;
	}
}


test/UserTest.java
package test;

import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import model.User;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;

public class UserTest {
	private static SqlMapClient sqlMapper;
	static List<User> list;
	static {
		try {
			//sqlMapConfig.xml 파일의 설정내용을 가져온다.
			Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
			//sqlMapConfig.xml의 내용을 적용한 sqlMapper 객체 생성.
			sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
			reader.close(); 
		} catch (IOException e) {
			throw new RuntimeException(
					"SqlMapClient 인스턴스 생성시 예외발생." + e, e);
		}
	}   

	public static List<User> getList() {
		return list;   //${list}  <s:property value="list"> <s:iterator 로 화면에 출력
	}
}


13-1.sql
create table if not exists user(
  USER_ID varchar(20) primary key,
  USER_PW varchar(20),
  USER_NAME varchar(20)
);
insert into user value('^^', 'pppp1111', 'Hong');
insert into user value('-_-', '1111pppp', 'Min');
commit;
insert into user (USER_ID, USER_PW, USER_NAME )
 values ('pinksubean', 'pppp1111', 'park');
insert into user (USER_ID, USER_PW, USER_NAME )
 values ('pinkonejee', '1111pppp', 'kim');
SqlMapConfig.xml
<?xml version="1.0" encoding="euc-kr" ?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" 
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>

  <properties resource="dbconnect.properties" />

  <settings 
    useStatementNamespaces="false"
    cacheModelsEnabled="true" 
    enhancementEnabled="true"
    lazyLoadingEnabled="true" 
    maxRequests="32" 
    maxSessions="10" 
    maxTransactions="5" 
    />

  <transactionManager type="JDBC">
    <dataSource type="DBCP">
      <property name="JDBC.Driver" value="${driver}" />
      <property name="JDBC.ConnectionURL" value="${url}" />
      <property name="JDBC.Username" value="${username}" />
      <property name="JDBC.Password" value="${password}" />
      <property name="JDBC.DefaultAutoCommit" value="false" />
    </dataSource>
  </transactionManager>

   <sqlMap resource="User.xml" />
</sqlMapConfig> 
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
  <constant name="struts.i18n.encoding" value="UTF-8" />
  <constant name="struts.devMode" value="true" />
  
  <package name="ch12"  extends="struts-default">

	
	<action name="List" class="action.ListAction">
		<result>list.jsp</result>
	</action>

   </package>    
</struts>

User.xml
<?xml version="1.0" encoding="euc-kr" ?>

<!DOCTYPE sqlMap      
    PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"      
    "http://ibatis.apache.org/dtd/sql-map-2.dtd">

<sqlMap namespace="User">
  <!--  전화번호부 테이블 DATA0=(user_name) DATA1 DATA2 -->
  <!-- 리절트 맵 정의 -->
  <resultMap id="UserResult" class="model.User">
    <result property="userId" column="USER_ID"/>
    <result property="userPW" column="USER_PW"/>
    <result property="userName" column="USER_NAME"/>
  </resultMap>
  
  <!-- select 쿼리문 정의 -->
  <select id="selectAllUsers" resultMap="UserResult">
    select * from USER
  </select>
   <!-- 상세 내용 보기 -->
     <select id="select" parameterClass="java.util.Map"
             resultMap="UserResult">
             select * from USER where USER_ID=#USER_ID#
     </select>
  
    <!--  글 지우기  -->
  	<delete id="delete" parameterClass="java.util.Map">
  		delete  from USER where USER_ID=#USER_ID#
  	</delete>
  	
  	<!--  글 수정하기 -->
  	<update id="update" parameterClass="java.util.Map">
  		update USER (USER_PW, USER_NAME  ) 
  		set ( #USER_PW#, #USER_NAME#  ) where USER_ID=#USER_ID#
  	</update>
</sqlMap>

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>아이바티스 공부</display-name>
 
    
  <filter>
  <filter-name>struts2</filter-name>
  <filter-class>
  org.apache.struts2.dispatcher.FilterDispatcher
  </filter-class>
   <init-param> 
     <param-name>struts.i18n.encoding</param-name>
     <param-value>euc-kr</param-value>
  </init-param> 
  </filter>
  <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
  </filter-mapping>  
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>
list.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>    
<!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>Insert title here</title>
</head>
<body>
	게시글 목록 <br/>
	<s:iterator value="list">
		<s:property value="userId"/> / 
		<s:property value="userPW"/> /
		<s:property value="userName" />		<hr/>  
	</s:iterator> <br/> 
	private String userId;  
	private String userPW;
	private String userName;
</body>
</html>




+ Recent posts