jsp

· jsp
JSTL 등장과 사용이유 JSP는 같은 태그를 개발자가 추가 할 수 있는 기능을 제공하는데 이를 커스텀태그라고한다. 이런 커스텀 태그중 많이 사용되는 것들을 모아서 JSTL(JSP Standard Tag Library)라는 표준을 만들었다. 이 JSTL을 사용하면 좀 더 편리하게 JSP를 작성할 수 있을 것이다. 먼저 다음과 같은 경우를 살펴보자. https://brilliantdevelop.tistory.com/49 에서 prodList의 경우 for문과 html태그가 섞여있어 가독성이 떨어진다. for문이 끝나고 나면 몇 줄 안되는 코드때문에 를 사용해야한다. 단순히 '}'를 위해 를 사용하는게 불편해보인다. 그런데 위의 조건이나 반복문같은 걸 아래와 같이 html 태그처럼 사용할 수 있으면 어떨까?..
· jsp
EL 시작전 문제 https://github.com/gks930620/study_filezip 의 study EL부분의 자료를 다운받자. prodList.jsp를 실행하고 하드코딩이 아닌 반복문으로 구현해보자 view는 prodId값에 맞는 화면이 보이도록 구현해보자. 실행결과 스크립트 언어 스크립트 언어(scripting language)란 응용 소프트웨어를 제어하는 컴퓨터 프로그래밍 언어를 가리킨다. 스크립트 프로그래밍 언어라고도 한다. 스크립트 언어는 응용 프로그램과 독립하여 사용되고 일반적으로 응용 프로그램의 언어와 다른 언어로 사용되어 최종사용자가 응용 프로그램의 동작을 사용자의 요구에 맞게 수행할 수 있도록 해준다. 여기서 응용 프로그램의 언어는 java다. html은 마크업언어다. EL(Ex..
· jsp
세션이란 세션은 브라우저를 구별하기 위해 서버에서 생성하는 객체이다. 서버 세션을 사용하면 클라이언트의 상태를 저장할 수 있다. 쿠키와의 차이점은 세션은 웹 브라우저가 아닌 서버에 값을 저장한다는 점이다. 또 세션에는 모든 타입의 객체가 저장될 수 있다. 서버는 세션을 사용해서 클라이언트 상태를 유지할 수 있기 때문에 로그인, 장바구니 등에 사용된다. 기본객체와 영역에서 살펴봤듯이 서버는 브라우저별로 세션을 생성해서 관리한다. 기본적으로 브라우저가 처음 서버에 접근하면 서버는 해당 브라우저에 관한 세션을 생성한다. 그 후로는 이미 생성된 세션을 사용한다. 세션 동작방식 1.브라우저가 처음으로 요청할 때는 아무런 쿠키 없이 요청을 한다.2. 쿠키가 없는 요청이기 때문에 서버에서는 새로운 브라우저라는걸 인식..
· jsp
쿠키란 무엇인가 HTTP 통신은 stateless하다. 즉 이번 요청-응답이 과거의 요청-응답에 영향을 받지않고 미래에 영향을 주지도 않는다. 그렇다면 아이디기억하기, 1주일간 공지사항 안 보기처럼 서버-클라이언트간 임시 데이터가 필요한 경우는 어떻게 할까? 바로 쿠키를 이용하면 된다. 쿠키란 하이퍼 텍스트의 기록서의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해 인터넷 사용자의 컴퓨터(내 브라우저)에 설치되는 작은 기록 정보 파일을 일컫는다.쿠키(Cookie)는 웹 브라우저가 보관하는 데이터이다. 웹 브라우저는 웹 서버에 요청(request)를 보낼 때 쿠키를 함께 전송하며, 웹 서버는 웹 브라우저가 보낸 쿠키를 사용해서 필요한 데이터를 읽을 수 있다...
· jsp
자바빈 자바빈 규약을 지켜서 만들어진 java class를 자바빈이라고 합니다. 자바빈을 사용하는 이유는 디자인(프론트엔드)와 로직(백엔드)를 분리하기 위해서이다. 자바빈 규약은 다음과 같다. 패키지에 속해야한다. defualt package에 있는 클래스는 자바빈이 될 수 없다 기본 생성자를 가지고 있어야 한다. 멤버 변수는 private getter/setter가 존재하며 public 직렬화(선택사항) 이클립스에서 lib 추가하기 로그인예제로 사용할 자바빈 UserVO 클래스를 만들어보자. UserVO의 toString() 오버라이딩에 사용할 라이브러리를 다운받도록하자. 브라우저 검색창에 maven repository를 검색한 후 maven repostiroy 홈페이지에서 lang3를 검색해 Apac..
· jsp
jsp : include 특정 웹사이트를 가보면 상단메뉴, 하단메뉴, 좌측 메뉴 등이 공통적으로 모든 웹페이지에 있는 걸 확인할 수 있다. 카페24 화면이다. 웹 페이지를 이동해도 모든 페이지마다 상단메뉴는 있다. 이렇게 공통적인 부분은 따로 파일을 만들어놓고 필요할 때마다 포함시켜서 사용할 수 있다. jsp에서는 이런 기능으로 태그를 사용 할 수 있다. 웹 브라우저 입장에서는 main.jsp만 요청했지만, 서버는 main.jsp안에 sub.jsp내용을 포함시켜서 응답한다. 00main.jsp + 00sub.jsp 00main.jsp 00main 전 00main 후 00sub.jsp sub에서 만들어진 내용 실행결과 : 00main.jsp 이 그림을 다시보자. 브라우저는 어찌됐든 main.jsp에 요청을..
· jsp
우리는 개발을 하다보면 이런 에러를 보게 된다. 너무 좋다. 개발하는 입장에서는 이런 에러를 보고 어디를 수정해야 하는지 알게된다. 하지만 사용자는 이런화면을 보게된다면 해당사이트에 대한 신뢰를 잃을 것이다. 또 코드의 일부가 노출 될 수 있다. 애초에 모든 화면에서 이런 에러가 나오지않게 개발하는 것이 좋지만 예상치 못한 곳에서(개발자코드, 네트워크 에러,DB 문제 등) 문제는 항상 발생한다. 이럴 때 에러화면을 그대로 보여주기보단 에러가 났을 때 특정 페이지 화면을 보여줘 이런 문제들을 방지할 수 있다. 다음도 에러가났을 때 서버에서 기본적으로 만들어주는 화면 대신 보여주는 화면이 있다. 그럼 우리는 에러가 났을 때 어떻게 해야 '파란'에러화면 대신 우리가 원하는 페이지를 보여줄 수 있을까? ※에러가..
· jsp
우리는 지금까지 request,response, out 등의 기본객체를 사용해봤습니다. 이 외에도 몇가지 기본객체를 사용해보고 이 기본객체가 jsp실행 도중 어디서부터 어디까지 영향을 미치는지에 대한 영역에 대한 내용을 다루도록 하겠습니다. PageContext pageContext 객체는 JSP페이지와 일대일 로 연결된 객체로 다음의 기능을 제공한다. 기본 객체 구하기 속성처리하기 페이지의 흐름 제어(forward,include) 페이지의 흐름제어는 나중에 pageModule부분에서 다룬다. Application 웹 애플리케이션에 1개씩 있는 기본 객체이다. localhost:8080 까지는 서버를 가리킨다. localhost:8080/study 가 하나의 웹 애플리케이션이다. 위 그림에서 서버는 2개..
· jsp
자바 서블릿(Java Servlet) 서블릿이란 웹페이지를 동적으로 생성하기 위해 서버측 프로그램을 말한다. 이는 자바 언어를 기반으로 만들지며 웹 어플리케이션 서버( Web Application Sever ) 위에서 컴파일 되고 동작한다. 쉽게 말해, java만으로 자바소스코드안에 HTML태그를 작성해서 웹 페이지를 만드는 자바 프로그램이다. 이해를 쉽게 하기 위해 jsp와 비교해보겠다. 먼저 06sum.jsp를 다음과 같이 작성해보자 06sum.jsp 1부터 10까지의 합 사실 브라우저에서 url요청 후 06sum.jsp의 결과화면이 나온다. 그럼 jsp만이 브라우저에 결과화면을 응답할 수 있는 것인가? 아니다. java만으로도 가능하다. 물론 우리가 그냥 처음부터 브라우저에 요청을 받아 응답까지 하..
· jsp
JSP 기본 실습 예제 jsp 개발환경을 세팅했지만 html만 사용하다가 처음 jsp를 접하면 평소 할 수 있었던 간단한 코딩도 생각보다 힘든 법입니다. jsp에서의 간단한 예제를 통해 jsp에 익숙해져 봅시다. 또는 이런식으로도 가능합니다 홈으로 바깥으로 별그리기입니다. for문을 이용해 그림과 같이 별 이미지가 출력되도록 jsp를 작성해봅니다. html에서는 ' '이 의미가 없기때문에 &nbsp 및 태그를 사용하면 됩니다. 구구단 table도 만들 수 있습니다. PageDirective trimDirectiveWhiteSpaces 화면에서 f12를 눌러서 Sources보기를 클릭하면 다음과 같이나온다. 이 중 첫번째 노란색부근과 그 아래 공백이 있는 것을 확인할수 있는데 이는 부분이 공백으로 나온것이..
한창희
'jsp' 카테고리의 글 목록 (2 Page)