Fullstack-Study-241204-250625

커리큘럼(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

HTML

JSP 특징

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로 이용

서블릿 구분방법

  1. URL-Mapping
  • 어노테이션 이용
  • 클래스 선언부 바로 위에 작성
  1. web.xml 설정파일 수정
  • servlet 태그 추가
  • servlet-mapping 태그 추가

HttpRequest 방식

  1. GET방식
  • 서버에 데이터를 요청하는 용도
  • 데이터가 주소에 포함됨
  • 보안성에 취약
  • form태그가 반드시 필요하지는 않음
  1. POST방식
  • 서버에 데이터를 전송하는 용도
  • 데이터가 전송 객체의 메시지 바디를 통해 전달됨
  • 보안성에 강함
  • 반드시 HTML form태그가 필요

JSP 내장 객체

종류
request
response
out
session
application
pageContext
page
config
exception

request객체

  • 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"));