Back-end/기타 (BE)

뉴렉쳐 Servlet & JSP [31 ~ 40강]

philo0407 2020. 10. 3. 01:02

서블릿/JSP 강의 31 - Cookie의 maxAge 옵션

브라우저가 닫혀도 유효한가 ?

그렇다.. 없어져야 하는데..

아래와 같이 유효기간을 설정할 수 있다.

valueCookie.setMaxAge((int)(0.5 * 60));

초 단위 이기 때문에

1시간이면 1 * 60 * 60

하루면 24*60*60 이다.

 

서블릿/JSP 강의 32 - Application/Session/Cookie 정리

 

  Application Session Cookie
사용범위 전역 범위에서 사용하는 저장 공간 세션 범위에서 사용하는 저장 공간 Web Browser별 지정한 path 범주 공간
생명주기 WAS가 시작해서 종료할 때 까지 세션이 시작해서 종료할 때 까지 Browser에 전달한 시간부터 만료시간까지
저장위치 WAS 서버의 메모리 WAS 서버의 메모리 Web Browser의 메모리 또는 파일

Application과 Session은 서버의 영역이고

Cookie는 클라이언트다.

Session은 재접하면 새로운 SID가 부여돼, 그렇기 때문에 Session Timeout을 지정해 주어야 해.

혹은 그 timeout 기간을 넘어서 저장할 필요가 있으면 Cookie를 써야 해.

특정 url을 지정하여 관리할 것은 Cookie에 지정되는 것이 현명하다.

 

서블릿/JSP 강의 33 - 서버에서 페이지 전환해주기(redirection)

 

response.sendRedirect("calc2.html");

 

 

포워딩과 리다이렉트의 차이

JSP/Servlet에서는 현재 작업중인 페이지에서 다른 페이지로 이동하는데 두 가지 방식을 가지고 있다. 포워딩(Forwarding)과 리다이렉트(Redirect)로 둘 다 다른 웹 페이지로 이동하지만 처리 형태가 ��

creator0609.tistory.com

 

 

 

Redirect VS, Forward (Redirect와 forward의 차이)

Redirect VS, Forward (Redirect와 forward의 차이) JSP환경에서 현재 작업중인 페이지에서 다른페이지로 이동하는 두가지 방식의 페이지 전환기능 사례를 통해 redirect와 forward의 차이점에 대해 감을 잡아보

doublesprogramming.tistory.com

서블릿/JSP 강의 34 - 동적인 페이지(서버 페이지)의 필요성

위 output "0"이 바뀌어야 한다! JaSPer의 필요성이 대두댄당!

서블릿/JSP 강의 35 - 처음이자 마지막으로 동적인 페이지 서블릿으로 직접 만들기

 

대망의 식겁 노가다 시간

실제로 자바 첫 버전이나 C로 개발할 떄 저런 방식으로 사용했다고 한다. (C로도 웹개발이 가능한 듯)

그 이후 SP, PHP가 나오면서 간편해 졌다고..

 

예외 범주는 위처럼 해주면 된다.

 

물런 그러고도 예외적 상황이 존재함 매의 눈이 되자

 

강의가 노가다라 이런분도 계셧다 ㅋㅋㅋ
글자 그대로가 아닌변하는 결과가 출력된다.

서블릿/JSP 강의 36 - 계산기 서블릿 완성하기

 

 

HTTP 상태 코드

번역이 완료되지 않았습니다. Please help translate this article from English HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어집니다: 정보를 제

developer.mozilla.org

Cookie[] cookies = request.getCookies();
		
String value = request.getParameter("value");
String operator = request.getParameter("operator");
String dot = request.getParameter("dot");
		
String exp = "";
	if(cookies != null)
		for(Cookie c : cookies)
			if(c.getName().equals("exp")) {
				exp = c.getValue();
				break;
			}
		
if(operator != null && operator.equals("=")) {
// GraalVM 에서 제공하는 lib 쓰게 댈 것..
	ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn"); 
	try {
		// obj to str
		exp = String.valueOf(engine.eval(exp));
	} catch (ScriptException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
		}
	} else {
		exp += (value == null)? "" : value;
		exp += (operator == null)? "" : operator;
		exp += (dot == null)? "" : dot;
}
		
Cookie expCooke = new Cookie("exp", exp);
		
response.addCookie(expCooke);
response.sendRedirect("calcpage");

 

서블릿/JSP 강의 37 - 쿠키 삭제하기

if(operator != null && operator.equals("C")){

	// exp=
    // 라는 형태로 비워짐
	exp = "";
    
    // 아예 삭제.. null
    Cookie expCooke = new Cookie("exp", exp);
    expCooke.setMaxAge(0);
}

 

서블릿/JSP 강의 38 - GET과 POST에 특화된 서비스 함수

 

service메서드를 타면 doGet(), doPost()를 찾는다.

 

 

 

[이클립스] Servlet API 소스 보는 법. 아파치 톰캣(Apache Tomcat) 소스 첨부하기

이클립스(Eclipse) 아파치 톰캣(Apache  Tomcat) 소스 첨부하기 Servlet/JSP API로 웹 어플리케이션을 개발하다 보면 가끔 Servlet/JSP 만의 스펙이 궁금하여 그 내부를 들여다보거나, 동작 원리를 알 필요가

dololak.tistory.com

Source Not Found 클래스 파일 추가하기.

404에러는 URL 자체에 해당하는 파일이 없다.

405는 URL은 있으나, 처리할 메서드가 없다.

 

service(), doGet(), doPost()는 모두 HttpServlet클래스의 내장 메서드들을 override한 것임여!

 

 

 

서블릿/JSP 강의 39 - 계산기 프로그램 하나의 서블릿으로 합치기

GET요청, POST 요청 받는 각각의 두 페이지의 Servlet을 하나로 합쳐보자..

goGet(){
	계산기 얼굴...
    form:POST요청
}

doPost(){
	계산기 내부 처리 로직..
    redirection:GET요청 (url기입)
}

 

서블릿/JSP 강의 40 - JSP 시작하기 (Jasper를 이용한 서블릿 프로그래밍)

JaSPer 영입 !

jsp 가 서블릿으로 변환되는 시점: 사용자가 해당 파일을 요청할 때

url-mapping은 파일명 그대로임 

이 위치에 생성댐

 

 

실행할때, 저곳에서 이클립스가 긁어오는 것이 아니다! 이곳은 개발자들의 작업 디렉터리

 

이곳에 서블릿과 컴파일된 .class 파일이 생성된다.

이곳(배포를 위한 임시 저장디렉터리)에서 긁어옴

 

우왕 신기하다능
일처리 넘 완벽하자누 ㅠㅠ

 

Jasper에게 일 시키는 방법을 배우는 것이여