유쨈미 2024. 6. 4. 22:54

1. Redirect, Forward

1️⃣ JSP Redirect

사용자의 브라우저가 서버로부터 받은 HTTP 응답 코드 302에 따라 다른 URL로 이동하도록 지시하는 방식이다.
클라이언트-사이드에서 이루어지며, 브라우저의 주소창이 변경된다.
서버는 response.sendRedirect("URL") 메소드를 사용하여 Redirect를 수행한다.
Redirect는 새로운 요청을 생성하기 때문에, 이전 요청의 모든 데이터를 잃게 된다.
이는 데이터 전송에 적합하지 않으며, 주로 페이지 이동이나 외부 링크로의 연결에 사용된다.

 

💻 예시 코드

response.sendRedirect("http://www.example.com");

 

 

2️⃣ JSP Forward

서버-사이드에서 이루어지는 페이지 이동 방법이다.
RequestDispatcher 인터페이스를 사용하며, forward(request, response) 메소드를 통해 수행된다.
이는 클라이언트가 인지하지 못하는 내부 이동으로, 클라이언트의 브라우저 URL이 변경되지 않는다.
기존 요청 객체를 그대로 전달하며, 주로 동일한 웹 애플리케이션 내에서 요청을 다른 JSP나 서블릿으로 전달할 때
사용된다.

 

💻 예시 코드

RequestDispatcher dispatcher = request.getRequestDispatcher("newPage.jsp");
dispatcher.forward(request, response);
 

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

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

doublesprogramming.tistory.com

- 출처 : doublesprogramming


2. querystring

URL의 끝에 "?" 문자 뒤에 이어지는 키-값 쌍의 집합이다.
이는 GET 요청과 함께 서버로 데이터를 전달하는 방법이다.
각 키-값 쌍은 "&"로 구분되며, 이를 통해 서버는 클라이언트가 요청한 데이터를 식별할 수 있다.
Querystring은 URL에 직접 포함되기 때문에 보안에 민감한 정보를 포함해서는 안 된다.
URL Redirect나 링크에서 주로 사용된다.

 

💻 예시 코드

String url = "http://www.example.com/search?query=jsp&sort=asc";
response.sendRedirect(url);
 

자바스크립트에서 URL 쿼리스트링(query string) 쉽게 가져오는 방법

웹페이지에서 url/uri를 통해서 전달된 쿼리스트링 정보를 자바스크립트에서 읽어오는 방법에 대하여 알아봅니다.

webisfree.com

- 출처 : webisfree.com


3. Session 생성

Session은 서버에서 클라이언트의 상태를 유지하는 방법 중 하나이다.
서버는 각 클라이언트에 대해 고유한 세션 ID를 생성하고, 이를 통해 클라이언트의 상태를 관리한다.
HttpSession 객체를 통해 생성되며, 주로 사용자 로그인 상태, 장바구니 정보 등을 저장하는 데 사용된다.
Session은 서버 메모리에 저장되기 때문에, 세션의 크기와 수명을 적절히 관리해야 한다.

 

💻 예시 코드

HttpSession session = request.getSession();
session.setAttribute("username", "JohnDoe");
 

[서블릿/JSP] 세션(session)의 마지막 접근시간 및 유효시간에 대해

참고글 [서블릿/JSP] 세션(Session)이란? 세션 생성하는 방법 및 세션 객체 설명 [서블릿/JSP] 세션(session)을 명시적으로 종료시키는 방법 세션의 자동 종료 세션은 지정한 유효시간만큼 접근하지 않

dololak.tistory.com

- 출처 : dololak

 

[JSP] 세션 Session 생성,삭제 , session으로 로그인하기

1. 세션 session 세션은 서버에 이용자 정보를 저장하는 객체이다. 쿠키가 클라이언트에 이용자 정보를 저장한다면 세션은 서버에 저장한다. 세션은 서버에서만 접근이 가능하기 때문에 쿠키에 비

hyejin.tistory.com

- 출처 : hyejin


4. request로 Session 생성

Session은 HttpServletRequest 객체를 통해 생성 및 접근할 수 있다.
getSession() 메소드는 현재 요청과 연관된 세션을 반환하며, 존재하지 않으면 새 세션을 생성한다.
Session은 주로 사용자 데이터를 저장하여 페이지 간에 상태를 유지할 수 있게 한다.

 

💻 예시 코드

HttpSession session = request.getSession(true); // 세션이 없으면 새로 생성
session.setAttribute("user", "JaneDoe");

5. 에러페이지 지정하기

JSP에서 에러 페이지를 지정하는 방법은 web.xml  파일에서 <error-page> 요소를 사용하거나 JSP 페이지 내에서 page 디렉티브의 errorPage 속성을 사용하는 것이다. 이는 특정 오류가 발생했을 때 사용자에게 보여줄 페이지를 설정한다. 예를 들어, 404 오류나 특정 예외가 발생했을 때 보여줄 페이지를 미리 지정하여 사용자 경험을 개선할 수 있다.

 

💻 예시 코드

<error-page>
    <error-code>404</error-code>
    <location>/error404.jsp</location>
</error-page>
<error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/error.jsp</location>
</error-page>
<%@ page errorPage="error.jsp" %>
 

[JSP] 에러페이지 지정하기

- JSP는 실행 도중 익셉션이 발생하면 위의 에러화면 대신에 지정한 JSP 페이지를 보여줄 수 있는 기능을 제공하고 있습니다. - 익셉션 발생 시 보여줄 JSP 페이지는 page 디렉티브의 errorPage 속성을

sas-study.tistory.com

- 출처 : sas-study

 

[JSP] 에러 페이지 처리하기

❗️ 에러 화면은 톰캣이 생성한 것만약 name 파라미터가 없으면 request.getParameter("name") 은 null 을 리턴하므로 NullPointerException 을 발생시킨다.개발 과정에서는 에러 화면에 표시된 에러 내용을 보

velog.io

- 출처 : Jeini