-
주니어 개발자를 위한 100가지 질문(답변 포함) - 6언어/JSP 2023. 10. 30. 19:28728x90반응형
6️⃣ Java Web
📌 jsp와 servlet의 차이점은 무엇인가요?
JSP(Java Server Pages)와 Servlet은 모두 웹 페이지를 동적으로 생성하는 데 사용되는 기술입니다. Servlet은 자바 코드 안에 HTML 코드가 포함된 형태이며, JSP는 HTML 코드 안에 자바 코드가 포함된 형태입니다. 즉, Servlet은 Java를 기반으로 하고, JSP는 HTML을 기반으로 합니다. 이로 인해 JSP는 디자인에 집중된 개발자들에게 더 적합하고, Servlet은 자바 개발에 더 숙달된 개발자들에게 적합합니다.
📌 jsp를 기본 제공하는 객체는 무엇이 있나요?
JSP는 기본적으로 아래의 내장 객체를 제공합니다: request, response, session, application, pageContext, page, out, config, exception.
📌 4개의 jsp scope에는 무엇이 있나요?
JSP에서 4가지 범위(scope)가 있습니다: page, request, session, application. page는 해당 JSP 페이지 내에서만 유효하며, request는 하나의 HTTP 요청이 처리되는 동안 유효합니다. session은 해당 HTTP 세션 동안 유효하며, application은 전체 웹 애플리케이션에서 유효합니다.
📌 세션과 쿠키의 차이는 무엇인가요?
세션과 쿠키는 모두 클라이언트와 서버간의 상태를 유지하기 위한 방법입니다. 쿠키는 클라이언트의 컴퓨터에 저장되며, 세션은 서버에 저장됩니다. 쿠키는 사용자의 브라우저를 종료해도 유지될 수 있으나, 세션은 브라우저를 종료하면 소멸됩니다.
📌 세션 과정을 설명해주세요.
웹 브라우저가 서버에 처음 요청을 보낼 때, 서버는 세션 ID를 생성합니다. 이 세션 ID는 응답과 함께 클라이언트에게 전달되고, 이후 클라이언트가 서버에게 요청을 보낼 때마다 이 세션 ID가 함께 전달됩니다. 서버는 이 세션 ID를 이용하여 클라이언트의 상태 정보를 유지합니다.
📌 쿠키를 사용할 수 없을 때 세션을 대신 사용할 수 있을까요?
네, 가능합니다. 쿠키가 브라우저에 저장되는 것과 달리, 세션 정보는 서버 측에 저장되기 때문에 클라이언트에서 쿠키 사용을 거부하더라도 세션을 통해 상태 정보를 유지할 수 있습니다.
📌 스프링 MVC와 struts의 차이는 무엇인가요?
스프링 MVC와 Struts는 모두 자바를 이용한 웹 애플리케이션 개발을 위한 프레임워크입니다. Struts는 액션 기반의 프레임워크로, 하나의 액션 클래스가 하나의 요청을 처리합니다. 반면에 스프링 MVC는 모델-뷰-컨트롤러 패턴을 따르며, 하나의 컨트롤러 클래스가 여러 요청을 처리할 수 있습니다. 스프링 MVC는 스프링 프레임워크의 일부로, 스프링의 다양한 기능을 이용할 수 있다는 장점이 있습니다.
📌 SQL Injection을 피할 수 있는 방법을 설명해주세요.
SQL Injection 공격을 피하는 가장 효과적인 방법은 입력값을 검증하고, PreparedStatement를 사용하는 것입니다. PreparedStatement는 SQL 쿼리가 미리 컴파일되고, 파라미터가 후에 삽입되므로 SQL Injection 공격을 효과적으로 방어할 수 있습니다.
📌 XSS 공격이 무엇이고, 어떻게 피할 수 있는지 설명해주세요.
XSS(Cross-Site Scripting) 공격은 악의적인 스크립트를 신뢰할 수 있는 웹사이트에 삽입하는 공격입니다. 이 공격을 피하는 방법은 사용자 입력을 적절하게 검증하고 이스케이프 처리하는 것입니다. 또한, Content Security Policy(CSP)를 사용하여 특정 도메인에서만 스크립트를 로드하도록 제한할 수 있습니다.
📌 CSRF 공격이 무엇이고, 어떻게 피할 수 있는지 설명해주세요.
CSRF(Cross-Site Request Forgery) 공격은 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행동을 하도록 하는 공격입니다. 이를 방어하기 위한 방법으로는 CSRF 토큰을 사용하는 것이 일반적입니다. CSRF 토큰은 서버가 임의로 생성하여 세션에 저장하고, 클라이언트의 모든 요청에 이 토큰을 포함시킵니다. 서버는 이 토큰을 검증하여 요청이 유효한지 판단합니다.
728x90반응형'언어 > JSP' 카테고리의 다른 글
주니어 개발자를 위한 100가지 질문(답변 포함) - 8 (0) 2023.11.01 주니어 개발자를 위한 100가지 질문(답변 포함) - 7 (1) 2023.10.31 주니어 개발자를 위한 100가지 질문(답변 포함) - 5 (0) 2023.10.29 주니어 개발자를 위한 100가지 질문(답변 포함) - 4 (0) 2023.10.28 주니어 개발자를 위한 100가지 질문(답변 포함) - 3 (0) 2023.10.27