<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

xmlns:p="http://www.springframework.org/schema/p"                

  p 태크를 사용하기 위해

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">



beans 들 중에 bean 하나씩 개인 설정을 하기 시작

<!-- dataSource 설정 -->

dataSource 라는 id 로 oracle DB를 접속하기 위한 property 와 value 를 저장 하여 설정

<bean id="dataSource"

class="org.springframework.jdbc.datasource.DriverManagerDataSource">

<property name="driverClassName">

<value>oracle.jdbc.driver.OracleDriver</value>

</property>

<property name="url">

<value>jdbc:oracle:thin:@localhost:1521:ORCL</value>

</property>

<property name="username">

<value>scott</value>

</property>

<property name="password">

<value>tiger</value>

</property>

</bean>

<!-- iba test -->

bean id 를 sqlMapClient 로 두며 class를 org.springframework.orm.ibatis.SqlMapClientFactoryBean 사용한다. p:dataSource-ref 는 p 태크는 메소드를 압축시킨 상대로써 dataSource메소드에 ref로 dataSource를 set한다.

<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"

p:dataSource-ref="dataSource" p:configLocation="SqlMapConfig.xml" />


<bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate"

p:sqlMapClient-ref="sqlMapClient" />


<bean id="ibaDao" class="mem.MemberDaoImpl"

p:sqlMapClientTemplate-ref="sqlMapClientTemplate" />

사용자의 class 부분이므로 만들어진 class에 dao 변수에 ibaDao 를 치환하여 저장 한다.

<bean id="service" class="mem.MemberServiceImpl">

<property name="dao"><ref bean="ibaDao"/></property>

</bean>

</beans>


블로그 이미지

김진리

,

초기 spring 이 필요한 IDE 를 설치하기위해

http://dist.springframework.org/release/IDE 에 있는 IDE (integrated development environment )들을 다운로드 합니다.


이거나


만약에 다운로드 하여도 안될시 Spring이 설치 되어 있는 eclipse 를 다운로드하는 방법을 사용합니다.

www.springsource.org 주소에 들어 가셔서 


자신에 맞는 다운을 합니다. 그럼 Spring 사용 Ok.

블로그 이미지

김진리

,

package com.bill.hello;


import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

import android.widget.Toast;


public class MainActivity extends Activity {

private Button button1,button2,button3,button4,button5,button6,button7,button8,button9,button10,button11,button12,button13,button14,button15,button16;

private TextView text;

private EditText edit;

private int a;

private int where=0;

@Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

          setContentView(R.layout.activity_main);

          Toast.makeText(getApplicationContext(), "welcome", Toast.LENGTH_SHORT).show();

            

          button1 = (Button)findViewById(R.id.button1);

          button2 = (Button)findViewById(R.id.button2);

          button3 = (Button)findViewById(R.id.button3);

          button4 = (Button)findViewById(R.id.button4);

          button5 = (Button)findViewById(R.id.button5);

          button6 = (Button)findViewById(R.id.button6);

          button7 = (Button)findViewById(R.id.button7);

          button8 = (Button)findViewById(R.id.button8);

          button9 = (Button)findViewById(R.id.button9);

          button10 = (Button)findViewById(R.id.button10);

          button11 = (Button)findViewById(R.id.button11);

          button12 = (Button)findViewById(R.id.button12);

          button13 = (Button)findViewById(R.id.button13);

          button14 = (Button)findViewById(R.id.button14);

          button15 = (Button)findViewById(R.id.button15);

          button16 = (Button)findViewById(R.id.button16);

          

          text = (TextView)findViewById(R.id.t1);

          edit = (EditText)findViewById(R.id.e1);

          

   

          

