목록전체 글 (392)
만족
DAO와 DTO는 Database와 통신 시에 사용하는 Design Pattern중 하나이다. DAO는 Data Access Object로 데이터베이스에 접근 할 때 사용하는 객체이고 DTO는 Data Transfer Object로 Database에 Access하여 가져온 데이터들을 규격화한 객체이다. DAO/DTO 패턴을 사용하면 반복되는 코드가 줄어들고, 규격화된 데이터들로 인해 효율성이 증가한다. 예를 들어 member라는 table을 대상으로 DAO/DTO 패턴을 적용하면 public class MemberDAO { public MemberDAO() { try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (Exception e) { S..
Servlet이 초기에 생성될 때 필요한 기본적 Parameter 외에 개발자가 따로 필요한 정보가 있다면 web.xml이나 그 Servlet안에서 직접 필요한 Parameter를 임의로 넣어줄 수 있다. Method 1) Servlet파일 내의 Annotation에 직접 기술 @WebServlet("MAPPING NAME") 처럼 되어 있는 기본 WebServlet annotation을 다음과 같이 변경한다. @WebServlet(urlPatterns={"MAPPING NAME"}, initParams={@WebInitParam(name="name1", value="value1"), @WebInitParam(name="name2", value="value2")}) WebServlet의 매개변수에 ini..
어떤 객체에 대해서, 자바코드 대신 JSP 액션태그를 이용해서 변수의 값을 set, get 하는 방식. 예를 들어 다음 클래스가 있다고 하자. package com.javac.ex; public class Student_Bean {private String name;private int age;private int grade;private int studentNum;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getGrade() {r..
기존의 Statement클래스를 이용한 SQL문의 실행은 문자열을 합치고 문자열 데이터의 경우 ' '로 감싸주는 등의 번거로움이 많고 실수를 유발하는 경우가 많기 떄문에 이를 보완한 PreparedStatement클래스를 사용한다. connection.createStatement(); 로 Statement객체를 불러오는 대신 connection.prepareStatement("Insert SQL"); 로 PreparedStatement객체를 불러온다. prepareStatement()의 매개값으로는 SQL문을 넣어주면 된다. ex) insert를 사용하려면 PreparedStatement prestm= connection.prepareStatement("insert into member (c1, c2, ..
설명은 Oracle Database 11g Express Edition으로 한다. .java파일(Servlet)에서 Oracle Database를 이용하는 방법을 알아보자. doPost()나 doGet()중에서 사용하는 Method를 선택하여 다음의 코드를 삽입한다. doPost를 기준으로 설명하면 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub request.setCharacterEncoding("EUC-KR");//특정 Database와의 연결 정보를 담는 ObjectConnec..
[포워드(Forward)] 지정한 정보를 가지고 다른 페이지로 이동한다. ex) 다음의 코드로 param1과 param2를 가지고 targetPage.jsp로 이동한다. targetPage.jsp에서는 Sended Param1: Sended Param2: 처럼 parameter로 전달했던 정보를 얻어올 수 있다 을 사용하지 않으면 매개변수 없이도 페이지를 이동할 수 있다. 포워드의 경우에는 서버 내부에서 페이지를 이동하기 때문에, 실제로는 targetPage.jsp로 이동했더라도 클라이언트 측 URL은 변하지 않는다. [리디렉션(Redirection)] 포워드와 마찬가지로 페이지를 이동한다. 단, 이동할 때 매개값을 전달하여 이동하고 싶을 경우에는, URL에 데이터를 실어서 전달한다. URL에 데이터가 ..
어떤 데이터를 서버가 아닌 클라이언트에 서버의 명령에 의해서 저장된 것을 쿠키(Cookie)라고 한다.데이터를 클라이언트의 로컬에 저장하여 보안상 문제가 있기 때문에, 요즘에는 잘 사용하지 않는 기술이다. 데이터가 별로 중요하지 않고, 서버의 자원을 절약해야 할 경우에 사용할 수 있는 기법이다. [Make Cookie] 쿠키 객체를 만들고, 쿠키의 유효 기간을 설정한다. 쿠키의 속성이 모두 정의되면 response객체에 쿠키를 추가한다. [Get Cookies]
web page에서 java code를 사용하려면 기본적으로 .html이 아닌 .jsp파일을 이용한다. [Java Code 사용을 Declare] 형식을 따른다. 예를 들어 와 같은 형식으로 한다.jsp파일에는 자바 코드가 드러나지만, 실제로 실행시키면 사용자에겐 html문서 형식으로 보여지며JavaCode는 해당 요소로 변환되어 JavaCode는 보이지 않게 된다. [Variable Print] 단순히 변수의 출력만을 원할 경우에는 와 같은 형식으로 한다.처럼 쓸 수도 있지만 코드가 길어질 염려가 있다. [Import Other Class or Package] 처럼 한다.일반적인 자바의 import [package or class]; 문법과 같다.효력은 이 태그가 사용된 페이지에 한해 import된다...
- cmd에서 sqlplus 사용하기 command: sqlplus UserName/Password관리자 기본 계정으로는 system과 sys가 있다.password는 사전에 설정해 둔 값이다. - 계정 새로 만들기create user UserID identified by Password;semicolon을 찍지 않으면 행이 이어지는 것으로 간주한다 - 권한 부여grant connect, resource to UserID;"UserID"계정에 연결, 자원관리 권한 부여 - sqlplus종료exit - 테이블 생성create table tableName(columName dataType, ...); ex) create table meber( id varchar2(20) primary key, //uniqu..
String a1="ABC";String a2=new String("ABC"); 으로 선언되었다고 가정하자. ==연산자 ==연산자는 두 변수가 서로 같은 Heap영역을 참조하는지를 가리킨다. a1와 a2는 모두 매개값으로 "ABC"를 갖지만, a2는 new 연산자를 사용하여 새로운 인스턴스를 생성하였기 때문에 서로 다른 Heap영역을 참조하게 되고, a1==a2는 false를 반환한다 equals메소드 equals메소드는 매개값이 같은지를 비교한다 그렇기 때문에 a1과 a2가 참조하는 Heap영역이 다르더라도, 매개값이 "ABC"로 같으므로 a1.equals(a2)는 true를 반환한다.
http://stackoverflow.com/questions/7769730/cant-get-eclipse-to-recognize-my-plugin?answertab=active#tab-top solution 1. 껐다 킨다. solution 2. eclipse 3.4 버전 이상이면, plugins폴더가 아닌 dropins폴더에 jar파일을 넣는다. solution 3. 재설치하거나, 가장 최신의 버전으로 설치되어 있다면 버전을 낮추어 재설치. solution 4. Window-> Preference-> Plug-in Development-> Target Platform -> edit 에서 플러그인이 들어있는 폴더의 경로를 추가 저같은경우엔 sol 3으로 해결했는데 위 두 가지 방법으로 안된다면, 정확한..
File f=new File("C:\\Users\\Windows10.DESKTOP-UE9LE7G\\Desktop\\eeee.set"); 해당 코드는, 윈도우즈 10 바탕화면의 eeee.set이라는 파일을 대상으로 File객체를 만든 것이다. eeee.set이라는 파일은 아직 존재하지 않으므로 System.out.println(f.exists()); 은 false를 반환한다. 그런데, ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream(f)); 이 코드를 사용하여, 존재하지 않는 파일을 대상으로 출력 스트림을 형성한다. 그러면, 출력 스트림이 생성되자 마자 바탕화면에는 eeee.set이라는 파일이 만들어진다. 따라서, System.out...
파일 입출력의 원리 자바에서는 '스트림'이라는 일종의 징검다리를 이용하여 파일과 자바 프로그램을 연결할 수 있다. 이 스트림으로 연결되어 있다면, 자바에서 파일의 내용을 읽어올 수 있고, 파일에 데이터를 내보낼 수도 있다. 자바만의 I/O모델을 기반으로, 어떤 형태의 데이터든지 같은 형태로 입출력이 가능하다. InputStream 클래스 입력(파일에서 읽어오기)에 사용되는 스트림 클래스이다. 데이터를 1byte단위로 읽어온다. java.io 패키지에 속해 있다. InputStream은 abstract클래스이기 때문에 직접 객체화가 불가능한데, InputStream을 상속하는 클래스를 사용하거나 재정의해야 한다.ex) InputStream input=new FileInputStream("ex.txt");..
과거에 과제로 만들었던 POS System 코드입니다. Ubuntu 환경에서 컴파일했으며 컴파일 옵션은 gcc -std=c99 -pthread pos.c 입니다. pthread방식을 사용하여 timeSystem을 구현하였습니다.
다양한 언어나 컴퓨터 관련 지식을 공부하면서, "콜백"이라는 단어는 많이 보았으나 그것의 정확한 의미를 설명해주는 책은 없었던 것 같다. 어쩌면 컴퓨터공학에서는 너무도 당연한 것이라서 그런 것일지도 모르지만... 이 함수는 콜백함수이다, 이것은 콜백 방식으로...등의 방식으로 자주 등장하는데, 딱히 그 단어의 의미에 대해 모르더라도 그냥 넘어가는 경우가 부지기수였으나 이번 기회에 정확한 뜻을 알아보았다. Callback 함수란 도대체 무엇인가? StackOverflow의 한 이용자의 답변을 인용하겠다. A callback function is a function which is: passed as an argument to another function, and, is invoked after some ..
http://jusungpark.tistory.com/38 책보고는 무슨소린지 몇시간동안 이해 못했는데 자세하게 잘 써주셨습니다. 길더라도 한번 읽어보시면 좋을 것 같습니다.
https://developer.android.com/guide/topics/ui/dialogs.html?hl=ko#FullscreenDialog Dialog는 액티비티를 띄우는 것 처럼 화면 전체를 차지하여 내용을 표시하는 것이 아닌 작은 대화상자 모양을 이용하여 사용자에게 내용을 표시할 수 있게 해줍니다. AlertDialog클래스를 직접 이용하여 만들 수도 있지만API에서는 AlertDialog.Builder 클래스를 이용하여 만드는 것을 권장합니다. AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setMessage("표시할 메시지") .setPositiveButton("긍정 버튼에 표시될 텍스트", new..
For hiding keyboard: InputMethodManager imm = (InputMethodManager)getActivity().getSystemService( Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);For Showing keyboard: InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
여러 개의 뷰들을 뷰 플리퍼에 포함시켜 뷰 플리퍼 내에 들어있는 여러가지 뷰 들중 하나의 뷰를 선택하여 보여줄 수 있게 한다. ViewFlipper태그를 xml에 추가하고, 해당 태그 내부에 뷰 플리퍼에 속하게 할 뷰들을 추가한다. 그리고 나서 JAVA에서 findViewById로 flipper를 찾는다. 추가한 뷰는 첫번째 뷰부터 시작해서, showNext() //다음 뷰 보여주기showPrevious() //이전 뷰 보여주기setDisplayedChild(int whichChild) //원하는 인덱스의 뷰 보여주기 를 이용하여 보여줄 뷰를 전환할 수 있다. 예를 들어서 xml코드가 이렇게 되어 있고 JAVA코드가 이렇게 되어 있다면 package com.example.windows10.exflippe..