본문 바로가기
IT

[쉽게 배우는 JSP 웹프로그래밍] 12장 연습문제 및 솔루션 총정리

by nutrient 2021. 10. 23.
728x90
728x170

1. 필터란 무엇인가?

필터는 클라이언트와 서버 사이에서 request와 response 객체를 먼저 받아 공통적으로 필요한 부분을 처리하는 것을 말한다.


2. Filter 인터페이스에 있는 메소드의 종류와 기능을 설명하시오.

Filter 인터페이스 메소드 종류에는 필터 인스턴스의 초기화 메소드 init()

필터 기능을 작성하는 메소드 doFilter()

필터 인스턴스의 종료 전에 호출되는 destroy() 메소드가 있다. 


3. web.xml 파일에 필터를 구성하는 요소의 종류를 설명하시오.

<filter>
    <filter-name> 필터 이름 </filter-name>
    <filter-class> 클래스 이름 </filter-class>
    
    // 아래 <init-param> 요소는 옵션
    <init-param>
        <param-name> 매개변수 이름 </param-name>
        <param-value> 매개변수 값 </param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name> 필터 이름 </filter-name>
    <url-patter> 요청 URL 패턴 </url-pattern>
</filter-mapping>



4. Filter 인터페이스를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행 결과를 확인하시오.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Filter</title>
</head>
<body>

<form action="loginForm_process.jsp">
<p> 아이디 : <input type="text" name="id"> 
<p> 비밀번호 : <input type="text" name="passwd">
<input type="submit" value="전송">
</form>

</body>
</html>

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Filter</title>
</head>
<body>

<%
String id = request.getParameter("id");
String pw = request.getParameter("passwd");

if(id.equals("admin") && pw.equals("admin1234")){
%>
<p> 로그인 성공
<%
}else{
%>
<p> 로그인 실패
<%
}
%>

</body>
</html>

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Filter</title>
</head>
<body>

<p>admin님 로그인을 성공했습니다.

</body>
</html>

 

package ch12.com.filter;

import java.io.IOException;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class LoginCheckFilter implements Filter {

	private FilterConfig filterConfig = null;

	@Override
	public void init(FilterConfig filterConfig) throws ServletException{
		this.filterConfig  = filterConfig;
	}
	
	@Override
	public void destroy() {
		
	}
	
	@Override
	public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
			throws IOException, ServletException {
		// TODO Auto-generated method stub
		
		HttpServletRequest request = (HttpServletRequest) arg0;
		HttpServletResponse response = (HttpServletResponse) arg1;
		HttpSession session = request.getSession();
		
		if(session == null) {
			response.sendRedirect("loginForm.jsp");
		}
		
	}

}

 

	<filter>
		<filter-name>loginFilter</filter-name>
		<filter-class>ch12.com.filter.LoginCheckFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>loginFilter</filter-name>
		<url-pattern>/ch12/loginForm_success.jsp</url-pattern>
	</filter-mapping>

 

[쉽게 배우는 JSP 웹프로그래밍] 11장 연습문제 및 솔루션 총정리

 

[쉽게 배우는 JSP 웹프로그래밍] 11장 연습문제 및 솔루션 총정리

1. 예외처리란 무엇인가? 예외 처리는 프로그램이 처리되는 동안 특정한 문제가 발생했을 때 처리를 중단하고 다른 처리를 하는 것이다. 오류 처리라고도 한다. 2. page 디렉티브 태그를 이용한

tistorysolution.tistory.com

 

728x90
그리드형

댓글