          OnClickListener cl = new OnClickListener(){

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

if(v==button1){

edit.setText(edit.getText().toString()+1);

}

else if(v==button2){

edit.setText(edit.getText().toString()+2);

}

else if(v==button3){

edit.setText(edit.getText().toString()+3);

}

else if(v==button4){

// +  부분

a = Integer.valueOf(edit.getText().toString().trim());

edit.setText("");

where =1;

}

else if(v==button5){

edit.setText(edit.getText().toString()+4);

}

else if(v==button6){

edit.setText(edit.getText().toString()+5);

}

else if(v==button7){

edit.setText(edit.getText().toString()+6);

}

else if(v==button8){

//-

a = Integer.valueOf(edit.getText().toString().trim());

edit.setText("");

where =2;

}

else if(v==button9){

edit.setText(edit.getText().toString()+7);

}

else if(v==button10){

edit.setText(edit.getText().toString()+8);

}

else if(v==button11){

edit.setText(edit.getText().toString()+9);

}

else if(v==button12){

//*

a = Integer.valueOf(edit.getText().toString().trim());

edit.setText("");

where =3;

}

else if(v==button13){

edit.setText(edit.getText().toString()+0);

}

else if(v==button14){

//=

if(where==1){

a = a + Integer.valueOf(edit.getText().toString().trim());

edit.setText(Integer.toString(a));

}

else if(where==2){

a = a - Integer.valueOf(edit.getText().toString().trim());

edit.setText(Integer.toString(a));

}

else if(where==3){

a = a * Integer.valueOf(edit.getText().toString().trim());

edit.setText(Integer.toString(a));

}

else if(where==4){

a = a / Integer.valueOf(edit.getText().toString().trim());

edit.setText(Integer.toString(a));

}


}

else if(v==button15){

//C

edit.setText("");

}

else if(v==button16){

// /

a = Integer.valueOf(edit.getText().toString().trim());

edit.setText("");

where =4;

}

}

};

      button1.setOnClickListener(cl);

      button2.setOnClickListener(cl);

      button3.setOnClickListener(cl);

      button4.setOnClickListener(cl);

      button5.setOnClickListener(cl);

      button6.setOnClickListener(cl);

      button7.setOnClickListener(cl);

      button8.setOnClickListener(cl);

      button9.setOnClickListener(cl);

      button10.setOnClickListener(cl);

      button11.setOnClickListener(cl);

      button12.setOnClickListener(cl);

      button13.setOnClickListener(cl);

      button14.setOnClickListener(cl);

      button15.setOnClickListener(cl);

      button16.setOnClickListener(cl);

      

}

}






xml 부분

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/t1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="What do you want?"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/e1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="40dp"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="30dp"
        android:layout_marginTop="50dp"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="1" />

            <Button
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="2" />

            <Button
                android:id="@+id/button3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="3" />

            <Button
                android:id="@+id/button4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="+" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <Button
                android:id="@+id/button5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="4" />

            <Button
                android:id="@+id/button6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="5" />

            <Button
                android:id="@+id/button7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="6" />

            <Button
                android:id="@+id/button8"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="-" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <Button
                android:id="@+id/button9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="7" />

            <Button
                android:id="@+id/button10"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="8" />

            <Button
                android:id="@+id/button11"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="9" />

            <Button
                android:id="@+id/button12"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="*" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <Button
                android:id="@+id/button13"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0" />

            <Button
                android:id="@+id/button14"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="=" />

            <Button
                android:id="@+id/button15"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Clear" />

            <Button
                android:id="@+id/button16"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="/" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

'개발자 > Android' 카테고리의 다른 글

안드로이드 Locat 에 text 출력하기  (0) 2013.02.14
안드로이드 생명 주기 실행 예제  (0) 2013.02.14
블로그 이미지

김진리

,

          Log.i("test","info");        - 녹색 

          Log.e("test","erro");       - 빨강

          Log.w("test","warning");  - 주황

          Log.d("test","debug");      - 남색


i e w d 에 따라 색깔이 다르다.


'개발자 > Android' 카테고리의 다른 글

Android 사칙연산 계산기 소스  (2) 2013.02.14
안드로이드 생명 주기 실행 예제  (0) 2013.02.14
블로그 이미지

김진리

,

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

          setContentView(R.layout.activity_main);

          Toast.makeText(getApplicationContext(), "onCreate()", Toast.LENGTH_SHORT).show();

      }


@Override

protected void onDestroy() {

// TODO Auto-generated method stub

super.onDestroy();

        Toast.makeText(getApplicationContext(), "onDestroy()", Toast.LENGTH_SHORT).show();

}


@Override

protected void onPause() {

// TODO Auto-generated method stub

super.onPause();

        Toast.makeText(getApplicationContext(), "onPause()", Toast.LENGTH_SHORT).show();

}


@Override

protected void onRestart() {

// TODO Auto-generated method stub

super.onRestart();

        Toast.makeText(getApplicationContext(), "onRestart()", Toast.LENGTH_SHORT).show();

}


@Override

protected void onResume() {

// TODO Auto-generated method stub

super.onResume();

        Toast.makeText(getApplicationContext(), "onResume()", Toast.LENGTH_SHORT).show();

}


@Override

protected void onStart() {

// TODO Auto-generated method stub

super.onStart();

        Toast.makeText(getApplicationContext(), "onStart()", Toast.LENGTH_SHORT).show();

}


