커리큘럼(12-30/변경)
01. Java
02. git
03. Database
04. Jsp [Server] (v)
05. 미니프로젝트 (3W)
06. HTML,CSS
07. JS
08. SpringFramework , SrpingBoot
09. React JS [Front-end]
10. 중간프로젝트 (1M)
11. Linux 명령어
12. AWS 클라우드
13. DevOps - Docker
14. App - Android
15. 최종프로젝트 (1M)
JSP
JSP 특징
- 동적 웹어플리케이션 컴포넌트(자바코드 사용 가능)
- JSP는 웹서버와 통신시에 자동으로 Servlet으로 변환
- MVC패턴에서 View로 이용
JSP태그
JSP 태그 종류 |
생김새 |
특징 |
스크립트릿(scriptlet) |
<% %> |
모든 자바 코드 기술 가능 |
지시자(directive) |
<%@ %> |
페이지 속성 지정 |
선언자(delcaration) |
<%! %> |
변수나 메서드 선언 시 사용 |
표현식(expression) |
<%= %> |
결과 값을 출력할 떄 사용 |
주석(comments) |
<%-- --%> |
코드 주석처리 시에 사용 |
<!-- jsp코드 예시 -->
<%!
List<String> list = Arrays.asList("a","b","c","d");
%>
> <h3>구구단 3단을 out.println으로 세로 출력</h3>
<%
for(int i=1;i<=9;i++){
out.println(3+" * "+i+" = "+3*i+"<br>");
}
%>
<h3>구구단 2~9단 까지 표현식을 세로 출력</h3>
<%
for(int i=2;i<=9;i++){ %>
<div>[<%=i %>단]</div>
<% for(int j=1;j<=9;j++){ %>
<div><%=i%> * <%=j%> = <%= i*j %></div>
<%}
}
%>
<h3>select태그에 option태그를 반복문으로 생성</h3>
<select name="list">
<%for(String s:list){ %>
<option><%= s %></option>
<%} %>
</select>
Servlet
특징
- 동적 웹어플리케이션 컴포넌트
- 클라이언트의 요청에 동적으로 작동하고, 응답은 html 이용
- MVC패턴에서 Controller로 이용
서블릿 구분방법
- URL-Mapping
- 어노테이션 이용
- 클래스 선언부 바로 위에 작성
- web.xml 설정파일 수정
- servlet 태그 추가
- servlet-mapping 태그 추가
HttpRequest 방식
- GET방식
- 서버에 데이터를 요청하는 용도
- 데이터가 주소에 포함됨
- 보안성에 취약
- form태그가 반드시 필요하지는 않음
- POST방식
- 서버에 데이터를 전송하는 용도
- 데이터가 전송 객체의 메시지 바디를 통해 전달됨
- 보안성에 강함
- 반드시 HTML form태그가 필요
JSP 내장 객체
- 개발자가 jsp파일 내에 객체를 생성하지 않고 바로 사용할 수 있는 객체
- jsp 컨테이너에 의해 서블릿으로 변활될 때 자동 생성
종류 |
request |
response |
out |
session |
application |
pageContext |
page |
config |
exception |
request객체
- 웹 브라우저를 통해 서버에 어떤 정보를 요청하는 것
-
이러한 요청 정보가 담기고 관리되는 곳
-
제공 기능
- 클라이언트와 관련된 정보 읽기 기능
- 서버와 관련된 정보 읽기 기능
- 클라이언트가 전송한 요청 파라미터 읽기 기능
- 클라이언트가 전송한 쿠키 읽기 기능
메서드 |
기능 |
getContextPath() |
String - 웹 어플리케이션의 컨텍스트 루트의 경로를 얻음 |
getMethod() |
String - 웹 브라우저가 정보를 전송할 때 사용한 요청 방식 |
getServerName() |
String - 연결할 때 사용한 서버 이름 |
getServerPort() |
int - 서버가 실행중인 포트 번호 |
getRequestURL() |
StringBuffer - 요청 URL |
getRequestURI() |
String - 요청 URI |
getRemoteAddr() |
String - 웹 서버에 연결한 클라이언트의 ip주소 |
getProtocol() |
String - 해당 프로토콜 |
getParameter(name) |
이름이 name인 파라미터 값 (존재하지 않을 경우 null) |
getParameterValues(name) |
이름이 name인 모든 파라미터 값들을 배열로 반환 (존재하지 않을 경우 null) |
String name = request.getParameter("name");
int age = Integer.parseInt(request.getParameter("age"));