728x90
[ 2023. 5. 20 기준]
1. include 메서드
JSP에서는 include를 사용하여 웹페이지의 일부를 고정시켜놓을 수 있다.
예시를 통해 살펴보자
<header>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="/include/dbconnection.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jsp 테스트</title>
<style>
body{
margin:0px;
padding:0px;
font-size:11px;
}
</style>
<script>
function id_s(){
window.open("/member/id_search.jsp","b","width=600,height=200");
}
function pass_s(){
window.open("/member/pass_search.jsp","c","width=600,height=200");
}
</script>
</head>
<body>
<%
String session_id = (String)session.getAttribute("id");
String session_name = (String)session.getAttribute("name");
String session_level =(String)session.getAttribute("level");
%>
session_id :<%=session_id %> <br>
session_name: <%=session_name %><br>
session_level: <%=session_level %><br>
<table border=0 width=100%>
<tr>
<td align="left">
<a href = "/"><img src="/img/logo.png"></a></td>
<td align="right">
<%
if(session_level != null && session_level.equals("10")){
out.print("<a href = '/admin/'>[관리자]</a>");
}
%>
<%if(session_id ==null){//로그인전 %>
<a href ="" onclick ="id_s()">[아이디 찾기]</a>
<a href ="" onclick ="pass_s()">[비밀번호 찾기]</a>
<a href = "/member/login.jsp">[로그인]</a>
<a href ="/member/join.jsp">[회원가입]</a>
<%}else{//로그인 후 %>
<a href = "/member/logout.jsp">[로그아웃]</a>
<a href ="/member/join_up.jsp">[회원수정]</a>
<%} %>
<%-- <%if(session_id ==null){ 위와 동일한 출력문
out.print("<a href = '/member/login.jsp'>[로그인]</a>");
out.print("<a href ='/member/join.jsp'>[회원가입]</a>");
}else{
out.print("<a href = '/member/logout.jsp'>[로그아웃]</a>");
out.print("<a href ='/member/join_up.jsp'>[회원수정]</a>");
}
%> --%>
</tr>
<tr>
<td colspan ="2" align ="center">
<a href ="/bbs/list.jsp?code=notice">[공지사항]</a>
<a href ="/bbs2/list.jsp?code=gallery">[갤러리]</a>
<a href ="/bbs2/list.jsp?code=qna">[질문&답변]</a>
</td>
</tr>
<tr>
<td colspan ="2" align ="center">
첨부파일 :
<a href ="/bbs4/list.jsp?code=notice">[공지사항]</a>
<a href ="/bbs4/list.jsp?code=gallery">[갤러리]</a>
<a href ="/bbs4/list.jsp?code=gallery">[갤러리]</a>
</td>
</tr>
<tr>
<td colspan ="2" align ="center">
한줄평 :
<a href ="/bbs5/list.jsp?code=notice">[공지사항]</a> <!-- code 값이 입력되어 있어야 이동이 가능하다. -->
<a href ="/bbs5/list.jsp?code=gallery">[갤러리]</a>
<a href ="/bbs5/list.jsp?code=qna">[질문&답변]</a>
<a href ="/bbs5/list.jsp?code=free">[자유게시판]</a>
</td>
</tr>
</table>
<hr>
<footer>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<hr>
<table border=0 width=100%>
<tr>
<td align=center >카피라이터</td>
</tr>
</table>
</body>
</html>
<본문>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file ="/include/header.jsp" %>
<table border=0 width=100%>
<tr>
<td>본문</td>
</tr>
</table>
<%@ include file ="/include/footer.jsp" %>
위 3개의 코드를 보면 header와 footer의 코드가 불완전 한것을 볼 수 있다.
(header에는 body태그를 열었지만, 닫지 않았으며, footer에서는 body태그를 열지 않고 닫기만 했다.)
그럼에도 결과물은 정상적으로 출력됨을 확인할 수 있다.
이유는 본문인 index JSP파일에서 include로 hearder와 footer와 본문을 연결 시켰기때문이다.
include를 활용하여 모든 JSP파일에 내용을 작성하는 것이 아니라 한개의 JSP파일에만 작성하여 웹페이지의 모든 곳에서 해당내용을 출력할 수 있다.
※jsp본문에서 자바를 사용하려면 스크립틀릿 <% %> 을 사용한다.
2. forward 메서드
foward 메소드는 주체 페이지에서 주소는 자기가 가지고 정보를 다른페이지에 넘겨주면서 실행도 그 페이지에서 하게 하는 것이다.
include의 반대개념에 가깝다.
예를 들어 살펴보자
<eee.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>
<h3>param 액션태그</h3>
<jsp:forward page="fff.jsp">
<jsp:param name="id" value="1111" />
<jsp:param name="pass" value="2222" />
</jsp:forward>
</body>
</html>
<fff.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>
<%
String id =request.getParameter("id");
String pass = request.getParameter("pass");
%>
id=<%=id %><br>
pass=<%=pass %>
</body>
</html>
위 결과물을 보면 주소는 eee.jsp로 되어있지만, 본문의 결과물을 보면 fff페이지이다.
'JAVA Programming > JSP' 카테고리의 다른 글
[JSP] 내장 객체 (0) | 2024.05.13 |
---|---|
[JSP] EL과 JSTL (0) | 2024.05.13 |
[JSP] 이클립스에서 웹프로젝트 및 JSP 파일 만들기 & 실행 (0) | 2024.04.26 |
JSP 기초 및 환경설정 (0) | 2024.04.24 |