@Override

protected void onStop() {

// TODO Auto-generated method stub

super.onStop();

        Toast.makeText(getApplicationContext(), "onStop()", Toast.LENGTH_SHORT).show();

}


7가지의 생명주기를 눈으로 확인해 볼 수 있다.


onDestroy 는 finish 하여야 종료가 된다.

'개발자 > Android' 카테고리의 다른 글

Android 사칙연산 계산기 소스  (2) 2013.02.14
안드로이드 Locat 에 text 출력하기  (0) 2013.02.14
블로그 이미지

김진리

,

Object 소켓 서버.zip


클라는 압축파일안에.


package PC;


import java.io.IOException;

import java.io.InputStream;

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;

import java.io.OutputStream;

import java.net.ServerSocket;

import java.net.Socket;


public class ChatServer {


public static void main(String[] args) throws IOException{

int i=1;

ServerSocket sSocket = new ServerSocket(3000);

System.out.println("PC방 개업 시작...");

while(true){

ObjectInputStream ois = null;

ObjectOutputStream oos = null;

Socket socket = sSocket.accept();

System.out.println(socket + "손님 입장");

oos = new ObjectOutputStream(socket.getOutputStream());

ois = new ObjectInputStream(socket.getInputStream());


ChatRunner cr = new ChatRunner(socket,ois,oos,i);

cr.start();

i++;

}

}

}





package PC;


import java.io.IOException;

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;

import java.net.Socket;

import java.util.ArrayList;


