검색결과 리스트
분류 전체보기에 해당되는 글 150건
- 2014.06.18 getInstance() 란 무엇인가
- 2014.06.11 session을 통해 값넘기기
- 2014.06.11 request.getParameter로 값 넘기기
- 2014.06.05 현재시간함수
- 2014.06.03 executeQuery, executeUpdate
- 2014.05.13 해당월의 마지막 날짜 구하는 쿼리
- 2014.04.18 원하는 순서 문자 변경
- 2014.04.07 TABLESPACE, TRUCATE
- 2014.04.07 자바스크립트 현재 날짜
- 2014.04.03 request, response 객체
글
getInstance() 란 무엇인가
new()와 getInstance()의 차이
new() : 객체를 계속계속 만들 수 있다.
getInstance() : 싱글턴패턴, 하나의 인스턴스만 가지고 공유해서 쓴다.
싱글턴패턴
: 생성자를 private로 선언하여 다른클래스에서 해당 클래스의 인스턴스를
new로 생성하지 못하게 하고, getInstance()함수를 통해서 인스턴스를 갖도록 한다.
자바는 클래스들로 이루어져 있고, 매번 새로운 객체를 생성합니다.
하지만 매번 새로운 객체를 생성하는 것이 아닌
한번만 새로운 객체를 생성하고 그후에는
모든 클래스들이 동일한 객체(인스턴스)를 써야 하는 경우가 생긴다면 어떻게
할것인가에 대한 해답이 위에 나온 getInstance()라는 메소드입니다.
프로그래밍 디자인 패턴중 하나인 싱글턴 패턴이라는 것 입니다.
하지만 그렇게 자세히 알면 짜증나고 머릿속에도 안들어옵니다.
그냥 간단하게 여러분들이 알고 있는 아이온으로 설명하겠습니다.
아래 소스에서 보면 제일 처음 만나는 getInstance()는 DataManager.getInstance();입니다.
이걸 예들 들어 설명하자면
아이온을 하는데 플레이어는 각각 다른 객체로 생성됩니다.
하지만 그 플레이어들이 사용하는 데이터정보는 항상 같이야 합니다.
부활지점정보,큐브확장,비행가능지역,비행고리,채집물,상점들,아이템정보,몬스터정보 등
많은 데이터들은 모든 플레이어들에게 같은 것을 보여주어야 합니다.
그럴때 쓰는게 인스턴스화이다. 이 데이터관리 클래스인 DataManager 클래스를
인스턴스화 한 객체로 만들면 모든 다른 객체들이 참조해서 사용할때
동일한 값 또는 메소드를 동일한 조건으로 사용할 수 있게 됩니다.
GameServer클래스에서 처음에 getInstance()를 한것은 해당 객체를 인스턴스화해서
생성하기 위함이며 다른 서비스나 컨트롤에서 해당 인스턴스화된 객체를 사용하려면
getInstance().메소드() 식으로 사용할 수 있습니다.
'개발 > 실전' 카테고리의 다른 글
checkbox 사용 (0) | 2014.10.29 |
---|---|
오라클 long 타입 insert (0) | 2014.08.28 |
현재시간함수 (0) | 2014.06.05 |
executeQuery, executeUpdate (0) | 2014.06.03 |
원하는 순서 문자 변경 (0) | 2014.04.18 |
설정
트랙백
댓글
글
session을 통해 값넘기기
이번장에서는 session을 통해 값을 넘기는 것이다. session은 일종의 배라고 생각하자 우리는 이 session 이라는 배를 띄우므로써 다음 페이지로 이동하여도 이 session에 저장된 값을 가지고 놀
수있다.
※ 앞장과 하려는 내용은 동일하다. 다만 동작 방식과 방법이 다른것 뿐이다.
파일내용
practice1.jsp 파일
practice2.jsp 파일
practice3.jsp 파일
웹 화면
이와 같은 방법으로도 값을 넘길수 있다. 하지만 object형태로 넘기기 때문에 getParameter에 비하면 많이 무거운 감이 없지 않다. 그래서 session을 통해서는 주요 정보 예를 들면 아이디나 비밀번호를 넘긴다.
추가>>
session.removeAttribute("userId"); //배의 내부값을 지움
session.invalidate(); //배자체도 부심
[출처] 10장 Session을 통해 값 넘기기|작성자 G2
'개발 > 코딩' 카테고리의 다른 글
url로 파일 다운로드 (0) | 2015.03.12 |
---|---|
JSON 파싱 사용하기 (0) | 2015.03.12 |
request.getParameter로 값 넘기기 (0) | 2014.06.11 |
request, response 객체 (0) | 2014.04.03 |
DB프로그래밍 (0) | 2013.11.21 |
설정
트랙백
댓글
글
request.getParameter로 값 넘기기
내가 하려는 짓을 단순한 그림으로 그려봤다. (이상하게 요즘 그림판이 끌리는 것 같음 ;;)
우선 p1에서 이름과 생일을 입력받고 이를 p2로 넘긴다. 그후 이 데이타들 전부를 p3로 넘겨서
출력한다.
이를 위하여 우선 p2에서 request.getParameter을 사용하여 p1의 정보를 가져올 것이다. p3에서 직접 p1의 정보를 가져오면 되지 않냐구? ㅇ 안되 왜냐하면 request의 경우 한번 호출 되면 사라지기 때문에 request.getParameter을 p3에서 입력해봤자 p1의 데이터는 넘어오지 않는다.
코드분석
practice1.jsp 파일 내용
practice2.jsp 파일 내용
여기서 이 노란선이 그어져 있는 부분을 type ="hidden"으로 바꾸면 내용을 안보이게 할수 있다.
물론 앞의 "이름 :" 과 "생일 : "은 html부분에서 입력된 문자이므로 지워 주어야한다.
※ 이 부분에서 중요한 점은 getParameter을 이용해 가져온 값을 String 에 저장후 그 값을 또 다시 변수에 집어 넣는다는 것이다.
practice3.jsp 파일 내용
web에서 보이는 화면
hidden 입력시 텍스트 상자를 숨길수 있다.
결론
다음과 같은 방법으로 p1 -> p2 -> p3로 이동을 시킬수 있으나 이동시 마다 위와 같이 재입력을 시켜 주어야 한다. 다음 장에서는 session을 통하여 이러한 귀찮은 작업을 없애 보자.
jsp 와 같은 웹언어를 공부하다보면 고급 과정에 갈수록 코딩의 수가 줄어 든다고 한다. 물론 고급 과정으로 갈수록 어려운 것은 맞다. 하지만 위와같이 일일이 모든 작업을 해야하는 것은 귀찮기 때문에 더 나은 기술?? 코딩??을 배워야 한고 생각한다.
[출처] 9장 request.getParameter로 값을 넘겨보자.|작성자 G2
'개발 > 코딩' 카테고리의 다른 글
JSON 파싱 사용하기 (0) | 2015.03.12 |
---|---|
session을 통해 값넘기기 (0) | 2014.06.11 |
request, response 객체 (0) | 2014.04.03 |
DB프로그래밍 (0) | 2013.11.21 |
JSP 액션 (0) | 2013.11.21 |
설정
트랙백
댓글
글
현재시간함수
<%@page contentType = "text/html;charset=EUC-KR"%> <%@page import = "java.util.*"%> <% Calendar today = Calendar.getInstance(); // today 변수 선언 - 오늘 날짜를 받음. int year = today.get(Calendar.YEAR); int month = today.get(Calendar.MONTH)+1; int date = today.get(Calendar.DATE); int dayInt = today.get(Calendar.DAY_OF_WEEK);
int hour = today.get(Calendar.HOUR); int minute = today.get(Calendar.MINUTE); int second = today.get(Calendar.SECOND); int ampmInt = today.get(Calendar.AM_PM);
String day = ""; String ampm = "";
switch(dayInt) { case 1 : day = "일"; break; (..중략..) case 7 : day = "토"; break; }
switch(ampmInt) { case 0 : ampm = "오전"; break; case 1 : ampm = "오후"; break; } %>
오늘은 <%=year%> 년 <%=month%> 월 <%=date%> 일 <%=day%> 요일 입니다. <br> 현재시각은 <%=ampm%> <%=hour%> 시 <%=minute%> 분 <%=second%> 초 입니다.
날짜시간(Tue Sep 14 12:11:05 GMT+09:00 2004) <%=new java.util.Date()%>
[출처] jsp 현재시간 함수|작성자 DearBlue
|
'개발 > 실전' 카테고리의 다른 글
오라클 long 타입 insert (0) | 2014.08.28 |
---|---|
getInstance() 란 무엇인가 (0) | 2014.06.18 |
executeQuery, executeUpdate (0) | 2014.06.03 |
원하는 순서 문자 변경 (0) | 2014.04.18 |
자바스크립트 현재 날짜 (0) | 2014.04.07 |
설정
트랙백
댓글
글
executeQuery, executeUpdate
pstmt.executeQuery();
- select 문을 요청한다.
- 결과 값이 ResultSet 객체로 반환된다.
- 레코드 선택은 next() 메서드를 사용한다. (다음 행이 없으면 false, 있으면 true 반환)
- 컬럼은 데이터 형에 따라 getInt(컬럼명), getString(컬럼명) 메서드를 사용한다.
pstmt.executeUpdate();
- insert, delete, update 문을 요청한다.
- 변경된 레코드의 개수가 정수 값으로 반환된다.
[출처] [JDBC] pstmt.executeQuery()|작성자 해무
'개발 > 실전' 카테고리의 다른 글
getInstance() 란 무엇인가 (0) | 2014.06.18 |
---|---|
현재시간함수 (0) | 2014.06.05 |
원하는 순서 문자 변경 (0) | 2014.04.18 |
자바스크립트 현재 날짜 (0) | 2014.04.07 |
클릭했을때 팝업창 + 팝업창 옵션 (0) | 2014.03.27 |
설정
트랙백
댓글
글
해당월의 마지막 날짜 구하는 쿼리
SELECT TEL_NO AS CTN, PAYDATE AS 충전일, AMT AS 충전금액, C.CODE_DESC AS 충전방법, AMT_BONUS AS 보너스충전, ADD_AMT AS 추가충전, AMT_BONUS+ADD_AMT AS 총보너스충전
FROM
(
SELECT
A.TEL_NO,
SUBSTR(A.PAY_DATE,1,4) || '-' || SUBSTR(A.PAY_DATE,5,2) || '-' || SUBSTR(A.PAY_DATE,7,2) || ' ' || SUBSTR(A.PAY_DATE,9,2)
|| ':' || SUBSTR(A.PAY_DATE,11,2) || ':' || SUBSTR(A.PAY_DATE,13,2) PAYDATE,
DECODE(A.PAY_TYPE, 'X', -A.AMT, A.AMT) AMT, A.PPC_NO, A.PP_AGENCY_NO, A.PAY_TYPE, A.AMT_BONUS,
DECODE(A.PAY_TYPE, '2', B.ADD_AMT, 'N', DECODE(A.PP_AGENCY_NO, 'PS1032914', 0, 'PS1024636', 0, 'PS1024866', 0, 0.15) * (A.AMT - A.AMT_BONUS), 0) ADD_AMT
FROM PAY_HIST A, TEMP_PPC_NO_RATIO B
WHERE A.PAY_DATE BETWEEN '20140401' || '01' AND TO_CHAR(LAST_DAY(TO_DATE('201404','YYYYMM')),'YYYYMMDD')
AND A.PAY_TYPE <> 'X' AND A.PPC_NO = B.PPC_NO(+)
) A, CODE_INFO C
WHERE A.PAY_TYPE = C.CODE_NO(+)
AND C.CODE_GROUP = 'PAY_TYPE'
ORDER BY PAYDATE ASC
해당월의 마지막 날짜 초까지 구하기
AND FROM_TIME BETWEEN TO_DATE('201404' || '01000000', 'YYYYMMDDHH24MISS') AND TO_DATE(TO_CHAR(LAST_DAY(TO_DATE('201404' || '01000000', 'YYYYMMDDHH24MISS')), 'YYYYMMDD') || '235959', 'YYYYMMDDHH24MISS')
'개발 > DB' 카테고리의 다른 글
오라클 PARTITION BY (1) | 2014.10.30 |
---|---|
해당 숫자에 몇건이 있는가? (0) | 2014.06.25 |
TABLESPACE, TRUCATE (0) | 2014.04.07 |
날짜 갖고 놀기 (0) | 2014.03.28 |
실전에서!!! (0) | 2014.03.11 |
설정
트랙백
댓글
글
원하는 순서 문자 변경
<td bgcolor="ffffff" align="right" style="padding-right:1px"><%=String.valueOf(user.getDealerAuth()).indexOf("R") > -1 ? String.valueOf(data.get("2")):func.replaceStringLen(String.valueOf(data.get("2")),7,"*")%></td> <!--주민번호-->
주민번호 같은 경우 가려야 하기때문에 위와 같이 사용한다
2번째 데이터를 가져와서 replace한다, 7번째부터 *로 표시한다
'개발 > 실전' 카테고리의 다른 글
현재시간함수 (0) | 2014.06.05 |
---|---|
executeQuery, executeUpdate (0) | 2014.06.03 |
자바스크립트 현재 날짜 (0) | 2014.04.07 |
클릭했을때 팝업창 + 팝업창 옵션 (0) | 2014.03.27 |
URI 와 URL (0) | 2014.03.26 |
설정
트랙백
댓글
글
TABLESPACE, TRUCATE
tablespace는 말그대로 space일 뿐입니다. 우리가 데이터등을 입력하는 용도로 직접 사용하는 것은 아니고요...
그 안에는 각종 DB Object들이 들어갑니다.
주로 해당 Object를 생성/Alter 시 tablespace를 매핑시켜 주어 사용하는 것 입니다.
아래부터는 오라클클럽의 강좌에서 발췌한 내용입니다...참고하세요...
더 자세한 내용들은 오라클클럽 강좌를 이용하시길...^^;
▣ 테이블스페이스(TABLESPACE)란 ?
- 테이블스페이스는 하나 또는 여러개의 데이터 파일로 구성되어 있는 논리적인 데이터 저장 구조 입니다.
- 테이블스페이스는 크게 시스템(SYSTEM) 테이블 스페이스와 비시스템(NON-SYSTEM) 테이블 스페이스로 구분 됩니다.
- 테이블스페이스는 사용자에게 공간을 할당할 수 있으며, 테이블스페이스 안에 저장되어 있을 데이터의 가용성을 제어할 수 있습니다.
==========================================================================
테이블 생성(CREATE)시 매핑하는 것은 자료가 많으니 사용예는 아래 한가지만 들겠습니다...나머지는 직접 찾아보시길 권합니다...^^;
테이블의 테이블스페이스 변경
|
TRUCATE
해당 테이블의 모든 데이터를 삭제하는 명령어
TRUNCATE TABLE 테이블명;
▶DDL 문장이므로 ROLLBACK 불가능
※DELETE과의 차이점
-기능은 같으나 구조적인 차이
-DELETE는 DML 이므로 DELETE 할 경우 해당 데이터에 대한 UnDO Data 를 만들게 된다.
이 때문에 DELETE는 ROLLBACK 이 가능하고, TRUNCATE 는 UnDO Data 를 만들지 않아서
ROLLBACK이 되지 않는 대신 상대적으로 빠른 수행 시간을 보장받게 된다.
'개발 > DB' 카테고리의 다른 글
해당 숫자에 몇건이 있는가? (0) | 2014.06.25 |
---|---|
해당월의 마지막 날짜 구하는 쿼리 (0) | 2014.05.13 |
날짜 갖고 놀기 (0) | 2014.03.28 |
실전에서!!! (0) | 2014.03.11 |
ORACLE 이론 및 코딩하는방법 (0) | 2013.11.04 |
설정
트랙백
댓글
글
자바스크립트 현재 날짜
<SCRIPT language="JavaScript">
<!--
var today = new Date();
document.write(today.getYear()+ "년 ");
document.write((today.getMonth()+ 1) + "월");
document.write(today.getDate()+ "일 ");
document.write(today.getHours()+"시 ");
document.write(today.getMinutes()+ "분 ");
document.write(today.getSeconds()+ "초 ");
//-->
</SCRIPT>
'개발 > 실전' 카테고리의 다른 글
executeQuery, executeUpdate (0) | 2014.06.03 |
---|---|
원하는 순서 문자 변경 (0) | 2014.04.18 |
클릭했을때 팝업창 + 팝업창 옵션 (0) | 2014.03.27 |
URI 와 URL (0) | 2014.03.26 |
Hashmap과 ArrayList 사용법 (0) | 2014.03.21 |
설정
트랙백
댓글
글
request, response 객체
1. Request 객체(요청객체)
클라이언트에서 어떤 페이지를 요청하면 서버로 요청 정보를 전송하는데, 이렇게 전송된 데이터가 저장되는 곳이 바로 Request 객체이다. 사용자가 브라우저를 통해 서버에게 어떤 요구를 하면 Request 객체는 이때 사용자의 브라우저 정보나 입력한 값 등의 정보를 갖게 된다.
사용형식>
Request.[컬렉션 | 속성 | 메소드]("변수")
예) Request.QueryString("strID")
Request.Cookies("Login")
Request.ServerVariables("SERVER_NAME")
(1) ClientCertificate 컬렉션 - 클라이언트가 전송한 인증서
형식> Request.ClientCertificate (키)
예> Request.ClientCertificate (member)
(2) Cookies 컬렉션 - 클라이언트가 전송한 쿠키값
쿠키는 사용자의 시스템에 간단한 정보를 저장하여 필요할 때마다 해당 정보를 읽어오려고 한다.
(쿠키를 사용하는 주된 원인은 간단한 정보를 클라이언트에 저장함으로써 서버의 부하를 크게 줄일 수 있다.)
형식> Request.Cookies (쿠키변수) [(하위쿠키 변수) | .속성 ]
예> Request.Cookies (strLog)
Request.Cookies (strLog) (strSubLog)
(3) From 컬렉션 - 클라이언트가 전송한 폼 요소
서버로 데이터를 전달하는 방법은 get, post 두 가지 방식이 있다. get 방식은 QueryString 컬렉션이 해당 데이터를 받고 post 방식은 Form 컬렉션이 해당 데이터를 받는다.
전달할 데이터를 입력하려고 <Form> 태그를 다음과 같이 사용한다.
< Form Method = "post" Action = "웹페이지" >
태그를 해석하면 사용자가 서버로 전달하고자 입력한 데이터를 post 방식으로 전송하고 지정한 웹페이지에서 데이터를 처리한다는 것을 뜻한다. 처리된 데이터는 Form 컬렉션에 저장되는데 이러한 값을 읽으려면 Form 컬렉션을 사용해야 한다.
형식> Request.Form (변수)
예> Request.Form ("strID")
Request.Form ("strPWD")
<Form>태그는 사용자가 입력한 값을 전달하는 역할을 한다.
형식> <Form Method="전송방식" Action="값을 전달 받을 URL" Enctype = "인코딩할 폼 데이터의 타입 지정" Target = "출력될 창의 이름" >
<INPUT>태그는 입력받을 곳을 생성한다.
형식><INPUT Type = "입력형태" name = "이름" Value = "값">
(4) QueryString 컬렉션 - HTTP 질의 문자열에 있는 변수 값
Form 컬렉션이 post 방식으로 전송된 데이터를 저장하는 것이라면 QueryString 컬렉션은 get 방식으로 전송한 데이터를 저장하는 역할을 한다. 그러므로 Form 컬렉션과 QueryString 컬렉션의 사용법은 비슷하다.
형식>Request.QueryString (변수)
예> Request.QueryString("strID")
Request.QueryString("strPWD")
입력폼 만들기
형식><Form Method = "get" Action = "웹페이지">
<INPUT>태그는 post 방식과 동일
(5) ServerVariables 컬렉션 - HTTP와 환경 변수 값
ServerVariables 컬렉션에 기본적인 사용자가 서버로 전송한 정보들이 저장되어 있다.
형식> Request.ServerVariables (서버환경변수)
예> Request.ServerVariables (strKey)
Request.ServerVariables ("HTTP_USER_AGENT")
(6) TotalByte 속성 - 클라이언트가 전송한 총 바이트 수
사용형식> Request.TotalBytes
사용자가 어떤 요청을 하였을 때 서버가 이에 응답을 보내려고 Response 객체를 사용한다.
형식>Response.[컬렉션 | 속성 | 메소드]
예> Response.Redirect "From.htm"
Response.Cookies ("MemberInfo")
Response.Write "HELLOASP"
(1) Cookies 컬렉션 - 보내지는 쿠기값
Response 객체에서는 Cookies 컬렉션을 사용하여 해당 값을 기억하려고 사용한다.
형식>Resposne.Cookies(쿠키 변수)[(하위 쿠키 변수) | .속성] = 쿠키 값
예> Response.Cookies("MemberInfo")("strName") = "홍길동"
Response.Cookies("MemberInfo").Expires = "May 5, 2006"
(2) Buffer 속성 - ASP의 결과가 완성될 때까지 캐시 할 것인지를 지정
Buffer 속성은 버퍼에 저장할 것인지 안 할 것 인지를 지정하는 속성
Buffer의 값을 'TRUE'로 값을 지정할 때에는 사용자가 요청한 결과를 처리할 때 해당 페이지가 완성될 때까지 또는 Flush나 End 메소드가 호출될 때 까지 해당 결과를 전송하지 않는다. 'FALSE'로 값을 지정할 때에는 결과 페이지를 저장하지 않고 즉시 클라이언트로 전송한다.
(3) CacheControl 속성 - Content Type 헤더에 문자 집합 이름 추가
서버와 사용자 사이에는 페이지 응답 시간을 단축시키려고 해당 웹 페이지를 캐시ㅣ하도록 구성되는 프록시 서버가 있다. 이러한 프록시 서버가 ASP의 결과를 캐시할 것인지에 대한 지정하는 속성이다.
형식>Response.CacheControl [=Cache Control Header]
(4) ContentType 속성 - HTTP 컨텐츠 형식 지정
서버가 사용자에게 파일을 보낼때에 해당 파일의 타입을 지정한다. 이렇게 콘텐츠 형식을 지정함으로써 사용자의 브라우저에 자체적으로 출력할 것인지 아니면 다른 응용 프로그램을 호출할 것인지를 결정하게 된다.
기본 값은 'text/html' 이다.
형식>Response.ContentType [=콘텐츠 형식]
예> Response.ContentType = "image/GIF"
Response.ContentType = "image/JPEG"
(5) Expires 속성 - 캐시된 페이지의 만료기간 지정
브라우저에 캐시된 페이지의 만료 기간을 지정하는 역할을 한다. 페이지가 만료되기 전에 같은 페이지가 호출되면 캐시된 페이지가 출력된다.
형식>Response.Expires = "May 5, 2006"
예> Response.Expires = 0
일반적으로 Expires의 값에는 날짜를 적어주지만 0이나 -1 등을 사용해서도 값을 지정할 수 있다. 만약에 해당 값을 0으로 지정하면 브라우저에서 ASP 페이지가 캐싱하지 못하게 되며 -1 등의 음수로 값을 지정했을 때에는 응답이 즉시 만료가 된다.
(6) ExpiresAbsolute 속성 - 캐시된 페이지의 만료 날짜와 시간 지정
브라우저에 캐시된 페이지의 만료 기간을 지정하는 역할을 한다. 하지만 차이점이 있다면 Expiresabsolute 속성은 날짜 이외에 시간까지 지정할 수 있다.
형식>Response.ExpiresAbsolute [= [날짜] [시간] ]
예> Response.ExpiresAbsolute =#May 5, 2006 12:30:30#
날짜형식은 #과 # 사이에 값을 넣어 나타낸다.
(7) IsClientConnected 속성
클라이언트와 서버가 연결되었는지 아니면 끊었는지를 알려주는 속성이다.
형식>Response.IsClientConnected()
(8) Redirect 메소드
사용자가 서버에 웹 페이지를 요청하면 일반적으로 해당 웹 페이지를 전송한다. 하지만 Redirect 메소드를 사용하면 웹페이지 대신 지정한 URL로 이동시킬 수 있다.
형식>Response.Redirect URL
예> Response.Redirect "Login.htm"
Response.Redirect "Form.htm"
'개발 > 코딩' 카테고리의 다른 글
session을 통해 값넘기기 (0) | 2014.06.11 |
---|---|
request.getParameter로 값 넘기기 (0) | 2014.06.11 |
DB프로그래밍 (0) | 2013.11.21 |
JSP 액션 (0) | 2013.11.21 |
JSP에 대해 (0) | 2013.11.21 |