728x90
pageContext 객체
javax.servlet.jsp.PageContext 클래스를 상속해 웹 컨테이너가 JSP 실행 시 자동으로 생성해서 제공하는 내장 객체
<a> 태그를 이용해 다른 서블릿이나 JSP를 요청하는 방법
컨텍스트 이름(pro14)을 직접 입력하는 방법
<a href="/pro14/test01/memberForm.jsp"> 회원 가입하기</a>
getContextPath( ) 메서드를 이용해 컨텍스트 이름을 가져오는 방법
<a href="<%=request.getContextPath() %>/test01/memberForm.jsp">회원 가입하기</a>
첫 번째 방법은 컨텍스트 이름(pro14)이 바뀌면 일일이 찾아서 수정해야 한다는 단점이 존재
두 번째 방법은 자바 코드가 사용되므로 화면 작업이 복잡해진다는 단점이 존재
pageContext 객체의 속성인 request의 contextPath 속성을 이용하면 쉽게 컨텍스트 이름을 가져올 수 있음
1. login.jsp 파일 작성
<%-- login.jsp --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
isELIgnored="false" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인창</title>
</head>
<body>
<form action="result.jsp">
아이디 : <input type="text" size=20 /><br>
비밀번호: <input type="password" size=20 /><br>
<input type="submit" value="로그인" /> <input type="reset" value="다시입력" />
</form>
<br><br>
<%-- <a href="http://localhost:8090/pro14/test01/memberForm.jsp">회원가입하기</a> --%> <%-- 직접 컨텍스트 이름을 입력해 요청 --%>
<%-- <a href="<%=request.getContextPath() %>/test01/memberForm.jsp">회원가입하기</a> --%> <%-- request의 getContextPath() 메서드를 이용해 컨텍스트 이름을 가져옴 --%>
<a href="${pageContext.request.contextPath}/test01/memberForm.jsp">회원가입하기</a> <%-- 자바 코드를 사용하지 않고 pageContext의 속성인 request 하위의 contextPath 속성으로 컨텍스트 이름을 가져옴 --%>
</body>
</html>
2. http://localhost:8090/pro14/test01/login.jsp로 로그인창 요청 후 회원가입하기를 클릭
그러면 아래와 같이 회원가입 창으로 이동한다.
728x90
'웹 개발 기초 > 자바 웹을 다루는 기술' 카테고리의 다른 글
JSP에서 파일 업로드 (0) | 2023.03.02 |
---|---|
빈 사용 실습 (0) | 2023.03.01 |
requestScope 사용 실습 (0) | 2023.03.01 |
param 내장 객체 사용 실습 (0) | 2023.03.01 |
표현 언어 내장 객체(내장 변수) 종류 (0) | 2023.03.01 |