Spring
2023.03.02
연을
2023. 3. 2. 17:30
728x90
JSP 내장 객체(Built-in Object) | ||||
입출력 | 서블릿 | 실행환경정보 | 예외상황발생정보 | |
out | page | session | exception | |
request | config | application | ||
response |
pageContext |
out : out print()
request : HttpServletRequest req
getParameter()
getParameterValues()
getParameterNames()
<코드>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
컨텍스트 패스(path): <%= request.getContextPath() %><br>
요청방식: <%= request.getMethod() %><br>
요청한 URL: <%= request.getRequestURL() %><br>
요청한 URI: <%= request.getRequestURI() %><br>
서버의 이름: <%= request.getServerName() %><br>
프로토콜: <%= request.getProtocol() %><br>
</body>
</html>
<결과>
<코드>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
이름:<% out.print(request.getParameter("name")); %><br>
번호:<% out.print(request.getParameter("mobile")); %><br>
</body>
</html>
<결과>
<코드> : request
test
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
<form action="/test1" method="post">
이름:<input type=text name=name><br>
번호:<input type=text name=mobile><br>
<input type=submit value="전송">
<input type=reset value='취소'>
</form>
</body>
</html>
test1
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
이름:<% out.print(request.getParameter("name")); %><br>
번호:<% out.print(request.getParameter("mobile")); %><br>
</body>
</html>
<결과>
/test | 전송누르면 |
![]() |
![]() |
<코드> : response
homecontroller
//추가
@GetMapping("/testx")
public String doTestx() {
return "testx";
}
test1
//추가
<a href="/testx">test로 돌아가기</a>
testx : testx를 만든다.
<% response.sendRedirect("/test");%>
<결과>
test1 | test로 돌아가기 누르면 |
![]() |
![]() |
<코드>
test
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
<form action="/test1" method="post">
이름:<input type=text name=name value="<%=request.getParameter("name") %>"><br>
번호:<input type=text name=mobile value="<%=request.getParameter("mobile") %>"><br>
<input type=submit value="전송">
<input type=reset value='취소'>
</form>
</body>
</html>
test1
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
이름:<% out.print(request.getParameter("name")); %><br>
번호:<% out.print(request.getParameter("mobile")); %><br>
<a href="/testx?name=<%=request.getParameter("name")%>&mobile=<%=request.getParameter("mobile")%>">test로 돌아가기</a>
</body>
</html>
testx
<% response.sendRedirect("/test?name="+request.getParameter("name")+"&mobile="+request.getParameter("mobile"));%>
<결과>
/test화면 | 전송버튼누르면 | test로 돌아가기 누르면 |
![]() |
![]() |
![]() |
<코드>
testx
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<% //response.sendRedirect("/test?name="+request.getParameter("name")+"&mobile="+request.getParameter("mobile"));
request.setAttribute("name",request.getParameter("name"));
request.setAttribute("mobile",request.getParameter("mobile"));
RequestDispatcher dispatcher = request.getRequestDispatcher("/test");
dispatcher.forward(request,response);
%>
<결과>
/test | /test1 | /testx |
![]() |
![]() |
![]() |
둘다 GET방식이다
<코드>
firstpage
<%@ 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>
<%
pageContext.setAttribute("name","page man");
request.setAttribute("name","request man");
session.setAttribute("name","session man");
application.setAttribute("name","application man");
System.out.println("first page");
System.out.println(pageContext.getAttribute("name"));
System.out.println(request.getAttribute("name"));
System.out.println(session.getAttribute("name"));
System.out.println(application.getAttribute("name"));
request.getRequestDispatcher("/second").forward(request,response);
%>
</body>
</html>
secondpage
<%@ 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>
하나의 페이지속성:<%=pageContext.getAttribute("name") %><br>
하나의 요청속성:<%=request.getAttribute("name") %><br>
하나의 세션속성:<%=session.getAttribute("name") %><br>
하나의 어플리케이션속성:<%=application.getAttribute("name") %><br><br>
<a href="/third">세번째 페이지</a>
</body>
</html>
thirdpage
<%@ 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>
하나의 페이지속성:<%=pageContext.getAttribute("name") %><br>
하나의 요청속성:<%=request.getAttribute("name") %><br>
하나의 세션속성:<%=session.getAttribute("name") %><br>
하나의 어플리케이션속성:<%=application.getAttribute("name") %>
</body>
</html>
<결과>
/first | /third | pageContext : 그 페이지 안에서만 사용가능(넘겨줄 수 없다) request : 앞페이지에서 뒷페이지로 넘겨줄때만 사용가능 session : 세션이 유지되는 동안 사용가능 application : 전체 |
![]() |
![]() |
<% RequestDispatch rd = request.getRequestDispatcher("URL"); request.setAttribute("A","..."); request.setAttribute("B","..."); rd.forward(request,response); %> |
<jsp:forward page="URL"> <jsp:param name="A" value="..."/> <jsp:param name="B" value="..."/> </jsp:forward> |
|
<jsp:forward page="/login"> <jsp:param name="loginid" value="<%=request.getParameter("name")%>"/> <jsp:param name="pwd" value="<%=request.getParameter("passcode")%>"/> </jsp:forward> |
||
<%2 page include="head.jsp" %> | <jsp:include page="head.jsp"/> |
<jsp:userBean name="java class"> |
<jsp:setProperty name="..." value="..." /> |
<jsp:getProperty name="..." value="..." /> |
JSTL Core Tag | ||
<c:set> | 변수값 설정 | <c:set var="i" value="0" scope="page/request/session/application"> |
<c:remove> | 변수값 지우기 | <c:remove var="i"> |
<c:if> |
<% if(request.getParameter("color").equals("1"){ %> <span style="color:red;">빨강</span> <%} else if(request.getParameter("color").equals("2")){ %> <span style="color:blue;">파랑</span> <%} else { %> <span style="color:green;">초록</span> <% } %> |
<c:if test="${param.color==1}> <span style="color:red">빨강</span> </c:if> <c:if test="${param.color==2}> <span style="color:blue">파랑</span> </c:if> <c:if test="${param.color==3}> <span style="color:green">초록</span> </c:if> |
<c:choose> <c:when test="${param.color==1}"> <span style="color:red">빨강</span> </c:when> <c:when test="${param.color==2}"> <span style="color:blue">파랑</span> </c:when> <c:otherwise> <span style="color:green">초록</span> </c:otherwise> </c:choose> |
<% for(int i=0;i<10;i++){ out.print(i); } %> |
<% String[] i ={0,1,2,3,4,5,6,7,8,9} pageContext.setAttribute("i",i); %> <c:forEach var="x" items="i"> <c:out var="x"> / <% out.print(x); %> / <%=x %> </c:forEach> |
<%@ page import="java.util.SimpleDateFormat" %> | <c:import url="java.util.SimpleDateFormat"/> |
${} request.getParameter("name") <% if(request.getParameter("name")=="yeon" %> |
${param.name} <c:if test ="${param.name=="yeon"}"> |
<c:forEach> ${x} |
jsp 내장객체 in scriptlet | jsp 내장객체 in 표현언어 |
request.getParameter("name") | ${param.name} |
application.getParameter("name") | ${applicationScope.name} |
pageContest.getParameter("name") | ${pageScope.name} |
session.getParameter("name") | ${sessionScope.name} |

하나도 모르겟군 염병
728x90