쌍용 강북 교육센터 국비학원 Day 58일차
WAS (Web Application Server)
-> Web Server 기능 + Web Container (웹컨테이너) 기능을 합친것을 말한다.
Web Server
-> html 파일과 jpg, png, gif 확장자로 되어진 이미지 파일로 이루어진 정적인 문서나 이미지 파일을 웹페이지로 보여지게끔 제공해주는 서버이다. 웹 서버의 종류에는 Apache, IIS (Internet Information Server), WebtoB (티맥스소프트,국산) 등이 있다.
Web Container (웹 컨테이너)란?
-> JSP (HTML 페이지속에 Java 소스가 올라가 있는 페이지) 와 Servlet (웹기능을 하도록 만들어진 Java Class)을 실행시킬수 있는 소프트웨어이다. 웹 컨테이너의 종류에는 tomcat, Jeus (티맥스소프트,국산), WebSphere(IBM), WebLogic (오라클사), JBoss (Redhat), Resin (Caucho) 등이 있다.
JSP 와 Servlet 은 자바변수가 사용되어 지므로 입력되어지는 변수값에 따라 그 내용이 변하므로 동적 웹페이지를 구현한다. Web Server에 JSP 페이지를 요청하면 Web Container 가 JSP 파일을 Servlet 으로 변환하여 컴파일을 수행해주고 Servlet 의 실행결과물을 Web Server에게 전달하여 화면에 보여준다.
JSP (Java Sever Page)
1. JSP 란?
Java Server Page의 약자로서 HTML 문서 속에 Java 코드가 들어가 있는 것이라고 보면 된다. 간단히 말하면, Java 코드가 실행되어진 결과물을 웹페이지(html)로 보여준다는 것이다. Java의 웹서버 프로그램 스펙 (서블릿)으로 변환되어 서비스 된다. 서블릿(Servlet) 이라함은 웹서비스 기능을 해주는 자바 클래스를 말한다.
2. JSP 의 장점
- 서블릿(Servlet) 보다 쉽고, 작성하기가 빠르다.
- 디자인부분(html) 과 로직부분(java) 으로 이루어져 있다. 그리고 디자인부분(html)과 로직부분(java)을 분리시킬수도 있다.
- 프로그래머가 직접 코딩한 서블릿(Servlet) 보다 최적화된 서블릿(Servlet) 으로 생성시켜 주므로 효율적인 코드가 만들어진다.
- JavaBean 의 사용이 쉽다.
- 웹애플리케이션 상에서 변수의 사용가능한 범위(scope)설정이 쉽다.
3. JSP를 이루는 구성 인자 (element)
1. 지시어 (directive)
형태 - <%@ 지시어 %>
지시어 종류 - [ page, include, taglib ]
<%@ page %> - 필요한 클래스를 import 할 때 사용한다.
<%@ include %> - include를 사용하여 해당 파일에 내용물을 넣어준다.
2. 스크립팅 원소 (scripting element)
JSP 페이지에서 자바 코드를 직접 기술할 수 있게 하는 기능을 한다.
종류 - [ 선언 (declaration), 스크립틀릿 (scriptlet), 표현식 (expression) ]
<%! 자바코드 %> - 선언
<% 자바코드 %> - 스크립틀릿 -> 스크립틀릿에는 자바 코드가 들어오는 부분으로 코딩된 부분은 웹브라우저에서 소스보기로 볼 수 없다.
<%= 자바코드 %> - 표현식 -> 스크립틀릿에서 작성된 결과값을 웹브라우저상에 보여주고자 할 때 사용한다. (변수 등)
3. JSP 액션 (표준액션, 커스텀액션)
-> 다음글에 이어서
form 태그의 action
- 서버, 클라이언트
form 태그의 action을 이해하기 위해서는 우선 서버와 클라이언트라는 개념이 필요하다. 서버는 정보를 제공하는 쪽이고, 클라이언트는 정보를 제공 받는 쪽을 의미한다. 웹브라우저의 주소창에 어느 페이지를 입력하면 웹브라우저는 그 페이지에 해당하는 컴퓨터에게 컨텐츠를 요청한다.
이 맥락에서 웹 브라우저는 정보를 요청하는 쪽 다시 말해서 제공 받는 쪽이기 때문에 클라이언트가 되고, 컨텐츠 (서비스)를 제공하는 컴퓨터는 정보를 제공하기 때문에 서버가 된다.
form 태그란 사용자의 데이터를 서버에 전송하는 방법이다. 일반적으로 아래와 같은 작업을 하기 위해서는 폼을 이용한다.
- 로그인을 위해서 아이디/비밀번호를 입력할 때
- 회원가입을 하기 위해서 개인정보를 입력할 때
- 블로그나 게시판에 글을 작성하거나, 파일을 전송할 때
form 태그의 method로 서버와 클라이언트간의 통신 방법을 지정하는 것 중에 하나로 GET과 POST 방식이 있다.
GET 방식
- URL 뒤에 파라미터를 붙여서 데이터를 전달하는 방식
- 사용자가 보내는 데이터는 이름과 값이 결합된 문자열 형태로 전달, 각 이름과
값의 쌍은 ‘&’ 기호로 구분 (&는 데이터 구분자 역할을 해준다) - ' http://URL주소 ? 전송되어질데이터 ' 와 같이 나타내주는 것이며 ' ? '를 중심으로 왼쪽은 URL주소, 오른쪽은 전송되어질 데이터를 나타낸다.
- 서버로 보낼 수 있는 최대 글자수는 2,048자
- URL을 보면 어떤 데이터를 전송하고자 하는지 알 수 있기 때문에 보안에 취약하다.
POST 방식
- HTTP Request 헤더에 파라미터를 붙여서 데이터를 전송하는 방식. (본문 (body)에 데이터값을 담아서 보낸다)
- 서버로 보낼 수 있는 글자수 제한 없음
- GET 방식과 비교하여 보안상 우위에 있음
get방식은 사용자정보가 주소창에 고스란히 나타나 보안상 매우 취약하고 글자수도 정해져있어 많은 양의 데이터를 보내지 못한다는 것이다. 그에 반해 post는 쿼리스트링이 바뀌지 않고 글자수도 제한이 없어 많은양의 정보를 전송할 때 사용 한다.
그런데 속도 측면에서는 post보다는 get이 좀 더 빠르다. 그래서 일반적으로 보안과 관계없는 데이터조회와 같은 select 절에서는 get방식이 주로 사용된다. 회원가입 또는 회원 정보변경 같은 데이터는 개인정보이므로 보안성이 필요하다 즉, insert 또는 update와 같이 DML 작업은 일반적으로 post방식이 주로 사용된다.
※ Context Path 값 변경하는 법
여기서 ctxPath 값은 request.getContextPath(); 로 알아온다. Context Path의 기본값은 Dynamic Web Project의 이름이 되어지고 컨텍스트 패스명을 변경하려면 Severs 의 해당서버 (Tomcat)을 더블클릭해 설정 (Over view)에 들어간 후 Modules 에서 해당 Document Base 를 선택 -> Edit 에서 Context Path 값을 변경할 수 있다.
자세한 설명은 사진 참고
'Web > JSP' 카테고리의 다른 글
쌍용강북교육센터 국비 학원 Day 63일차 JSP (MVC 패턴) (0) | 2023.04.03 |
---|---|
쌍용강북교육센터 국비 학원 Day 62일차 JSP 구현 (0) | 2023.03.31 |
쌍용강북교육센터 국비 학원 Day 61일차 JSP (JSTL - 커스텀 액션, EL) (0) | 2023.03.30 |
쌍용강북교육센터 국비 학원 Day 60일차 JSP (표준 액션 태그 forward, JavaBean, useBean) (0) | 2023.03.29 |
쌍용강북교육센터 국비 학원 Day 59일차 JSP (Servlet, Filter, Action) (0) | 2023.03.28 |