Web Programming 27

[JSP] Connection Pool

웹 프로그램은 실질적으로 데이터베이스에 연결하고, 질의를 던지고, 결과를 받아오는 부분에서 많은 시간을 소요하게 된다. 많은 시간을 소요한 다는 것은 서버 쪽에 많은 부하를 안겨주는 사실을 뜻하기도 한다. Connection Pool을 사용하면 보다 빠르고 부하가 적게 걸리도록 효율적으로 데이터베이스에 연동할 수 있다. ConnectionPool을 사용한 데이터베이스 연결DBConnectionMgr.java더보기/** * Copyright(c) 2001 iSavvix Corporation (http://www.isavvix.com/) * * All rights reserved * * Permission to use, copy, modify and distribute this material for * a..

Web Programming/JSP 2024.10.08

[JSP] 데이터베이스 조작을 위한 자바 라이브러리

JDBC APIJDBC를 사용함에 있어서 전체적인 흐름은 데이터베이스에 연결하기, 질의 던지기, 그리고 질의에 대한 결과를 받아오는 과정, 마지막으로 연결해제의 단계를 가지고 있다. 이런 과정에서 핵심적으로 쓰이는 API들은 다음과 같다.Driver : 모든 드라이버 클래스들이 구현해야 하는 인터페이스DriverManager : 드라이버를 로드하고 데이터베이스에 연결할 수 있게 됨Connection : 특정 데이터베이스와의 연결을 말함Statement : SQL문을 실행해 작성된 결과를 돌려줌PreparedStatement : 사전에 컴파일된 SQL문을 실행ResultSet : SQL문에 대한 결과를 얻어냄JDBC API에 대한 전체적인 내용은 java.sql 패키지에 담겨있다. 이는 JDK 1.7에 대..

Web Programming/JSP 2024.10.08

[JSP] JDBC로 데이터베이스 연동

JDBCJDBC는 데이터베이스를 다루기 위한 자바 API(Application Programming Interface)이다. 자바를 기반으로 하는 프로그램을 작성할 때 프로그래머에게 데이터베이스를 쉽게 다룰 수 있도록 해주는 것이다. DBMS의 종류는 매우 다양하고 내부적으로 작동되는 방식이 상이하다. 이런 방법은 DBMS가 달라질 경우 새롭게 프로그램을 작성해야 해서 많은 시간이 걸리게 된다. 이런 방법보다 DBMS에 접근하기 위해 특정 도구를 만들어 어떤 DBMS라도 사용할 수 있는 방법이 바로 자바의 JDBC이다. JDBC 드라이버 설치MySQL용 드라이버를 설치하기 위해서 이전에 다운로드했던 'mysql-connector-java-5.1.45.zip'의 압축을 해제한다.https://crystal..

Web Programming/JSP 2024.10.08

[JSP] 데이터베이스 작성

데이터베이스 생성하기다음과 같이 쿼리를 작성한 후 F9 혹은 상단의 ▶를 클릭한다.왼쪽 공간에 오른쪽 마우스를 클릭하고 새로고침 해보면 'mydb' 데이터베이스가 생성된 것을 볼 수 있다. *COLLATE utf8_general_ci 명령어는 한글을 인식하기 위한 설정이다. 데이터베이스를 생성했으면 왼쪽 상단의 체인 해제 아이콘을 클릭해 세션 관리자를 실행한다.암호를 입력하고 데이터베이스의 화살표를 클릭해 생성한 DB를 선택하고 열기를 클릭한다. 여기까지 진행하면 mydb란 이름의 데이터베이스만 존재하는 것을 확인할 수 있다. 테이블 생성하기다음 쿼리를 입력해서 테이블을 생성한다.CREATE TABLE tblRegister(id VARCHAR(20) NOT NULL,pwd VARCHAR(20) NOT N..

Web Programming/JSP 2024.10.08

[JSP] 데이터베이스 설치

DBMS 설치하기1. 다음 링크로 들어가서 MySQL 설치. 371M용으로 다운로드https://dev.mysql.com/downloads/windows/installer/5.7.html MySQL :: Download MySQL InstallerMySQL Installer 5.7.44 Note: MySQL 8.0 is the final series with MySQL Installer. As of MySQL 8.1, use a MySQL product's MSI or Zip archive for installation. MySQL Server 8.1 and higher also bundle MySQL Configurator, a tool that helps configure MySQL Servedev...

Web Programming/JSP 2024.10.08

[JSP] 자바빈즈

지금까지 JSP 페이지 내에서 사용할 수 있는 여러 가지의 기술을 통해 쉽고 간단하게 JSP 프로그래밍을 할 수 있었다. 하지만 여기엔 단점이 몇 가지 있다. 첫 번째로 JSP 페이지에 HTML을 제외한 다른 많은 JSP 코드들이 있어 JSP 페이지를 이해하기 어렵다. 이런 경우 디자이너가 디자인하기에 복잡하고 어려울 수밖에 없다. 두 번째로는 JSP 페이지 내에 작성된 프로그램 코드는 다시 사용하기가 어렵다. 한마디로 코드 조각(snippet)에 불과하다.  이렇게 JSP 페이지가 복잡한 자바코드로 구성되는 것을 피하고 쉽고 간단한 코드만을 구성하도록 하는 것이 자바빈즈의 목적이다. 자바빈즈는 JSP 안에 수많은 자바코드들이 담당했던 일들을 독립적으로 처리하기 위한 부품과도 같다. 이렇게 부품을 만들어..

Web Programming/JSP 2024.10.07

[JSP] 서블릿에서 세션 사용하기

세션웹에서 사용하는 http 프로토콜의 특징은 커넥션을 계속 유지하지 않는 프로토콜이기 때문에 클라이언트(브라우저)와 서버(톰캣)와 통신의 연속성을 유지하기 위해 사용되는 기술이 세션이다. JSP에서 세션을 사용하기 때문에 당연히 서블릿에서도 세션을 많이 사용한다. 이번 글에서는 세션을 서블릿에서 어떻게 사용하는지 알아보자. login.jspServlet 세션님 반갑습니다.로그아웃id : pwd :  LoginServlet.javapackage ch08;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServ..

Web Programming/JSP 2024.10.07

[JSP] 서블릿의 요청 방식

브라우저에서 페이지 간에 통신할 수 있는 대표적인 방법은 form에서 제공되는 get 방식과 post 방식이 있다. 이 두 방식은 form을 통해서 보내는 것은 같지만 전송되는 방식은 상이하다. get 방식은 url을 통해서 전송되지만 post는 html 헤더에 요청 정보와 같이 전달된다. get 방식일반적으로 검색이나 조건을 다른 페이지로 전송할 때 사용하는 방식이다. 그리고 get 방식으로 요청을 하면 url에 노출이 되는 특징이 있기 때문에 보안적인 내용은 절대 get 방식으로는 사용하면 안 된다. getJsp.jsp Get Servlet 방식 msg :  GetServlet.javapackage ch08;import java.io.IOException;import javax.servlet.S..

Web Programming/JSP 2024.10.07

[JSP] 서블릿 기초 문법

서블릿이란?JSP가 나오기 이전에 선마이크로시스템즈에서 동적인 웹페이지 콘텐츠를 생성하는 기술로 제공되었다. 그래서 항상 JSP(2.3)보다는 서블릿(4.0)의 버전이 높다. 서블릿도 앞장에서 배운 JSP와 마찬가지로 웹페이지에서 호출을 하여 실행결과를 브라우저를 통해서 제공한다. 그러나 서블릿은 자바의 많은 장점들을 사용할 수는 있지만 HTML, CSS, 자바스크립트 그리고 웹디자인과 연동하기에는 많은 단점이 있어 Sun에서 JSP를 새롭게 만들어 제공하게 되었다. 그러나 이러한 문제점이 있는 서블릿이 없어지지 않고 계속적으로 존재할 수 있는 이유는 크게 두가지가 있다. 첫 번째는 JSP에는 없는 서버 측 프로그램의 기능이 있다는 점과 두 번째는 대기업에서 사용하는 프레임워크의 기초 기술로 사용된다는 ..

Web Programming/JSP 2024.10.04

[JSP] 에러 처리

HTTP 에러 코드클라이언트와 서버 간의 통신에서 발생하는 문제를 나타내는 상태 코드 1xx (정보 응답)100 Continue: 클라이언트가 요청을 계속 진행할 수 있음을 나타냄.101 Switching Protocols: 클라이언트가 요청한 프로토콜로 전환하고 있음을 나타냄.2xx (성공)200 OK: 요청이 성공적으로 처리됨.201 Created: 요청이 성공적으로 처리되었으며, 새로운 리소스가 생성됨.202 Accepted: 요청이 수락되었지만 아직 처리되지 않음.204 No Content: 요청은 성공적이었지만 반환할 내용이 없음.205 Reset Content: 요청이 성공적으로 처리되었으며, 클라이언트가 문서 뷰를 리셋해야 함.206 Partial Content: 서버가 클라이언트의 범위 요..

Web Programming/JSP 2024.10.04