목록
'홈' 729건
-
서블릿의 비지니스 로직 처리 방법 & 서블릿의 데이터베이스 연동하기서블릿의 비지니스 로직 처리 방법서블릿 비지니스 처리 작업이란 서블릿이 클라이언트로부터 요청을 받으면 그 요청에 대해 작업을 수행하는 것을 의미합니다. 웹 프로그램에서 대부분의 비지니스 처리 작업은 데이터베이스 연동 관련 작업이지만 그 외에 다른 서버와 연동해서 데이터를 얻는 작업도 수행합니다. 이 기능은 서블릿의 핵심 기능이라 할 수 있을 만큼 중요합니다.서블릿의 비지니스 작업 예로는 여러 가지를 둘 수 있지만 대표적인 것들을 다음과 같습니다.웹 사이트 회원 등록 요청 처리 작업웹 사이트 로그인 요청 처리 작업쇼핑몰 상품 주문 처리 작업 1. 클라이언트로부터 요청을 받습니다.2. 데이터베이스 연동과 비지니스 로직을 처리합니다.3. 처리 결과를 클라이언트에게 돌려줍니다. 서블릿의 데이터베이스 연동하기서..
-
FlowLayout 배치관리자배치 방법FlowLayout 배치괸리자를 가진 컨테이너를 가진 컨테이너에 컴포넌트를 부착하는 방법은 다음과 같이 간딘히 add() 메서드를 이용하면 됩니다.container.setLayout(new FlowLayout());container.add(new JButton("add"));container.add(new JButton("sub"));container.add(new JButton("mul"));container.add(new JButton("div"));container.add(new JButton("Calculate")); FlowLayout 배치관리자는 컴포넌트를 왼쪽에서 오른쪽으로 배치하고, 더 이상 오른쪽 공간이 없으면 다시 아래로 내려와서 왼쪽에서 오른쪽으로 배치합니다. 컨테이너의 크..
-
컨테이너(Container)와 배치(Layout)컨테이너와 배치 개념컨테이너에 부착되는 컴포넌들의 위치와 크기는 컨테이너 내부에 있는 배치관리자(Layour Manager)에 의해 결정됩니다.배치와 관련하여 AWT나 스윙의 컨테이너는 다음과 같은 특징을 가집니다.컨테이너마다 배치 관리자가 하나씩 있다(하지만, 배치관리자를 삭제할 수도 있다).배치관리자는 컨테이너에 컴포넌트가 부착되는 시점에 컴포넌트의 위치와 크기를 결정합니다.컨테이너의 크기가 변경되면 배치관리자는 컨테이너 내부의 모든 컴포넌트들의 위치와 크기를 재조정합니다.배치관리자의 종류자바는 여러 종류의 배치관리자를 지원합니다. 배치관리자는 java.awt 패키지에 존재하는 클래스이며, 이들을 사용하기 위해서는 다음 import 문이 필요합니다.import java.awt.*; RowLayout컨..
-
REST와 라우팅 사용하기REST에서는 주소 외에도 HTTP 요청 메서드라는 것을 사용합니다. 폼 데이터를 전송할 때 GET 또는 POST가 바로 요청 메서드입니다. 또한, PUT, PATCH, DELETE, OPTIONS 등의 메소드도 자주 사용됩니다.GET : 서버 자원을 가져오고자 할 때 사용합니다. 요청의 본문에 데이터를 넣지 않습니다. 데이터를 서버로 보내야 한다면 쿼리스트링을 사용합니다.POST : 서버에 자원을 가져오고자 할 때 사용합니다. 요청의 본문에 새로 등록할 데이터를 넣어 보냅니다.PUT : 서버의 자원을 요청에 들어 있는 자원으로 치환하고자 할 때 사용합니다. 요청의 본문에 치환할 데이터를 넣어 보냅니다.PATCH : 서버 자원의 일부만 수정하고자 할 때 사용합니다. 요청은 본문에 일부 수정할 데이터를 넣..
-
서블릿을 이용한 여러 가지 실습 예제1. 현재 /wepapp위치에 실습용 HTML 파일을 실습용 HTML 파일을 따로 저장하는 폴더를 만들겠습니다. webapp 폴더를 선택하고 마우스 오른쪽 버튼을 클릭한 후 New > Folder를 선택합니다. 2. 폴더 이름을 test01로 입력한 후 폴더가 생성되었는지 확인합니다. 실습 예제1: 서블릿에 로그인 요청 시 유효성 검사하기문제: ID를 정상적으로 입력했을 때는 로그인 메시지를 표시하고, ID를 입력하지 않았을 때는 다시 로그인하려는 메시지를 표시하도록 작성하시오.1. test01 폴더에 login.html을 만들고 다음과 같이 작성합니다. 아이디 : 비밀번호: 2. LoginTest 클래스를 다음과 같이 작성합니다. ID나 비밀번호를 제대로 입력하지 않으면 ..
-
스윙 GUI 프로그램 만들기스윙으로 GUI 응용프로그램을 만들기 위해서는 다음의 새 과정이 필요합니다.스윙 프레임 작성main() 메소드 작성프레임에 스윙 컴포넌트 붙이기스윙 패키지 사용을 위한 import 문스윙 패키지를 이용하기 위해서는 스윙 컴포넌트의 클래스 파일들이 존재하는 경로명 javax.swing.*를 import 해야 합니다.import javax.swing.*; 대부분의 스윙 응용프로그램은 이벤트 처리, 이미지나 도형을 그리는 부분을 함수적으로 동반하므로, 다음과 같은 import 문이 필요한 경우가 많다.import java.awt.*; // 폰트 등 그래픽 처리를 위한 클래스들의 경로명import java.awt.event.*; // 이벤트 처리에 필요한 기본 클래스들의 경로명import javax.swing...
-
요청과 응답 이해하기서버는 클라이언트가 있기에 동작합니다. 클라이언트에서 서버로 요청(request)을 보내고, 서버에서는 요청의 내용을 읽고 처리한 뒤 클라이언트에 응답(response)을 보냅니다.따라서 서버에는 요청을 받는 부분돠 응답을 보내는 부분이 있어야 합니다. 요청과 응답은 이벤트 방식이라고 생각하면 됩니다. 클라이언트로부터 요청이 왔을 때 어떤 작업을 수행할지 이벤트 리스너를 미리 등록되어야 합니다.createServer.jsconst http = require("http");http.createServer((req, res) => { // 여기에 어떻게 응답할지 적습니다.}); http 서버가 있어야 웹 브라우저의 요청을 처리할 수 있으므로 http 모듈을 사용했습니다. http 모듈에는 createSer..
-
자바스크립트로 서블릿에 요청하기1. 다음과 같이 sec03.ex03 패키지에 LoginServlet5 클래스를 생성하고 login2.html을 추가로 생성합니다. 2. 다음과 같이 login2.html을 작성합니다. 자바스크립트 함수에서 태그에 접근하여 값 입력 여부를 체크한 후 action 속성에 전송할 서블릿 이름을 지정합니다. 그런 다음 submit() 함수를 호출하여 서블릿으로 전송합니다. 태그의 button 속성을 지정하면 화면에는 보이지 않지만 value에 미리 값이 저장됩니다. 아이디 : 비밀번호: 3. LoginServlet5 클래스를 다음과 같이 작성합니다. 서블릿에서 getParameter() 메서드를 이용해 태그로 전송된 주소를 받아 옵니다.package sec03.ex03..
-
자바 GUI 패키지GUI 패키지 계층 구조모든 GUI 컴포넌트들은 Component 클래스를 반드시 상속받으며, 스윙 컴포넌트의 클래스 명은 모두 J로 시작합니다. AWT 컴포넌트는 Button, Label 등과 같이 Component를 직접 상속받는 것들과 Panel, Frame 등돠 같이 Container를 상속받는 것들이 있습니다. 그리고 JApplet, JFrame, JDialog를 제외한 모든 스윙 컴포넌트들은 JComponent를 상속받습니다.Font, Dimension, Color, Graphics 등은 컴포넌트가 아니지만, 문자의 폰트 설정, 색, 도형 그리기 등 그래픽 작업 시 반드시 필요합니다.컨테이너와 컴포넌트자바의 GUI 응용프로그램은 GUI 컴포넌트들로 구성되며, GUI 컴포넌트들은 다른 컴포넌트를..
-
자주 발생하는 에러들node: command not found: 노드를 설치했지만 이 에러가 발생하는 경우는 환경 변수가 제대로 설정되지 않는 것입니다. 환경 변수에는 노드가 설치된 경로가 포함되어야 합니다. node 외의 다른 명령어도 마찬가지입니다. 그 명렁어를 수행할 수 있는 파일이 환경 변수에 들어 있어야 명령어를 콘솔에서 사용할 수 있습니다.ReferenceError: 모듈 is not defined: 모듈을 require했는지 확인합니다.Error: Cannot find module 모듈명: 해당 모듈을 require했지만 설치하지 않았습니다. npm i 명령어로 설치하세요.Error: Can't set headers after they are sent: 요청에 대한 응답을 보낼 때 응답을 두 번 이상 보냈습니다..
-
GET 방식과 POST 방식 요청 동시에 처리하기1. login.html을 다음과 같이 작성합니다. GET 방식으로 로그인하기 위해 method는 get으로, action은 login4로 수정합니다. 아이디 : 비밀번호: 2. ex03.ex02 패키지에 loginServlet4 서블릿을 만들 때 doGet()과 doPost()를 모두 추가합니다. 3. LoginServlet4 클래스를 다음과 같이 작성합니다. doGet()과 doPost() 메서드에서 doHandler() 메서드를 재호출하여 모든 방식의 요청을 처리합니다.package sec03.ex02;import jakarta.servlet.ServletException;import jakarta.servlet.annotation.WebServlet;import j..
-
자바의 GUIGUI 응용프로그램이란?GUI란 Graphical User Interface의 약자로서 이미지 혹은 그래픽을 이용하여 메뉴 등을 포함하는 화면을 구성하고, 키보드의 마우스 등의 편리한 입력 도구를 이용하여 사용자가 입력하기 편하도록 만들어진 사용자 인터페이스입니다.소프트웨어 개발자들은 프로그래밍 언어를 선택함에 있어 GUI를 작성하기에 편한 정도와 다양한 기능 여부를 중요한 기준으로 삼는다. 자바는 AWT와 Swing 패키지 등 어떤 언어보다 강력한 GUI 라이브러리를 제공하여, 소프트웨어 개발자들이 다양한 GUI를 쉽게 구성하도록 해 줍니다. AWT와 Swing 패키지자바 언어는 GUI 응용프로그램을 쉽게 작성할 수 있도록 다양한 GUI 컴포넌트(GUI Component)를 제공합니다. 자바의 GUI ..