본문 바로가기

Back23

스프링 프레임워크 스프링 프레임워크 스프링 프레임워크는 자바 웹 애플리케이션 개발을 위한 오픈 소스 프레임워크로, 기존 프레임워크보다 가벼운 경량 프레임워크(lightWeight Framework)이다. 스프링은 경량 컨테이너라고도 불리는데 '컨테이너'라고 하면 대표적으로 톰캣을 예로 들 수 있다. 톰캣은 서블릿 컨테이너라고 불리는데 그 이유는 톰캣은 서블릿의 생성, 초기화, 서비스 실행, 소멸에 관한 모든 권한을 가지고 서블릿을 관리하기 때문이다. 스프링도 마찬가지로 애플리케이션에서 사요되는 여러 가지 빈(클래스 객체)을 개발자가 아닌 스프링이 권한을 가지고 직접 관리한다. 스프링 이전에 사용되던 EJB(Enterprise JavaBeans)의 단점을 개선하고 좋은 점을 발전시킨 프레임워크이다. 스프링의 .. 2022. 1. 5.
JSP (Java Server Page) - 개요, 태그, 지시어 JSP (Java Server Page) 자바 기반 언어로 HTML 문서 내에 자바 코드를 삽입해서 웹 서버에서 동적으로 웹 페이지를 생성해서 클라이언트(웹 브라우저)에게 반환해 주는 언어를 말한다. 서버 사이드 스크립트 언어라고도 하며, JSP를 통해 HTML과 동적으로 생성된 컨텐츠(DB 연동된 실시간 데이터)를 혼합해서 사용할 수 있다. JSP 특징 Servlet을 보완한 스크립트 방식 표준 언어 Servlet 기능 + 추가 기능 JSP(.jsp)는 실행되면서 Servlet(.java)으로 변환되어 컴파일 되어 클래스 파일(.class) 파일로 만들어져 실행 View를 담당하는 페이지로 사용 점차 JSP 페ㅣ지에서 자바 코드가 사라지고 있는 추세 EL과 JSTL로 표현 JSP와 Servlet(서블릿.. 2021. 12. 31.
쿠키와 세션 - 세션을 이용한 로그인/로그아웃 기능 쿠키와 세션 - 세션을 이용한 로그인/로그아웃 기능 예제 sessionLogin.html LoginLogout.java SessionLogout.java sessionLogin.html 아이디 : 비밀번호: LoginLogout @WebServlet(name = "LoginLogout", value = "/logInOut") public class LoginLogout extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { d.. 2021. 12. 30.
쿠키와 세션 - 세션을 이용한 웹 페이지 연동 기능 쿠키와 세션 - 세션을 이용한 웹 페이지 연동 기능 세션은 웹 페이지들 사이의 공유 정보를 서버에 저장해 두고 웹 페이지들을 매개해 주는 방법이라는 점에서 쿠키와 동일하다. 하지만 쿠키는 사용 시 웹 페이지들의 정보가 클라이언트 PC에 저장되므로 정보가 쉽게 노출될 수 있다는 단점이 있으나, 세션은 서버의 메모리에 생성되어 정보를 저장한다. 세션(Session)이란? 클라이언트와 웹 서버 간에 네트워크로 연결이 지속적으로 유지되고 있는 상태 세션의 특징 정보가 서버의 메모리에 저장 브라우저의 세션 연동은 세션 쿠키를 이용 쿠키보다 보안에 유리함 서버에 부하를 줄 수 있음 브라우저(사용자)당 한 개의 세션(세션 id)이 생성 유효시간을 가짐 (기본 유효시간 : 30분) 로그인 상태 유지 기능이나 쇼핑몰의 .. 2021. 12. 30.
쿠키와 세션 - 쿠키를 이용한 웹 페이지 연동 기능 쿠키와 세션 - 쿠키를 이용한 웹 페이지 연동 기능 쿠키(Cookie)란? 웹 페이지들 사이의 공유 정보를 클라이언트 PC에 저장해 놓고 필요할 때 여러 웹 페이지들이 공유해서 사용할 수 있도록 매개 역할을 하는 방법 쿠키의 특징 정보가 클라이언트 PC에 저장됨 저장 정보 용량에 제한이 있음 (4kb) 보안에 취약함 클라이언트에 저장되기 때문. 민감한 정보는 저장하지 X 클라이언트 브라우저에서 사용 유무 설정 가능 도메인당 쿠키가 만들어짐(웹 사이트당 하나의 쿠키 생성) 쿠키의 생성 및 저장 과정 서버에서 쿠키 생성 Cookie 클래스로부터 쿠키 객체 생성 Cookie cookie = new Cookie(이름, 값); 속성 설정 setter 사용해서 쿠키 객체의 유효기간 설정 cookie.setMaxAg.. 2021. 12. 29.
쿠키와 세션 - <hidden> 태그와 URL Rewriting 을 이용해 웹페이지 연동 쿠키와 세션 - 태그와 URL Rewriting을 이용해 웹페이지 연동하기 클라이언트와 서버 간에 정보를 교환하는데 클라이언트 PC 또는 서버의 메모리에 저장해 두고 사용하면 프로그램의 속도를 향상시킬 수 있다. 쇼핑몰을 이용할 때 메인 페이지에서 미리 로그인한 후 다른 웹 페이지에서 상품에 관한 댓글을 다는 경우가 있다. 글쓰기 창에서는 따로 로그인하지 않아도 된다. 하지만, 로그인을 하지 않았을 경우에는 '로그인 후 이용하세요'라는 메시지가 나타난다. 이 기능은 쇼핑몰을 이용하는 사람들은 다 알지만 실제 HTTP 프로토콜 방식으로 통신하는 웹페이지는 서로 어떤 정보도 공유하지 않는다. 사용자 입장에서 웹 페이지 상태나 정보 공유를 위해서는 프로그래머가 세션 트래킹(Session Tracking)이라는.. 2021. 12. 29.
서블릿 포워드(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 (&#39;001&#39;, &#39;java&#39;, &#39;홍길동&#39;, 21000, &#39;2021-12-28&#39;, &#39;001&#39;), (.. 2021. 12. 28.