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