JSP + Servlet | 쿠키 페이지 언어 설정

파과·2022년 7월 14일
0

JSP + Servlet

목록 보기
13/33
post-custom-banner

2개 파일이 필요. 아래는 전체 코드

multilingual.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	String language = "korean"; //첫 화면은 항상 한국어 페이지.
	//request.getHeader로 사용자의 다양한 정보를 가져올 수 있다. 쿠키 정보도 클라이언트의 헤더 영역에 들어있다.
	String cookie = request.getHeader("Cookie"); //클라이언트의 쿠키 정보 가져오기
	
	//처음에는 받은 쿠키 정보가 없어 코드가 실행되지 않음
	if(cookie != null){
		Cookie cookies[] = request.getCookies(); //쿠키정보 얻어오는 메소드
		//쿠키의 배열
		for(int i=0; i<cookies.length; i++){
			if(cookies[i].getName().equals("language")){
				language = cookies[i].getValue();
			}
		}
	}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>multilingual</title>
</head>
<body>

	<%if(language.equals("korean")) {%>
	<h3>안녕하세요. 이것은 쿠키 예제입니다.</h3>
	<%}else{ %>
	<h3>Hello. This is a Cookie example.</h3>
	<%} %>
	
	<form action="cookieSet.jsp" method="post">
		<input type="radio" name="language" value="korean"<%if(language.equals("korean")){ %>checked<%} %>/>한국어 페이지 보기
		<input type="radio" name="language" value="english"<%if(language.equals("english")){ %>checked<%} %>/>영어 페이지 보기
		<input type="submit" value="설정">
	</form>
</body>
</html>

cookieSet.jsp

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

<%
	Cookie cookie = new Cookie("language", request.getParameter("language"));
	cookie.setMaxAge(600);
	response.addCookie(cookie);
%>

<html>
<head>
<meta charset="UTF-8">
<script>
location.href="multilingual.jsp"
</script>
<title>Insert title here</title>
</head>
<body>

</body>
</html>

언어 하나 추가.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	String language = "korean"; //첫 화면은 항상 한국어 페이지.
	//request.getHeader로 사용자의 다양한 정보를 가져올 수 있다. 쿠키 정보도 클라이언트의 헤더 영역에 들어있다.
	String cookie = request.getHeader("Cookie"); //클라이언트의 쿠키 정보 가져오기
	
	//처음에는 받은 쿠키 정보가 없어 코드가 실행되지 않음
	if(cookie != null){
		Cookie cookies[] = request.getCookies(); //쿠키정보 얻어오는 메소드
		//쿠키의 배열
		for(int i=0; i<cookies.length; i++){
			if(cookies[i].getName().equals("language")){
				language = cookies[i].getValue();
			}
		}
	}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>multilingual</title>
</head>
<body>

	<%if(language.equals("korean")) {%>
	<h3>안녕하세요. 이것은 쿠키 예제입니다.</h3>
	<%}else if(language.equals("english")){ %>
	<h3>Hello. This is a Cookie example.</h3>
	<%}else if(language.equals("deutsch")){ %>
	<h3>Hallo. Dies ist ein Cookie-Beispiel.</h3>
	<%} %>
	<form action="cookieSet.jsp" method="post">
		<input type="radio" name="language" value="korean"<%if(language.equals("korean")){ %>checked<%} %>/>한국어 페이지 보기
		<input type="radio" name="language" value="english"<%if(language.equals("english")){ %>checked<%} %>/>영어 페이지 보기
		<input type="radio" name="language" value="deutsch"<%if(language.equals("deutsch")){ %>checked<%} %>/>독일어 페이지 보기
		<input type="submit" value="설정">
	</form>
</body>
</html>
post-custom-banner

0개의 댓글