jsp 페이지
에서 동일한 내용이라도 자바 코드
를 기술하기 보다는태그를 기술
하는 것이 지저분하지 않고 깔끔하게 코딩
할 수 있어가독성 높은 소스코드를 작성
할 수 있다.forward
: 다른 페이지로 이동<jsp:forward/>
include
: 외부 페이지의 내용을 포함하거나 페이지 모듈화<jsp:include/>
param
: 현재 페이지에서 다른 페이지에 정보를 전달할 때 사용<jsp:param/>
useBean
: 빈(Bean, 객체)을 생성하고 사용하기 위한 환경을 정의<jsp:useBean/>
setProperty
: 빈에서 속성 값을 할당<jsp:setProperty/>
getProperty
: 빈에서 속성 값을 얻어올 때 사용<jsp:getProperty/>
🎈 forward_test.jsp
<%@ 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> <form action="controller.jsp"> <select name="site"> <option value="naver">네이버</option> <option value="google">구글</option> <option value="daum">다음</option> </select> <input type="submit"> </form> </body> </html>
🎈 controller.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String site = request.getParameter("site"); String requestURL = ""; if(site.equals("naver")){ requestURL = "forward_naver.jsp"; }else if(site.equals("google")){ requestURL = "forward_google.jsp"; }else if(site.equals("daum")){ requestURL = "forward_daum.jsp"; } %> <jsp:forward page = "<%=requestURL%>"/> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> </body> </html>
<jsp:forward page = "<%=requestURL%>"/>
여기로 사이트 이동🎈 forward_naver.jsp / forward_google.jsp" / forward_daum.jsp
<%@ 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> <script type="text/javascript"> window.open("https://www.naver.com"); </script> </body> </html>
<%@ 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> <script type="text/javascript"> window.open("https://www.google.com"); </script> </body> </html>
<%@ 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> <script type="text/javascript"> window.open("https://www.daum.net"); </script> </body> </html>
-> 페이지를 많이 나누는 이유는 모듈화(세분화시켜서 설계)
를 하여 유지보수를 원활하게 하기 위해서이다. 수정이 필요한 부분만 건들일 수 있어서 다른 파일에 문제가 생기지 않는다.