본문 바로가기

JSP

(16)
JSTL *JSTL -JSP Standard Tag Library -태그를 사용하면 깔끔하고 가독성이 높아짐 -추가적인 라이브러리가 jar 파일 형태로 제공 (jstl.jar, standard.jar) http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/ -WEB-INF/lib 폴더에 복사하여 사용 -라이브러리를 사용하려면 taglib 지시자 추가 (따옴표 주의) *JSTL core 태그 1. - setAttribute() 메서드와 같은 역할, 속성을 생성하고 속성 값을 지정하는 데 사용 - scope 영역은 page(디폴트), request, session, application 중 선택 가능함 변수에 값을 저장할 때 자바 빈 객체 생성할 때 자바..
EL (표현언어) * EL(Expression Language, 표현언어) - JSP 출력에 대한 부분을 쉽게 하기 위해 개발한 태그 - → ${expr} - 스프링과 같은 프레임워크에서는 표현식 대신에 표현언어 사용 - 문자열은 ${"Hello"} 쌍따옴표 필요 - null 값은 화면에 공백으로 표시 * JSP에서 문자열 출력 방법 EL → ${"Hello"} 표현식 → 내장객체 out → * 내장객체 param - 사용자가 폼에 입력한 값을 얻어올 때 사용하는 내장 객체 - 아이디 : -> 아이디 : ${param.id} - request.getParameter는 리턴형이 무조건 String이므로 산술 연산을 하려면 int로 변환해야함 하지만, EL은 형변환을 할 필요가 없기 때문에 코드가 간결해짐 * 서블릿 클래스에..
자바 빈 *자바 빈 -데이터를 저장하는 하나의 자료구조 -어떤 규칙에 맞게 설계되어야 하는 클래스 -회원 정보를 하나의 묶음으로 관리, 회원 객체 정보를 저장하기 위한 템플릿 -정보의 덩어리, 데이터 저장소 *캡슐화 (=데이터의 은닉) -데이터는 private 접근 제한자를 사용, public 메서드를 통해서만 접근 가능 *자바 빈의 구성요소 데이터를 저장하기 위한 필드 + 데이터를 컨트롤하는 getter/setter 메서드 (데이터를 조회, 저장하는 것을 메서드가 해줌) *프로퍼티방식 -private 필드를 외부에서 접근하기 위해서 공개형 접근 제한자인 public으로 메서드를 정의해 놓고 이를 통해서 간접적으로 필드에 접근 -즉, 필드 형태로 기술하되 결국은 간접적으로 메서드로 호출하는 것 *getter/se..
쿠키와 세션 *인터넷에서 사용 가능한 웹 서비스 -프로토콜 : 웹 서비스들이 지켜야할 규칙, 표준 인터넷 규약 1) HTTP(Hypertext Transfer Protocol) -HTML 문서의 송수신을 위한 프로토콜 -웹 서핑을 할 때 서버에서 브라우저로 데이터를 전송해 주는 용도 -비연결 지향형 통신 프로토콜 클라이언트가 서버에 정보를 요청하면 웹 서버가 해당 페이지를 클라이언트에게 전송한 후 연결을 끊어버림, 그 후에도 계속 이러한 과정 반복, 단순히 전달해주고 끝. 즉, 페이지끼리 연결되는 것이 아니라 페이지가 바뀔 때마다 서버가 해당 페이지를 내려 보내주는 것 cf1) HTTPS(Hypertext Transfer Protocol Secure) -SSL(보안 소켓 계층)을 사용함으로써 HTTP의 보안 취약 문..
JSP 내장객체 / 액션태그 / 리다이렉트 / 포워드 *JSP 내장객체 -객체를 생성하는 과정 없이 바로 사용할 수 있는 객체 -> 서블릿 파일로 변환될 때 서블릿 컨테이너가 객체를 자동으로 생성해주기 때문 -> 총 9개의 내장 객체 제공 (서블릿의 _jspService() 메서드가 이미 가지고 있는 객체들) -입출력 관련 객체 : request, response, out -서블릿 관련 객체 : page, config (환경설정) -외부 환경 정보 제공 객체 : session, application, pageContext -예외 관련 객체 : exception *입출력 관련 객체 - out -서블릿의 response.getWriter() 메서드로 얻어낸 out 객체와 동일 -서버에서 클라이언트로 열려있는 출력 스트림 -out.print(“출력합니다"); 이..
JSP *JSP -Java Server Page -HTML 태그에 자바로 프로그래밍하여 브라우저에 보여주는 특별한 페이지 -톰캣 서버가 번역하여 화면에 html 형태로 출력 cf) html은 웹 브라우저내의 번역기가 알아서 번역 -과정 사용자가 브라우저 주소 입력란에 웹 서버에게 jsp 페이지 요청 -> 웹 서버는 jsp 페이지를 찾아 html 형태로 사용자에게 전송 - : 이 파일이 jsp 파일임을 알리는 지시자임 (필수) - : 스크립트릿, 자바 코드가 담긴 파일, html 코드 안에 들어가도 상관 X, 서블릿 컨테이너는 이 부분을 알아서 자바 코드로 인식함 - : 표현식 *Servlet 대신 JSP를 사용하는 이유 -Servlet은 자바 코드 안에 html 코드가 들어가는 구조 -> 원래는 이렇게 개발했었..
서블릿 *서블릿 -.class 파일 -파일 만들 때 class가 아닌 servlet으로 만들기 -실행 결과를 클라이언트에게 HTML 문서로 응답해줌 -메인 메서드가 클래스를 실행해주는 것이 아니라, 웹서버가 실행해줌 (메인 메서드 없음) -무조건 꼭! HttpServlet 클래스를 상속받아야함 (오버라이딩해서 쓰려고) -HttpServlet 안에는 HttpServletRequest, HttpServletResponse 객체가 존재 -HttpServlet 안에는 doGet(), doPost() 메서드가 존재 -서블릿 실행 과정 1) 사용자의 요청이 들어오면 서블릿 실행을 시작 2) 톰캣 서버가 서블릿 객체를 생성 3) init() 메서드 호출 - 단 한번만 4) 요청 방식에 따라 처리 doGet(), doPost..
웹 서버 *웹 서버란? 1.내가 브라우저에 www.naver.com를 입력하고 엔터 빵! (=해당 사이트에 있는 웹 페이지를 나에게 보내줘라고 요청하는 과정) 2.네이버 서버는 이 요청을 받아 www.naver.com를 나에게 보내준다. → 이 때 요청하는 브라우저를 ‘클라이언트' , 요청을 찾아서 보내주는 컴퓨터를 ‘서버’ *서버를 다루는 언어 PHP, ASP, 서블릿/JSP 다양한 정보를 데이터베이스에서 얻거나 저장하기 위한 언어, 즉 DB와의 소통을 위한 언어 *서버는 사실 두 가지로 나뉜다 -웹 서버 사용자의 요청이 들어오면 이에 대한 처리를 한 결과 페이지를 전송해줌 -웹 애플리케이션 서버(WAS) : 톰캣 실질적으로 요청한 페이지의 로직이나 DB와의 연동을 처리할 수 있는 비즈니스 로직 구현 필요 그러..