JSP Request의 정보(Request info) 알아내기

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
</head> 
<body> 
컨텍스트 패스 : <%= request.getContextPath() %> <br> 
요청방식 : <%= request.getMethod() %> <br> 
요청한 URL : <%= request.getRequestURL() %> <br> 
요청한 URI : <%= request.getRequestURI() %> <br> 
서버의 이름 : <%= request.getServerName() %> <br> 
프로토콜 : <%= request.getProtocol() %> <br> 
</body> 
</html>

 

JSP Redirect 방법

Redirect시 모든 정보를 잃어버린다는 것을 명심!!

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
</head> 
<body> 
로드북 홈페이지로 이동 
<% 
response.sendRedirect("http://www.roadbook.co.kr"); 
%> 
</body> 
</html>

 

쿼리 스트링

사용자가 입력한 데이터를 서버로 전달하는 가장 단순한 방법.

aaaa?id=aaa%age=10

에서 id와 age는 이름이, aaa와 10은 값이 됨.

사용자가 입력한 값을 알려면 이름을 알아야 함.

Forward예제

Forward란 Redirect와 비슷하게 넘겨준다는 뜻…

Forward는 Request와 Response를 그대로 공유하며 넘겨주지만

Redirect는 새로운 객체를 생성함.

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<!DOCTYPE HTML> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Insert title here</title> 
</head> 
<body> 
입장하려면 나이를 입력하세요. <br> 
<form action="05_forwardTest.jsp"> 
   <input type="text" name="age"> 
   <input type="submit" value="입장"> 
</form> 
</body> 
</html>

05_forwardTest.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<% 
int age=Integer.parseInt(request.getParameter("age")); 
if(age<=19){ 
%> 
<script type="text/javascript"> 
alert("19세 미만이므로 입장 불가능") 
history.go(-1) 
</script> 
<% 
}else{ 
request.setAttribute("name", "성윤정"); 
RequestDispatcher dispatcher 
=request.getRequestDispatcher("05_forwardResult.jsp"); 
dispatcher.forward(request, response); 
} 
%>

05_forwardResult.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
    <% 
String age=request.getParameter("age"); 
String name=(String)request.getAttribute("name"); 
%> 
<!DOCTYPE HTML> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Insert title here</title> 
</head> 
<body bgcolor=pink> 
forward 방식으로 이동된 페이지 <br> 
나이 : <%=age %> 
이름 : <%=name %> 
</body> 
</html>

 

JSP 기본 태그

  1. 스크립트릿 Scriptlet <% %> 일반 자바코드 기술
  2. 선언 Declaration <%! %> 변수와 메소드 선언
  3. 표현식 Expression <%= %> 계산식이나 함수를 호출한 결과를 문자열 형태로 출력
  4. 주석 Comment <%– –%>
  5. 지시자 Directive <%@ %>