본문 바로가기

분류 전체보기

(22)
[JSP] 간단한 게시판 토이 프로젝트 시작 학습한 JSP를 토대로 간단한 게시판 프로젝트를 진행해보려 합니다. 사용기술 / 환경 JSP / CSS / JavaScript / Jquery Java11 / JDBC / Oracle 11g window10 ERD 및 기능 회원 회원의 아이디와 닉네임은 중복될 수 없습니다. 회원 정보를 수정할 수 있습니다. 글, 댓글, 좋아요를 남길 수 있으며, 관리페이지에서 확인이 가능합니다. 작성한글에 댓글이 달리면 알람을 통해 알려줍니다. 게시판 모든 사용자는 게시판 조회가 가능합니다. 회원만 글쓰기가 가능합니다. 작성된 글은 작성자 또는 관리자가 삭제할 수 있습니다. 좋아요와 싫어요를 남길 수 있고, 수정이 불가능합니다. 댓글 회원만 게시물에 댓글을 남길 수 있습니다. 댓글에 답글을 남길 수 있습니다. 작성된 댓..
[JSP/Servlet] RequestDispatcher와 JSP Model2 RequestDispatcher 클라이언트로부터 최초에 들어온 요청을 JSP/Servlet내에서 원하는 자원으로 요청을 넘기는 역할을 하거나 특정 자원에 처리를 요청하고 처리 결과를 얻어오는 기능을 수행하는 클래스이다. forward(), include() 등의 메서드를 지원한다. RequestDispatcher의 사용이유 JSP Model2 방식을 이용해 웹 애플리케이션을 개발하기 위해 사용한다. Model1 방식에서는 JSP의 액션태그를 이용해 forwarding할 수 있다. Model2 방식에서 Controller의 역할을 하는 Servlet은 자바클래스로, JSP의 액션태그를 사용할 수 없기 때문에 RequestDispatcher의 도움을 받아 forwarding을 할 수 있다. 즉 Servlet..
[JSP] JSTL JSTL(JSP Standard Tag Libaray) 표준 태그 라이브러리 JSP 페이지에서 일반적인 핵심 기능을 캡슐화하여 제공하는 JSP 태그의 컬렉션이다. 제어문, 포매팅 작업, XML문서, 국제화 태그 및 SQL 태그 조작을 위한 태그에 대한 지원을 하고있다. 기존 사용자 정의 태그를 통합하기 위한 프레임 워크또한 제공한다. JSTL의 태그 종류 Core 프로그래밍에서 기본적으로 필요한 변수선언, 제어문, 일반적인 로직등을 편리하게 사용하기 위한 기능제공 Formatting 날짜, 시간, 숫자 및 텍스트의 포맷, 국제화에 따른 언어 설정의 기능들이 제공된다. SQL RDBMS와 상호작용을 하는 태그들을 지원한다. XML XML문서를 생성하고 조작하는 방법을 제공한다. Functions 일반적인 ..
[JSP]EL EL(Expression Langugage) JSP 2.0 부터 지원 데이터를 JSP 페이지 내에 표현하는 기술 JSP페이지 내의 자바코드를 최소화 하기위해 개발되었다. 주로 자바빈과 사용되며, 자바 빈의 프로퍼티 값을 표현식또는 액션태그을 사용하는 것보다 쉽고 간결하게 꺼낼 수 있게 해준다. EL의 기본문법 (표현식) ${ ... } JSP페이지 실행시 즉시 반영된다. 객체 프로퍼티 값을 꺼낼때 주로 사용된다. #{ ... } 시스템에게 필요하다고 판단될 때 사용된다. 사용자 입력값을 객체의 프로퍼티에 담는 용도로 주로 사용된다. 예제 회원의 정보를 담고있는 Bean이 있고, 서버에서 어떠한 값을 가져온다고 가정하자 public class MemberBean { private String id; pri..
[WEB] HTTP 프로토콜에서 상태를 지속시키기 위한 방법들 URL 새로쓰기(URL Rewriting) 매번 페이지가 실행될 때 해당 페이지의 URL에 파라미터를 붙여 실행이 되게끔 하는 방법 URL에 정보가 노출이 되기때문에 보안상 문제가 발생할 수 있다. 숨겨진 필드(Hidden Form Variable) form 데이터 전송시 Hidden Type을 이용하여 값을 넘기는 방법 URL에 직접적인 정보가 노출이 되지 않으나, 페이지가 실행이 되었을 때 브라우저에서 소스보기를 통해 노출된다. 쿠키(Cookie) javax.servlet.http 패키지의 Cookie 클래스를 이용한 방법 서버에서 만들어진 쿠키를 응답과 함께 전송하여 클라이언트측에서 저장된다. 클라이언트에 저장된 쿠키를 열어볼 수 있기 때문에 중요한 정보를 쿠키에 저장시 문제가 발생할 수 있다. 세..
[JSP] Java Beans와 JSP 빈즈태그 Model1 방식에서 사용하기 때문에 현재에 들어서는 사용하지 않는 태그이기도하다. 하지만 Java Beans가 무엇이고, 사용하는 방법은 다른 View Template Engine과 크게 다르지 않다. 때문에 간단한 개념만 다룰것이다. JSP 페이지의 문제점 HTML을 제외한 여러 로직이 존재해 View와 Controll이 완전한 분리가 되지 않음. JSP페이지 내 작성된 프로그램 코드는 다시 사용하기 어렵기 때문에 코드의 중복이 발생한다. 이러한 문제점을 해결하기 위해 Java Beans을 사용해 HTML과 Java Code를 분리할 수 있다. 자바빈즈란? https://tatsu.tistory.com/entry/JAVA-JAVA-Beans [JAVA] JAVA Beans 자바 빈즈(Java Bean..
[JAVA] JAVA Beans 자바 빈즈(Java Beans) 자바로 작성한 클래스 중 자바 빈즈 컨벤션(Java Beans Convention)에 맞게 작성된 클래스 자바로 작성된 소프트웨어 컴포넌트를 지칭하는 단어이다. 컴포넌트(Component) 애플리케이션에서 특정한 기능을 사용할 수 있도록 여러 개의 프로그램 함수를 모은 기능적 단위를 말한다. 자바 빈즈 컨벤션(Java Beans convnetion) 자바빈은 기본패키지 이외의 특정 패키지에 속해 있어야한다. 클래스는 인자(Argument)가 없는 기본 생성자(Default constructor)를 갖는다. 클래스의 멤버 변수는 프로퍼티(Properties)라고 하며 private 접근 제한자를 가져야한다. 클래스의 프로퍼티들은 getter/setter 메서드를 통해 접근할..
[JSP] 내부객체 내부 객체(Implicit Object) 자바 클래스 또는 인터페이스의 형태로 JSP 컨테이너 내에 이미 인스턴스화 된 상태로 제공된다. JSP페이지 작성시 해당 객체를 이용해 동적으로 페이지를 작성할 수 있다. JSP Script, Directive, Action Tag등과 같은 JSP의 문법 요소들과 함께 동작해 사용자의 요청을 적절히 처리할 수 있다. 서블릿의 _jspService()메서드 안에서 선언되기 때문에 선언문()내에서는 사용할 수 없다. 내부 객체의 사용 범주에 따른 분류 입출력 관련 객체 request, response, out 외부 환경 정보 제공 객체 session. application, pageContext 서블릿 관련 객체 page, config 예외 관련 객체 exceptio..
[WEB]Forward와 Redirect의 차이 Forward와 Redirect Forward와 Redirect는 작업 중이 페이지가 전환된다는 점에서 비슷한 역할을 하지만, 이 둘 사이에는 페이지를 전환하는 주체가 다르다는 큰 차이점이 존재하며, 이로인해 동작에 큰 영향을 미친다. Redirect는 페이지 전환 주체가 클라이언트이며 Forward는 페이지 전환 주체가 서버이다. 전환 주체가 클라이언트인 Redirect는 URL이 변경되며, 객체의 재사용이 불가하다. 전환 주체가 서버인 Forward는 URL이 변경되지 않으며, 객체의 재사용이 가능하다. Forward Redirect와 다르게 Forward는 서버 내부에서 일어나는 호출이다. 서버는 클라이언트의 요청을 수행하던 중 해당 페이지가 Forawrding 되어야 함을 알았으면, 수행중이던 페..
[JSP]JSP의 지시자와 액션태그 JSP 지시자 클라이언트의 요청에 JSP 페이지가 실행이 될 때 필요한 정보를 JSP 컨테이너에게 알리는 역할 태그 안에서 @로 시작하며 page, include, taglib 세가지 종류가 있다. page : JSP 페이지에서 지원되는 속성들을 정의하여 JSP 컨테이너에게 해당 페이지의 처리방식에 대한 정보를 제공 inlucde : JSP페이지 내에 다른 JSP조각페이지를 삽입할 수 있다. taglib : JSP페이지 내에 사용될 라이브러리를 접두사를 지정해 사용을 할 수 있게한다. JSP 액션태그 어떤 동작 또는 액션이 일어나는 시점에 페이지와 페이지 사이의 제어를 이동시키는 목적으로 사용된다. 자바 빈즈의 기능을 사용할 수 있도록 해주며, include, forward, plug-in, useBea..