public class ChatRunner extends Thread {

private boolean flag = false;

private Socket socket = null;

private Data data = null;

private int client=0;

private int count=0;


ObjectInputStream ois = null;

ObjectOutputStream oos = null;

public ChatRunner(Socket socket,ObjectInputStream ois, ObjectOutputStream oos, int client) throws IOException {

this.socket = socket;

this.ois = ois;

this.oos = oos;

this.client = client;

}


public void run() {

try {


while (!flag) {

// 가격 리스트 측정

ArrayList<String> glist = new ArrayList<String>();

ArrayList<String> flist = new ArrayList<String>();

int[] gamemoney = new int[10];

int[] foodmoney = new int[10];

glist.add("서든어택");    gamemoney[0]=2000; glist.add("리니지"); gamemoney[1]=3000;

glist.add("LOL");      gamemoney[2]=4000; glist.add("넷마블"); gamemoney[3]=1500;

glist.add("스타크래프트");  gamemoney[4]=1000;

flist.add("피자");  foodmoney[0]=12000; flist.add("냠냠과자"); foodmoney[1]=1000;

flist.add("햄버거");  foodmoney[2]=6000; flist.add("짜장면");   foodmoney[3]=5500;

flist.add("뽀글이");    foodmoney[4]=2200;

// Data Object에 가격 셋팅 하기

data = new Data();

data.setClientNum(client);

data.setCount(-1);

data.setGame(glist);

data.setGamemoney(gamemoney);

data.setFood(flist);

data.setFoodmoney(foodmoney);

if(count==0){

oos.writeObject(data);

System.out.println(client + " : 번 손님의 PC 실행!");

count++;

}

else{

flag=true;

}

}

data = (Data)ois.readObject();

int time = data.getTotaltime();

int money = data.getTotalmoney();

int num = data.getClientNum();

System.out.println(num +" 의 손님의 총 플레이시간  : " + time + " 총 금액 : " + money);

System.out.println("안녕히가세요!");

oos.close();

ois.close();

socket.close();

} catch (IOException e) {

e.printStackTrace();

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}


}



블로그 이미지

김진리

,

st1 = "abcd";

st2 = "abcd";


두개의 메모리 주소는 st1가 생성하였던 메모리 주소에 그대로 st2 를 가리키게 된다.

원리는 java의 jvm 이 전에 생성하였던 변수정보를 한번 읽어서 다시 분배 하기 때문에 같은 메모리를 가르키게 된다


st1 = new String("abcd");

st2 = new String("abcd");


는 인스턴스화 되어서 heap 영역에 st1 st2 각자 메모리가 생성되므로 같은 주소를 가르키지 않게 된다.

'개발자 > Java' 카테고리의 다른 글

el 태그 ${}  (0) 2013.03.05
Object 직렬화를 사용한 통신  (0) 2013.02.13
Java 제너릭 사용 예제  (0) 2013.01.30
TreeMap 구현 분석  (0) 2013.01.29
Access Constrol ( 접근제어 ) 3가지  (0) 2013.01.28
블로그 이미지

김진리

,


game.zip



index.jsp



<%@ page contentType="text/html;charset=euc-kr"%>

<%

String target = request.getParameter("target") + ".jsp";

%>


<html>

<body>

<head><title>모듈화2</title></head>

<table width="500" border="1"  cellpadding="5" align="center">

<tr>

<td colspan="2">

<jsp:include page="include/top.jsp" flush="false" />

</td>

</td>


<tr>

<td valign="top">

<jsp:include page="include/menu.jsp" flush="false"/>

</td>

<td width="80%" valign="middle">

<jsp:include page="<%=target%>" flush="false" />

</td>

</tr>


<tr>

<td colspan="2">

<jsp:include page="include/bottom.jsp" flush="false"/>

</td>

</tr>

</body>

</html>




'개발자 > JSP' 카테고리의 다른 글

input type button 만들기  (0) 2013.03.06
Jsp controller 중 HttpservletRequest 를 읽어 오지 못하는 경우!  (0) 2013.03.06
JSP 사진,파일 upload 예제  (0) 2013.02.01
JSP Enumeration 사용 예제  (0) 2013.02.01
JSP post 전송 폼  (0) 2013.02.01
블로그 이미지

김진리

,

제일 먼저 

http://www.servlets.com/cos/ 에서 cos-26Dec2008.zip 파일을 다운 받아서


c : 아파치 폴더에 있는 lib 에 압축을 풀어서 넣는다.



form6.html


<!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=EUC-KR">

<title>조으디조으디조으디  간나새뀌</title>

</head>

<body>


<form action="form6.jsp" method="post" enctype="multipart/form-data">


파일 : <input type = "file" name="file"><br>

설명 : <input type = "text" name="desc"><br>

<input type="submit" value="업로드(해킹)">

<input type="reset" value="취소">


</form>

</body>

</html>






form6.jsp

<%@ page language="java" contentType="text/html;charset=EUC-KR"

pageEncoding="EUC-KR"%>

<%@ page import="com.oreilly.servlet.MultipartRequest,

com.oreilly.servlet.multipart.DefaultFileRenamePolicy,java.io.File" %>


<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title> 업로드가 완료 되었다 조으디 ㅋㅋ</title>

</head>

<body>

<% 

String savePath = application.getRealPath("/upload");

int sizeLimit = 5*1024*1024;

MultipartRequest mr = new MultipartRequest(request,savePath,sizeLimit,"euc-kr",new

DefaultFileRenamePolicy());


File file = mr.getFile("file");

String fileName = file.getName();

long fileSize = file.length();

if(fileName == null){

out.println("파일 업로드 실패");

}else{

out.println(savePath + "<br/>");

out.println("파일명 : " + fileName + "<br/>");

out.println("파일크기 : " + fileSize + "<br/>");

out.println("설명 : " + mr.getParameter("desc") + "<br/>");

}

%>


</body>

</html>

블로그 이미지

김진리

,

checkbox 로 한꺼번에 여러개를 전송 할 시 사용 된다.


form3.html


<!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=EUC-KR">

<title> 핸드폰 고르는 예제</title>

</head>

<body>



<form action = "form3.jsp" method="get" name="textform">

제품선택 : <br>

<input type="checkbox" name="chk1" value="갤럭시튀튀튀">갤럭시튀튀튀<br/>

<input type="checkbox" name="chk2" value="뉴아이패득">뉴아이패득<br/>

<input type="checkbox" name="chk3" value="킨들파이옥">킨들파이옥<br/>

<input type="submit" value="전송">

<input type="reset" value="초기화">


</form>



</body>

</html> 






form3.jsp


<%@ page language="java" contentType="text/html;charset=EUC-KR"

pageEncoding="EUC-KR"%>

<%@ page import="java.util.Enumeration" %>

<% request.setCharacterEncoding("euc-kr"); %>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>당신의 선택은?? 두둥</title>

</head>

<body>

당신의 선택은...

<% 

Enumeration enums = request.getParameterNames();

while ( enums.hasMoreElements()){      

  enums 가 값을 가지고 있는지 물어서 있으면 true / while 문이 반복된다.

String name = (String)enums.nextElement();      

그다음의 enums 가 가지고 있는 element 들을 string 으로 형 변환 시켜 저장!

if(name.startsWith("chk")) {

String value = request.getParameter(name);

out.println("<b>" + value + "<b> , ");

}

}

%> 입니다.



</body>

</html>

블로그 이미지

김진리

,