목록

'홈' 734건

  • 쿼리 수행하기
    프로그래밍 언어/NODE JS · 댓글
    조금 전에 배웠던 쿼리로 CRUD 작업을 해봅시다. 모델에서 데이터를 받아 페이지를 렌더링하는 방법과 JSON 형식으로 데이터를 가져오는 방법 두 가지를 알아보겠습니다.간단하게 사용자 정보를 등록하고 사용자가 등록한 댓글을 가져오는 서버입니다. 먼저 다음과 같이 views 폴더를 만들고 그 안에 sequelize.html 파일과 error.html 파일을 만듭니다. views/sequlize.html 사용자 등록 결혼 여부 등록 아이디 이름 ..
  • HttpSessionListener 이용해 로그인 접속자수 표시
    프로그래밍 언어/자바 웹 · 댓글
    1. 다음과 같이 실습 파일을 준비합니다. 2. 첫 번째 서블릿인 LoginTest 클래스 파일을 다음과 같이 수정합니다. setAttribute()를 이용해 loginUser를 세션에 바인딩하면 LoginImpl 클래스에 구현된 이벤트 핸들러를 이용해 접속자수를 1 증가시킵니다. 그리고 user_list에 접속에 ID를 저장한 다음 ServletContext 객체에 바인딩합니다.package sec04.ex02;import jakarta.servlet.ServletContext;import jakarta.servlet.ServletException;import jakarta.servlet.annotation.WebServlet;import jakarta.servlet.http.HttpServlet;i..
  • 모달 다이얼로그와 모달리스 다이얼로그
    프로그래밍 언어/JAVA · 댓글
    다이얼로그의 타입은 모달(modal)과 모달리스(modeless)의 두 가지가 있습니다. 모달 타입은 다이얼로그가 일단 출력되면 다이얼로그가 일단 출력되면 다이얼로그를 닫기 전에는 다른 작업을 전혀 할 수 없도록 사용자 입력을 독점하는 타입이며, 모달리스 타입은 다른 창과 모달리스 다이얼로그가 각자 독립적으로 작동하는 타입입니다. 그러므로 모달리스 다이얼로그를 열어 놓은 채 다른 창에서 입력 작업이 가능합니다.다이얼로그를 만들 때는 목적에 맞는 다이얼로그 타입을 결정해야 합니다. 예를 들어, 파일을 선택하는 파일 다이얼로그는 모달 타입으로 해야 합니다. 파일 선택이 끝나기 전에는 파일 읽기 등 다른 작업을 하게 해서는 안 되기 때문입니다.모달/모달리스 타입 선택은 JDialog()의 다음 생성자를 이용합..
  • 쿼리 알아보기
    프로그래밍 언어/NODE JS · 댓글
    시퀄라이즈로 CRUD 작업을 하려면 먼저 시퀄라이즈 쿼리를 알아야 합니다. SQL문을 자바스크립트로 생성하는 것이라 시퀄라이즈만의 방식이 있습니다. 쿼리는 프로미스를 반환하므로 then을 붙여 결괏값을 받을 수 있습니다. async/await 문법과 같이 사용할 수도 있습니다.로우를 생성하는 쿼리부터 알아보겠습니다. 첫 줄이 SQL문이고, 그 아래는 시퀄라이즈 쿼리입니다.INSERT INTO nodejs.users (name, age, married, comment) VALUES ('zero', 24, 0, '자기소개1');const { User } = require('../models');User.create({ name: 'zero', age: 24, married: false, comment..
  • 여러 가지 서블릿 관련 Listener API
    프로그래밍 언어/자바 웹 · 댓글
    자바 GUI에서는 마우스 클릭과 같은 이벤트 발생 시 여러 가지 이벤트 핸들러를 이용해 화면의 기능을 구현합니다. 이처럼 서블릿에서도 서블릿에서 발생하는 이벤트에 대해 적절한 처리를 해결해주는 여러 가지 리스너를 제공합니다. 서블릿 관련 여러 가지 리스너들서블릿 관련 Listener추상 메서드기능 ServletContextAttributeListener attributeAdded( )attributeRemoved( )attributeReplaced( ) Context 객체에 속성 추가/제거/수정 이벤트 발생 시 처리 HttpSessionListener sessionCreated( )sessionDestroyed( ) 세션 객체의 생성/소멸 이벤트 발생 시 처리 ServletRequestList..
  • 다이얼로그 만들기
    프로그래밍 언어/JAVA · 댓글
    JDialog다이얼로그란 보여주고자 하는 내용을 스크린에 출력하고, 사용자로부터 입력을 받는 대화 상자입니다. JDialog를 상속받아 자신만의 다이얼로그를 만들 수 있습니다. JDialog는 JFrame처럼 다른 컨테이너에 속할 필요 없이 화면에 출력 가능한 최상위 컨테이너입니다.JDialog dialog = new JDialog(); // 다이얼로그 생성dialog.setTitle("나의 다이얼로그"); // 타이틀 달기dialog.add(new JButton("click!")); // 다이얼로그에 버튼 삽입dialog.setSize(300, 300); // 다이얼로그 크기 설정dialog.setVisible(true); // 다이얼로그 화면에 출력 JDialog 클래스의 주요 멤버메서드내용JDial..
  • 툴팁
    프로그래밍 언어/JAVA · 댓글
    툴팁 생성 및 달기스윙 컴포넌트에 마우스를 올리면 잠깐 나타났다가 사라지는 문자열을 툴팁(tooltip)이라고 부릅니다.모든 스윙 컴포넌트들이 툴팁울 가질 수 있으며 생성 방법 또한 단순합니다. 간단히 JComponent의 setToolTipText(String msg) 메서드를 호출하면, 문자열(msg)을 컴포넌트의 툴팁으로 등록합니다.JButton b = new JButton("New");b.setToolTipText("파일을 생성합니다."); // 버튼에 툴팁 등록 툴팁 달기import javax.swing.*;import java.awt.*;public class ToolTipEx extends JFrame { private Container contentPane; public Tool..
  • Filter API
    프로그래밍 언어/자바 웹 · 댓글 1
    필터란 브라우저에서 서블릿에 요청하거나 응답할 때 여러 요청이나 응답과 관련해 여러 가지 작업을 처리하는 기능입니다. 프로그래밍을 하다가 한글 인코딩처럼 각 서블릿에서 반복적으로 처리해야 하는 작업이 있을 수 있는데, 이런 경우 서블릿의 공통 작업을 미리 필터에서 처리하면 반복해서 작업할 필요가 없습니다. 필터는 용도에 따라 크게 요청 필터와 응답 필터로 나뉘며 다음과 같은 API가 있습니다. 요청 필터사용자 인증 및 권한 검사요청 시 요청 관련 로그 작업인코딩 기능응답 필터응답 결과에 대한 암호화 작업서비스 시간 측정필터 관련 APIjavax.servlet.Filterjavax.servlet.FilterChainjavax.servlet.FilterConfigFilter 인터페이스에 선언된 메서드메서드기..
  • 툴바
    프로그래밍 언어/JAVA · 댓글 1
    JToolBarJToolBar는 툴바를 구현한 컴포넌트입니다. 툴바는 같은 바(bar) 모양의 컨테이너로, 다양한 스윙 컴포넌트를 담아 아이콘 형태의 메뉴를 제공하기 위해 사용됩니다. 툴바는 BorderLayout 배치 관리자를 가진 컨테이너에만 부착되며, 동(EAST), 서(WEST), 남(SOUTH), 북(NORTH)의 아무 곳이나 부착 가능합니다. 사용자는 실행 중에 보이는 툴바의 핸들을 마우스로 잡아 드래깅하면, 4개의 영역 중 아무 곳이나 옮길 수 있습니다. 뿐만 아니라 툴바의 핸들을 드래깅하여 4개의 영역 중 어디에도 붙이지 않고 독립적으로 떠다니게(Roatable) 할 수도 있습니다. 툴바 만들기툴바를 만드는 과정은 메뉴를 만드는 과정과 비슷하며 다음과 같이 간단합니다. 1. JToolBa..
  • 관계 정의하기
    프로그래밍 언어/NODE JS · 댓글 1
    사용자 한 명은 댓글을 여러 개 작성할 수 있습니다. 하지만 댓글 하나에 사용자(작성자)가 여러 명일 수는 없습니다. 이러한 관계를 일대다(一對多)(이하 1:N) 관계라고 합니다. 1:N 관계에서는 사용자가 1이고, 댓글이 N입니다.다른 관계로 일대일, 다대다 관계가 있습니다. 일대일 관계로는 사용자와 사용자에 대한 정보 테이블을 예로 들 수 있습니다. 사용자 한 명은 자신의 정보를 담고 있는 테이블과만 관계가 있습니다. 정보 테이블도 한 사람만을 가리킵니다. 이러한 관계를 일대일(이후 1:1) 관계라고 합니다.다대다 관계로는 게시글 테이블과 해시태그(#) 테이블 관계를 예로 들 수 있습니다. 한 게시글에는 해시태그가 여러 개 달릴 수 있고, 한 해시태그도 여러 게시글에 달릴 수 있습니다. 이러한 관계를..
  • 서블릿의 여러 가지 URL 패턴
    프로그래밍 언어/자바 웹 · 댓글
    URL 패턴이란 실제 서블릿의 매핑 이름을 말합니다. 즉, 서블릿 매핑 시 사용되는 가상의 이름으로, 클라이언트가 브라우저에서 요청할 때 사용되며 반드시 /(슬래시)로 시작해야 합니다.서블릿 매핑 이름으로 사용되는 URL 패턴 종류는 정확히 이름까지 일치하는지, 디렉터리까지만 일치하는지, 확장자만 일치하는지에 따라 세 가지로 나누어집니다. 서블릿에 여러 가지 URL 패턴 적용 실습1. 다음과 같이 TestServlet1~3 클래스 파일을 준비합니다. 2. 첫 번째 서블릿의 TestServlet1 클래스를 다음과 같이 작성합니다. 이 서블릿은 /first/test로 요청할 때 실행됩니다. 브리우저의 요청 URL에 대해 서블릿의 여러 가지 메서드를 이용하여 요청 관련 정보를 가져옵니다.package sec0..
  • 메뉴 만들기
    프로그래밍 언어/JAVA · 댓글 2
    메뉴 구성스윙 프로그램에 메뉴를 만들어 달아봅시다. JMenuBar메뉴바의 가능을 구현한 클래스입니다. 이곳에 JMenu로 만든 메뉴를 여러 개 답니다. JMenu하나의 메뉴를 구현한 클래스입니다. 이곳에 JMenuItem으로 만든 메뉴 아이템을 여러 개 답니다. JMenuItem하나의 메뉴아이템을 구현한 클래스입니다. 분리선메뉴아이템 사이의 분리선으로서 separator라고 부르며, JMenu의 addSeparator() 메서드를 호출하면 메뉴에 문리선이 삽입됩니다. 메뉴 만들기1. 메뉴바 만들기JMenuBar mb = new JMenuBar(); 2. 메뉴를 만들고 메뉴바에 붙이기메뉴 이름은 문자열로 JMenu의 생성자에 전달합니다. 메뉴바에 메뉴를 붙일 때 JMenuBar의 add() 메서드를 이용..

쿼리 수행하기

조금 전에 배웠던 쿼리로 CRUD 작업을 해봅시다. 모델에서 데이터를 받아 페이지를 렌더링하는 방법과 JSON 형식으로 데이터를 가져오는 방법 두 가지를 알아보겠습니다.간단하게 사용자 정보를 등록하고 사용자가 등록한 댓글을 가져오는 서버입니다. 먼저 다음과 같이 views 폴더를 만들고 그 안에 sequelize.html 파일과 error.html 파일을 만듭니다. views/sequlize.html 사용자 등록 결혼 여부 등록 아이디 이름 ..

HttpSessionListener 이용해 로그인 접속자수 표시

1. 다음과 같이 실습 파일을 준비합니다. 2. 첫 번째 서블릿인 LoginTest 클래스 파일을 다음과 같이 수정합니다. setAttribute()를 이용해 loginUser를 세션에 바인딩하면 LoginImpl 클래스에 구현된 이벤트 핸들러를 이용해 접속자수를 1 증가시킵니다. 그리고 user_list에 접속에 ID를 저장한 다음 ServletContext 객체에 바인딩합니다.package sec04.ex02;import jakarta.servlet.ServletContext;import jakarta.servlet.ServletException;import jakarta.servlet.annotation.WebServlet;import jakarta.servlet.http.HttpServlet;i..

모달 다이얼로그와 모달리스 다이얼로그

다이얼로그의 타입은 모달(modal)과 모달리스(modeless)의 두 가지가 있습니다. 모달 타입은 다이얼로그가 일단 출력되면 다이얼로그가 일단 출력되면 다이얼로그를 닫기 전에는 다른 작업을 전혀 할 수 없도록 사용자 입력을 독점하는 타입이며, 모달리스 타입은 다른 창과 모달리스 다이얼로그가 각자 독립적으로 작동하는 타입입니다. 그러므로 모달리스 다이얼로그를 열어 놓은 채 다른 창에서 입력 작업이 가능합니다.다이얼로그를 만들 때는 목적에 맞는 다이얼로그 타입을 결정해야 합니다. 예를 들어, 파일을 선택하는 파일 다이얼로그는 모달 타입으로 해야 합니다. 파일 선택이 끝나기 전에는 파일 읽기 등 다른 작업을 하게 해서는 안 되기 때문입니다.모달/모달리스 타입 선택은 JDialog()의 다음 생성자를 이용합..

쿼리 알아보기

시퀄라이즈로 CRUD 작업을 하려면 먼저 시퀄라이즈 쿼리를 알아야 합니다. SQL문을 자바스크립트로 생성하는 것이라 시퀄라이즈만의 방식이 있습니다. 쿼리는 프로미스를 반환하므로 then을 붙여 결괏값을 받을 수 있습니다. async/await 문법과 같이 사용할 수도 있습니다.로우를 생성하는 쿼리부터 알아보겠습니다. 첫 줄이 SQL문이고, 그 아래는 시퀄라이즈 쿼리입니다.INSERT INTO nodejs.users (name, age, married, comment) VALUES ('zero', 24, 0, '자기소개1');const { User } = require('../models');User.create({ name: 'zero', age: 24, married: false, comment..

여러 가지 서블릿 관련 Listener API

자바 GUI에서는 마우스 클릭과 같은 이벤트 발생 시 여러 가지 이벤트 핸들러를 이용해 화면의 기능을 구현합니다. 이처럼 서블릿에서도 서블릿에서 발생하는 이벤트에 대해 적절한 처리를 해결해주는 여러 가지 리스너를 제공합니다. 서블릿 관련 여러 가지 리스너들서블릿 관련 Listener추상 메서드기능 ServletContextAttributeListener attributeAdded( )attributeRemoved( )attributeReplaced( ) Context 객체에 속성 추가/제거/수정 이벤트 발생 시 처리 HttpSessionListener sessionCreated( )sessionDestroyed( ) 세션 객체의 생성/소멸 이벤트 발생 시 처리 ServletRequestList..

다이얼로그 만들기

JDialog다이얼로그란 보여주고자 하는 내용을 스크린에 출력하고, 사용자로부터 입력을 받는 대화 상자입니다. JDialog를 상속받아 자신만의 다이얼로그를 만들 수 있습니다. JDialog는 JFrame처럼 다른 컨테이너에 속할 필요 없이 화면에 출력 가능한 최상위 컨테이너입니다.JDialog dialog = new JDialog(); // 다이얼로그 생성dialog.setTitle("나의 다이얼로그"); // 타이틀 달기dialog.add(new JButton("click!")); // 다이얼로그에 버튼 삽입dialog.setSize(300, 300); // 다이얼로그 크기 설정dialog.setVisible(true); // 다이얼로그 화면에 출력 JDialog 클래스의 주요 멤버메서드내용JDial..

툴팁

툴팁 생성 및 달기스윙 컴포넌트에 마우스를 올리면 잠깐 나타났다가 사라지는 문자열을 툴팁(tooltip)이라고 부릅니다.모든 스윙 컴포넌트들이 툴팁울 가질 수 있으며 생성 방법 또한 단순합니다. 간단히 JComponent의 setToolTipText(String msg) 메서드를 호출하면, 문자열(msg)을 컴포넌트의 툴팁으로 등록합니다.JButton b = new JButton("New");b.setToolTipText("파일을 생성합니다."); // 버튼에 툴팁 등록 툴팁 달기import javax.swing.*;import java.awt.*;public class ToolTipEx extends JFrame { private Container contentPane; public Tool..

Filter API

필터란 브라우저에서 서블릿에 요청하거나 응답할 때 여러 요청이나 응답과 관련해 여러 가지 작업을 처리하는 기능입니다. 프로그래밍을 하다가 한글 인코딩처럼 각 서블릿에서 반복적으로 처리해야 하는 작업이 있을 수 있는데, 이런 경우 서블릿의 공통 작업을 미리 필터에서 처리하면 반복해서 작업할 필요가 없습니다. 필터는 용도에 따라 크게 요청 필터와 응답 필터로 나뉘며 다음과 같은 API가 있습니다. 요청 필터사용자 인증 및 권한 검사요청 시 요청 관련 로그 작업인코딩 기능응답 필터응답 결과에 대한 암호화 작업서비스 시간 측정필터 관련 APIjavax.servlet.Filterjavax.servlet.FilterChainjavax.servlet.FilterConfigFilter 인터페이스에 선언된 메서드메서드기..

툴바

JToolBarJToolBar는 툴바를 구현한 컴포넌트입니다. 툴바는 같은 바(bar) 모양의 컨테이너로, 다양한 스윙 컴포넌트를 담아 아이콘 형태의 메뉴를 제공하기 위해 사용됩니다. 툴바는 BorderLayout 배치 관리자를 가진 컨테이너에만 부착되며, 동(EAST), 서(WEST), 남(SOUTH), 북(NORTH)의 아무 곳이나 부착 가능합니다. 사용자는 실행 중에 보이는 툴바의 핸들을 마우스로 잡아 드래깅하면, 4개의 영역 중 아무 곳이나 옮길 수 있습니다. 뿐만 아니라 툴바의 핸들을 드래깅하여 4개의 영역 중 어디에도 붙이지 않고 독립적으로 떠다니게(Roatable) 할 수도 있습니다. 툴바 만들기툴바를 만드는 과정은 메뉴를 만드는 과정과 비슷하며 다음과 같이 간단합니다. 1. JToolBa..

관계 정의하기

사용자 한 명은 댓글을 여러 개 작성할 수 있습니다. 하지만 댓글 하나에 사용자(작성자)가 여러 명일 수는 없습니다. 이러한 관계를 일대다(一對多)(이하 1:N) 관계라고 합니다. 1:N 관계에서는 사용자가 1이고, 댓글이 N입니다.다른 관계로 일대일, 다대다 관계가 있습니다. 일대일 관계로는 사용자와 사용자에 대한 정보 테이블을 예로 들 수 있습니다. 사용자 한 명은 자신의 정보를 담고 있는 테이블과만 관계가 있습니다. 정보 테이블도 한 사람만을 가리킵니다. 이러한 관계를 일대일(이후 1:1) 관계라고 합니다.다대다 관계로는 게시글 테이블과 해시태그(#) 테이블 관계를 예로 들 수 있습니다. 한 게시글에는 해시태그가 여러 개 달릴 수 있고, 한 해시태그도 여러 게시글에 달릴 수 있습니다. 이러한 관계를..

서블릿의 여러 가지 URL 패턴

URL 패턴이란 실제 서블릿의 매핑 이름을 말합니다. 즉, 서블릿 매핑 시 사용되는 가상의 이름으로, 클라이언트가 브라우저에서 요청할 때 사용되며 반드시 /(슬래시)로 시작해야 합니다.서블릿 매핑 이름으로 사용되는 URL 패턴 종류는 정확히 이름까지 일치하는지, 디렉터리까지만 일치하는지, 확장자만 일치하는지에 따라 세 가지로 나누어집니다. 서블릿에 여러 가지 URL 패턴 적용 실습1. 다음과 같이 TestServlet1~3 클래스 파일을 준비합니다. 2. 첫 번째 서블릿의 TestServlet1 클래스를 다음과 같이 작성합니다. 이 서블릿은 /first/test로 요청할 때 실행됩니다. 브리우저의 요청 URL에 대해 서블릿의 여러 가지 메서드를 이용하여 요청 관련 정보를 가져옵니다.package sec0..

메뉴 만들기

메뉴 구성스윙 프로그램에 메뉴를 만들어 달아봅시다. JMenuBar메뉴바의 가능을 구현한 클래스입니다. 이곳에 JMenu로 만든 메뉴를 여러 개 답니다. JMenu하나의 메뉴를 구현한 클래스입니다. 이곳에 JMenuItem으로 만든 메뉴 아이템을 여러 개 답니다. JMenuItem하나의 메뉴아이템을 구현한 클래스입니다. 분리선메뉴아이템 사이의 분리선으로서 separator라고 부르며, JMenu의 addSeparator() 메서드를 호출하면 메뉴에 문리선이 삽입됩니다. 메뉴 만들기1. 메뉴바 만들기JMenuBar mb = new JMenuBar(); 2. 메뉴를 만들고 메뉴바에 붙이기메뉴 이름은 문자열로 JMenu의 생성자에 전달합니다. 메뉴바에 메뉴를 붙일 때 JMenuBar의 add() 메서드를 이용..