본문 바로가기
스마트인재개발원/JSP . SERVLET

[JSP]점심메뉴를 직접 입력하여 랜덤으로 메뉴 추천받기/response객체/select태그 내 option에 따른 페이지 불러오기

by 죠졍니 2022. 10. 14.
728x90
반응형
SMALL

메뉴를 직접 입력하여 랜덤으로 메뉴 추천받기

 

< html파일>

<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<form action="Ex08write.jsp">
	랜덤숫자입력<input type="number" name="number">
	<input type="submit" value="생성하기">
	</form>
</body>
</html>

 

 

 

 

<첫번째  jsp파일>

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<p>랜덤당첨선정</p>
	<form action="Ex08result.jsp">
	 
	 
	 주제: <input type="text" name="title"><br>
	 
	 <%
	 	//1. 숫자 받아오기
	 	int number = Integer.parseInt(request.getParameter("number"));

	 %>
	 
	 <%for(int i=1;i<=number;i++){ %>
	 		
	 		아이템<%=i %> : <input type="text" name="item"><br>
	 	
	 <%}%>
	 
	 <input type="submit" value="시작">

	</form>
	
	
</body>
</html>

 

 

 

 

<두번째 jsp파일>

 

 

<%@page import="java.util.Random"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	
	
	<p>랜덤당첨결과</p>
	<%
		request.setCharacterEncoding("EUC-KR");
		
		//1. 제목, item을 가져오기
		String title = request.getParameter("title");
		String[] items = request.getParameterValues("item");
		
		//랜덤한 수 뽑기 ( 랜덤 생성 시 위에 자동 import생성 : 지시자의 역할)
		Random ran = new Random();
		
		//0~9 : ran.nextInt(10);
		//배열의 길이만큼 랜덤 돌리면 됨
		int idx= ran.nextInt(items.length);
		//String randomMenu = request.getParameter(Math.random(idx));
		
		out.print(title+"<br>");
		out.print( items[idx]+"<br>");
		
	
	%>
</body>
</html>

 


response객체

 

 

 

response.sendRedirect();

: 현재 실행중인 JSP page의 실행을 중단하고 다른 Web page가

대신 호출되도록 만드는 기능

 

 

 

 

 

 

 

 

 

 

 


select태그 내 option에 따른 페이지 불러오기

 

<html파일>

<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>

	<form action="Ex10moveUrl.jsp">
	<select name="page">
		<option value="naver" name="naver">네이버</option>
		<option value="daum" name="daum">다음</option>
		<option value="google" name="google">구글</option>
	</select>
	<input type="submit" value="페이지로이동">
	
	
	</form>
	
	
	
	

</body>
</html>

 

 

<jsp파일>

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<%
	String site = request.getParameter("page");
	//String naver = request.getParameter("naver");
	//String daum = request.getParameter("daum");
	//String google = request.getParameter("google");
	
	if(site.equals("naver")){
		response.sendRedirect("http://www.naver.com/");
	}
	else if(site.equals("daum")){
		response.sendRedirect("https://www.daum.net/");
	}
	else if(site.equals("google")){
		response.sendRedirect("https://www.google.co.kr/");
	}
	
	%>
	
	
	
</body>
</html>

 

 

->다음과같은 코드도 가능

 

 

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<%
	String site = request.getParameter("page");
	//String naver = request.getParameter("naver");
	//String daum = request.getParameter("daum");
	//String google = request.getParameter("google");
	
	String url="";
	if(site.equals("naver")){
		url="http://www.naver.com/";
	}
	else if(site.equals("daum")){
		url="https://www.daum.net/";
	}
	else if(site.equals("google")){
		url="https://www.google.co.kr/";
	}
	
	//3. 페이지이동
	//페이지이동하는 코드는 한 파일에서 딱 한번만 실행이 된다.
	response.sendRedirect(url);
	%>
	
	
	
</body>
</html>

 

 

 

 

 

 

 

 

 

페이지로이동 누르면

 

 

 

728x90
반응형
LIST