[JSP] scope란?
·
Web/JSP
Application 웹 어플리케이션이 시작되고 종료될 때까지 변수가 유지되는 경우 사용 Session 웹 브라우저 별로 변수가 관리되는 경우 사용 웹 브라우저별로 변수를 관리하고자 할 경우 사용한다. 웹 브라우저간의 탭 간에는 세션정보가 공유되기 때문에, 각각의 탭에서는 같은 세션정보를 사용할 수 있다. HttpSession 인터페이스를 구현한 객체를 사용한다. JSP에서는 session 내장 변수를 사용한다. 서블릿에서는 HttpServletRequest의 getSession()메소드를 이용하여 session 객체를 얻는다. 값을 저장할 때는 session 객체의 setAttribute()메소드를 사용한다. 값을 읽어 들일 때는 session 객체의 getAttribu..
바인딩(Binding)
·
Web/JSP
서블릿에서 다른 서블릿으로 전달하려는 데이터의 양이 많을 때는 GET방식으로 데이터를 전달하는 것이 불편하다. 서블릿에서 다른 서블릿 또는 JSP로 대량의 데이터를 공유하거나 전달하고 싶을 때는 바인딩 기능을 사용한다. 웹 프로그램 실행 히 데이터를 서블릿 관련 객체에 저장하는 방법으로, 주로 HttpServletRequest, Httpession, ServletContext 객체에서 사용되며 저장된 데이터는 프로그램 실행 시 서블릿이나 JSP에서 공유하여 사용한다. 관련 메소드 기능 setAttribute(객체명, "객체값") 데이터를 객체에 바인딩 한다. 객체명 = 객체값 ex) address = "수원시 권선구" getAttribute(String name) setAttribute에서 받아온 데이터..
[JSP] MVC 디자인 패턴
·
Web/JSP
MVC란 Model - View - Controller 의 약자로, 일반 PC 프로그램 개발에 사용되는 디자인 채턴을 웹 어플리케이션에 도입한 것. 즉, 웹 어플리케이션을 화면 부분, 요청 처리부분, 로직 처리 부분으롤 나누어 개발하는 방법 MVC 특징 ∙ 각 기능이 분리되어 있어 개발 및 유지보수가 편하다. ∙ 각 기능의 재사용성이 높아진다. ∙ 디자이너와 개발자의 작업을 분업화해섯 쉽개 개발할 수 있다. MVC 구성요소 ∙ Model : 비즈니스 로직을 처리한다. ∙ Controller : 사용자의 요청 및 흐름 제어를 담당한다. ∙ View : 사용자에게 보여줄 화면을 담당한다. 컨트롤러는 사용자로부터 요청을 받아 어떤 비즈니스 로직을 처리해야 할 지 제어한다. 모델은 데이터베이스 연동 같은 비즈니..
세션을 이용한 웹페이지 연동기능
·
Web/JSP
세션은 웹 페이지들 사이의 공유 정보를 서버에 저장해 두고 웹 페이지들을 매개해주는 방법이라는 점에서 쿠키와 같다. 하지만 쿠키는 사용 시 웹 페이지들의 정보가 클라이언트 PC에 저장되므로 정보가 쉽게 노출될 수 있다는 단점이 있다. 세션은 서버의 메모리에 생성되어 정보를 저장하기 때문에 보안이 요구되는 정보는 대부분 세션을 이용한다. 세션은 각 브라우저당 한 개, 즉 사용자당 한 개가 생성된다. 사용자의 로그인 상태나 쇼핑몰의 장바구니 담기 기능 같은 정보를 해당 브라우저의 세션에 저장해 두고 사용하면 편리하다. 세션의 특징 ∙ 정보가 서버의 메모리에 저장된다. ∙ 브라우저의 세션 연동은 세션 쿠키를 이용한다. ∙ 쿠키보다 보안에 유리하다. ∙ 서버에 부하를 줄 수 있다. ∙ 브라우저(사용자)당 한 개..
DataSource 이용해 데이터베이스 연동하기
·
Web/JSP
∙ 어플리케이션 실행 시 미리 ConnedtionPool 객체를 생성한 후 데이터베이스와 연결을 맺는다. ∙ 어플리케이션은 데이터베이스 연동 작업 발생 시 이 ConnectionPool 객체를 이용해 작업한다. 커넥션풀(ConnectionPool) 동작과정 1) 톰캣 컨테이너를 실행한 후 응용 프로그램을 실행한다. 2) 톰캣 컨테이너 실행 시 ConnectionPool 객체를 생성한다. 3) 생성된 거넥션 객체는 DBMS와 연결한다. 4) 데이터베이스와 연동 작업이 필요할 경우 응용 프로그램은 ConnectionPool에서 제공하는 메소드를 호출하여 연동한다. JNDI ( Java Naming and Directory Interface ) 실제 웹 어플리케이션에서 ConnectionPoll 객체를 구현할..
서블릿의 비즈니스 로직 처리 방법
·
Web/JSP
웹 프로그램은 클라이언트의 요청에 대해서 비즈니스 처리 기능을 이용해 데이터 저장소에서 데이터를 조회한 후 서블릿의 응답 기능을 이용해 클라이언트에게 결과를 전송한다. 서블릿의 비즈니스 작업의 대표적인 예 ∙ 웹사이트 로그인 요청 처리 작업 ∙ 쇼핑몰 상품 주문 처리 작업 서블릿에서 데이터베이스와 연동하는 과정은 자바의 데이터베이스 연동 과정과 같다. 클라이언트로부터 요청을 받으면 서블릿은 SQL문을 사용해 데이터베이스에 접근하여 작업한다. 이 과정에서 DAO와 VO 클래스가 사용된다. 회원정보 테이블을 생성한 후 회원 정보를 추가하여 웹 브라우저에서 서블릿으로 요청, 데이터베이스와 연동해 회원 정보를 웹 브라우저로 출력하는 작업 --회원 테이블 생성 create table t_member( id var..
Port 8080 required by Tomcat v9.0 Server at localhost is already in use. 오류
·
Web/JSP
명령프롬프트(cmd) 관리자 권한으로 실행 열려 있는 포트의 PID 확인 netstat -nao | findstr 8080 PID 프로세스 종료 (죽이기) taskkill /f /pid "PID"
자바스크립트로 서블릿에 요청하기
·
Web/JSP
웹사이트에서 로그인을 할 때 전송 데이터에 대해 유효성 검사를 하는 경우가 많다. 이런 기능은 자바스크립트로 구현한다. 서블릿에 요청할 때 태그에서 직접 요청하는 것이 아니라 자바스크립트 함수르 호출하고 유효성 검사를 한 후 자바스크립트 함수에서 서블릿에 요청하는 예제 실습을 했다 login.html 아이디: 비밀번호: LoginServlet.java package sec01.ex01; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; impor..
서블릿의 응답 처리 방법
·
Web/JSP
서블릿의 요청 처리방법 https://sy-blog.tistory.com/69 Servlet을 사용한 로그인 기능 구현 1) name 속성이 모두 subject로 같다. 2) 전송을 클릭하면 매핑 이름이 action에 설정한 input 서블릿으로 전송된다. 서블릿 작성 package sec01.ex01; import java.io.IOException; import javax.servlet.Servle.. sy-blog.tistory.com 서블릿이 요청을 받아 처리한 결과를 클라이언트에게 응답하는 기능을 알아보자 서블릿에서 응답을 처리하는 방법은 다음과 같다. 1) doGet() 또는 doPost() 메소드 안에서 처리한다. 2) javax.servlet.http.HttpServletResponse 객..