본문 바로가기

분류 전체보기128

서블릿 포워드(Servlet Forward) 서블릿 포워드 포워드(forward)란? 하나의 서블릿이 다른 서블릿이나 JSP와 연동하는 방법 서블릿 포워드 기능 서블릿에서 다른 서블릿이나 JSP, 웹 브라우저로 요청을 전달하는 기능 요청에 대한 추가 작업을 다른 서블릿에게 수행하게 하는 역할 요청에 포함된 정보를 다른 서블릿이나 JSP와 공유 요청에 정보를 포함시켜 다른 서블릿에게 전달 모델2 개발 시 서블릿에서 JSP로 데이터를 전달하는 데 사용 서블릿 포워드 방법 redirect HttpServletResponse 객체의 sendRedirect() 메소드 사용 웹 브라우저에게 재요청하는 방식 형식 : sendRedirect("포워드할 서블릿 또는 JSP"); refresh HttpServletResponse 객체의 addHeader() 메소드 .. 2021. 12. 29.
[Intellij]서블릿 DB연동(4) - 커넥션 풀 (DBCP: Connection Pool) 커넥션 풀(DBCP : DataBase Connection Pool) Connection Pool 등장 배경 기본 데이터베이스 연동 방법의 문제점 애플리케이션에서 데이터베이스 연결 과정에서 시간이 많이 소요 해결 방안 애플리케이션 실행 시 미리 Connection 객체를 생성해놓고, 미리 데이터베이스를 연결해놓음 애플리케이션은 데이터베이스 연동 작업 발생 시 미리 생성되어있는 Connection 객체를 이용해서 작업 커넥션 풀 일정량의 DB Connection 객체를 Pool에 저장해 두고 클라이언트 요청이 있을 때마다 가져다 사용하고 반환 클라이언트에서 다수의 요청이 발생될 경우 요청마다 DB Connection 객체를 생성하게 되면 데이터베이스에 부하가 발생하기 때문에 커넥션 풀 기법을 사용 JDBC.. 2021. 12. 28.
서블릿 DB 연동(3) 서블릿 DB 연동(3) 연습문제 패키지 생성 : sec05 BookVO BookDAO BookSelectServlet book 테이블 생성 도서번호 / 도서명 / 저자 / 가격 / 발행일 / 출판사번호 CREATE TABLE book( bookNo VARCHAR(10) NOT NULL PRIMARY KEY, bookName VARCHAR(30), bookAuthor VARCHAR(10), bookPrice INT, bookDate date, pubNo VARCHAR(10) ); 테이블 데이터 입력 insert into book values ('001', 'java', '홍길동', 21000, '2021-12-28', '001'), (.. 2021. 12. 28.
서블릿 DB 연동(2) 서블릿 DB 연동(2) 서블릿에서 사용할 테이블 생성 MySQL Workbench에서 Create Schema Name : servletdb Charset/Collation : utf8 / Default Collation [Apply] / [Next] / [Finish] 테이블 생성 : member 테이블 가입일을 현재 날짜/시간으로 디폴트로 저장되도록 설정 : TIMESTAMP DEFAULT NOW() create table member( memId VARCHAR(10) NOT NULL PRIMARY KEY, memPwd VARCHAR(10), memName VARCHAR(30), memEmail VARCHAR(30), memJoinDate TIMESTAMP DEFAULT NOW() ); 테이블 데이터.. 2021. 12. 28.
[Intellij]서블릿 DB 연동 서블릿 DB 연동 서블릿의 비즈니스 로직 처리 데이티베이스 관련 작업 다른 서버 연동해서 데이터 얻는 작업 등 Ex 회원 등록 요청 처리 (DB에 회원 정보 저장) 로그인 처리(DB에 있는 회원 정보와 입력하여 전송된 로그인 정보가 일치하는지 검사) 쇼핑몰 주문 처리 작업 비즈니스 로직 처리 과정 클라이언트로부터 요청 데이터베이스 연동과 같은 비즈니스 로직 처리 결과를 클라이언트에게 전달 (응답) HTML로 요처어 -> 서블릿에서 요청 받음 -> DAO에서 비즈니스 로직 처리. 결과 반환 -> 서블릿에서 결과 받아서 클라이언트에게 응답 -> 클라이언트에서 결과 출력 DB 연동 : MySQL 사용 MySQL JDBC 드라이버 필요 다운받은 mysql jdbc 드라이버 필요 MySQL JDBC 드라이버 사용.. 2021. 12. 28.
Servlet 요청 API Servlet 요청 API 서블릿 요청 API 서블릿 기본 기능 클라이언트로부터 요청을 받음 데이터베이스 연동과 같은 비즈니스 로직 처리 처리된 결과를 클라이언트에게 응답 서블릿 요청과 응답 수행 API javax.servlet.http 패키지에 포함 요청과 관련된 API : javax.servlet.http.HttpServletRequest 클래스 응답과 관련된 API : javax.servlet.http.HttpServletResponse 클래스 doGet() / doPost()메소드에서 request, response 객체 사용 태그로 서블릿 요청 태그를 이용해 브라우저에서 서블릿으로 사용자의 요청이나 데이터 전송 서블릿 데이터를 웹 브라우저로 전송 태그 action 속성 : 서블릿 또는 JSP 이.. 2021. 12. 28.
JSP와 Servlet(서블릿) JSP와 Servlet (서블릿) JSP (Java Server Pages) HTML 내에 Java 언어를 삽입한 문서 .jsp Servlet (Server + Applet) Java 언어로 이루어진 웹 프로그래밍 문서 자바 코드에 의존적 .java JSP 페이지의 실행 과정 Servlet (서블릿) 서버 측에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스 (응답 : HTML 형식) 자바 플랫폼에서 컴포넌트 기반의 웹 애플리케이션을 개발하는 핵심 기술 (동적 웹 애플리케이션 컴포넌트) 컨테이너 종류에 상관없이 실행 (플랫폼이 독립적) 독자적으로 실행되지 못하고 톰캣과 같은 JSP/Servlet 컨테이너에서 실행 자바로 만들어졌기 때문에 자바의 특징 (객체지향)을 가짐 : 자.. 2021. 12. 28.
Web 개요 웹(Web) 개념 웹 서비스 인터넷을 기반으로 제공되는 서비스 웹 애플리케이션 웹을 기반으로 작동되는 프로그램 웹 프로그래밍을 통해 구현 웹 프로그래밍 기본적인 클라이언트(Client) / 서버(Server) 방식 정적인 HTML만으로는 데이터가 실시간으로 변화하는 것을 처리하거나 저장하기에는 불가능 동적으로 변화하는 데이터를 처리하고 표시하기 위해서 개발된 것이 CGI, ASP, PHP, JSP, Servlet 정적 웹 프로그래밍 웹 서버에서 보여줄 HTML 페이지, CSS, 이미지, 자바스크립트 등의 파일을 미리 저장해 놓고 브라우저에서 요청할 경우 그대로 전달하는 바식 사용자는 페이지가 변경되지 않는 한 고정된 웹 페이지를 보게 됨 주로 화면의 디자인을 구성하거나 클라이언트의 이벤트를 처리함 환율 .. 2021. 12. 27.
React - JSX 문법 JSX 자바스크립트의 확장 문법 XML과 유사함 브라우저에서 실행되기 전에 코드가 번들링되는 과정에서 바벨을 사용하여 일반 자바스크립트 형태로 변환됨 컴포넌트를 렌더링할 때마다 JSX가 아닌 React.createElement를 사용해야 하면 다음과 같은 상황 발생 {/* JSX 문법 */} function App() { return ( Hello react ); } 자바스크립트로 변환 // javascript 문법 function App() { return React.createElement("div", null, "Hello", React.createElement("b", null, "react")); } JSX의 장점 보기 쉽고 익숙함 HTML 코드를 작성하는 것과 비슷하기 때문에 가독성이 높고 작.. 2021. 12. 17.