getattribute~~setattribute~~
4가지?
요청된 정보가 다가는 것이 forward
내장객체들
 
 
 ---PetsInput.html
<HTML>
    <HEAD>
        <META http-equiv="Content-Type" content="text/html;charset=euc-kr">
        <TITLE>아이 러브 펫</TITLE>
    </HEAD>
    <BODY>
        <FORM ACTION=PetsResult.jsp>
          아이디: <INPUT TYPE=TEXT NAME=ID><BR><BR>
          다음 중 회원님이 키우고 있는 애완 동물을 선택하십시오.<BR><BR>
            개<INPUT TYPE=CHECKBOX NAME=ANIMAL VALUE="개">
            고양이<INPUT TYPE=CHECKBOX NAME=ANIMAL VALUE="고양이">
            금붕어<INPUT TYPE=CHECKBOX NAME=ANIMAL VALUE="금붕어"><BR><BR>
          <INPUT TYPE=RESET VALUE="취소">
          <INPUT TYPE=SUBMIT VALUE="확인">
        </FORM>
    </BODY>
</HTML>
<!-- 실행결과 아이디 입력값과
체크한 값이 출력된다. -->
---PetsResult.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%
	request.setCharacterEncoding("EUC-KR");
%>
아이디 : ${param.ID}<br/>
선택한 동물 : ${paramValues.ANIMAL[0]}
			${paramValues.ANIMAL[1]}
			${paramValues.ANIMAL[2]}
--- CookieDataWriter.jsp
<%@page contentType="text/html; charset=euc-kr" %>
<%
    Cookie cookie = new Cookie("NAME", "John");
    response.addCookie(cookie);
%>
<HTML>
    <HEAD><TITLE>쿠키 데이터 저장 프로그램</TITLE></HEAD>
    <BODY>
		쿠키 값이 설정되었습니다.
		<a href="CookieDataReader.jsp">쿠키값 확인</a>
    </BODY>
</HTML>
--- CookieDataReader.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%
	request.setCharacterEncoding("EUC-KR");
%>
NAME 쿠키 데이터의 값은? ${cookie.NAME.value}<br/>
요청 URL: ${pageContext.request.requestURI}<br/>
요청 URL: ${pageContext.request.requestURL}<br/>
	<h1>호스트 위치까지</h1>
--- Operators.jsp
<%@page contentType="text/html; charset=euc-kr" %>
<HTML>
    <HEAD><TITLE>익스프레션 언어 연산자 연습</TITLE></HEAD>
    <BODY>
    	
        X = ${param.NUM1}, Y = ${param.NUM2} <BR><BR>    	  
        X + Y = ${param.NUM1 + param.NUM2} <BR>
        X - Y = ${param.NUM1 - param.NUM2} <BR>
        X * Y = ${param.NUM1 * param.NUM2} <BR>
        X / Y = ${param.NUM1 / param.NUM2} <BR>
        X % Y = ${param.NUM1 % param.NUM2} <BR><BR>
        X가 더 큽니까? ${param.NUM1 - param.NUM2 > 0} <BR>
        Y가 더 큽니까? ${param.NUM1 - param.NUM2 < 0} <BR><BR>
        X와 Y가 모두 양수입니까? ${(param.NUM1 > 0) && (param.NUM2 > 0)} <BR><BR>
        X와 Y가 같습니까? ${param.NUM1 == param.NUM2? "예" : "아니오"} <BR> <BR>
    </BODY>
</HTML>
--- 결과보기위한작업
http://localhost/photo/EL/pest/Operators.jsp?NUM1=10&NUM2=5
-- 결과
X = 10, Y = 5 
X + Y = 15 
X - Y = 5 
X * Y = 50 
X / Y = 2.0 
X % Y = 0 
X가 더 큽니까? true 
Y가 더 큽니까? false 
X와 Y가 모두 양수입니까? 
true 
X와 Y가 같습니까? 아니오 
---- CharOperators.jsp
<%@page contentType="text/html; charset=euc-kr" %>
<HTML>
    <HEAD><TITLE>익스프레션 언어 연산자 연습</TITLE></HEAD>
    <BODY>
        ${param.NUM1}을 ${param.NUM2}로 나눈 몫은? ${param.NUM1 div param.NUM2} <BR> <!-- div / 나누기-->
        나머지는? ${param.NUM1 mod param.NUM2} <BR><BR> <!-- mod % 나머지 -->
        둘 다 양수입니까? ${(param.NUM1 gt 0) and (param.NUM2 gt 0)} <BR>
        둘 다 음수입니까? ${(param.NUM1 lt 0) and (param.NUM2 lt 0)} <BR>
    </BODY>  <!-- < > <= >= lt gt le ge, == != eq ne-->
</HTML>
---Winners.jsp
<%@page contentType="text/html; charset=euc-kr"%>
<%
    String winners[] = new String[3];
	// int i [] = new int[5];
    winners[0] = "이수현";
    winners[1] = "정세훈";
    winners[2] = "김진희";
    request.setAttribute("WINNERS", winners);// 값을저장
    
    RequestDispatcher dispatcher = request.getRequestDispatcher("WinnersView.jsp");
    
    dispatcher.forward(request, response); 
%>
---WinnersView.jsp
<%@page contentType="text/html; charset=euc-kr"%>
<HTML>
    <HEAD><TITLE>우승자 명단</TITLE></HEAD>
    <BODY>
        <H3>우승자 명단</H3>
        1등. ${WINNERS[0]} <BR>
        2등. ${WINNERS[1]} <BR>
        3등. ${WINNERS[2]} <BR>
    </BODY>
</HTML>
--- Fruits.jsp
<%@page contentType="text/html; charset=euc-kr"%>
<%@page import="java.util.*" %>
<%
    ArrayList<String> items = new ArrayList<String>();
    items.add("딸기");
    items.add("오렌지");
    items.add("복숭아");
    request.setAttribute("FRUITS", items);
    
    RequestDispatcher dispatcher = request.getRequestDispatcher("FruitsView.jsp");
    
    dispatcher.forward(request, response); 
%>
--- FruitsView.jsp
<%@page contentType="text/html; charset=euc-kr"%>
<HTML>
    <HEAD><TITLE>인기 상품 목록</TITLE></HEAD>
    <BODY>
        <H3>이달에 가장 많이 팔린 과일입니다.</H3>
        1위. ${FRUITS[0]} <BR>
        2위. ${FRUITS[1]} <BR>
        3위. ${FRUITS[2]} <BR>
    </BODY>
</HTML>
--- ProductInfo.jsp
<%@page contentType="text/html; charset=euc-kr"%>
<%@page import="el.ProductInfo" %>
<%
    ProductInfo product = new ProductInfo();
    product.setName("초코케이크 3호");
    product.setPrice(20000);
    request.setAttribute("PRODUCT", product);
    RequestDispatcher dispatcher = request.getRequestDispatcher("ProductInfoView.jsp");
    dispatcher.forward(request, response); 
%>
 
---ProductInfoView.jsp
<%@page contentType="text/html; charset=euc-kr"%>
<HTML>
    <HEAD><TITLE>상품 정보</TITLE></HEAD>
    <BODY>
        <H3>상품 정보</H3>
        상품명: ${PRODUCT.name} <BR>
        가격: ${PRODUCT.price}원 <BR>
    </BODY>
</HTML>
----
web.xml은???
없으면 복사해서 사용 D폴트로
web.xml의 추가기능(잘만든틀을 가지고 만들고, 문법을 만드는데 쓰이고,
회사간 표준을 정한다.)
  <jsp-config>
  	<taglib>
    <taglib-uri>http://localhost/photo/math-functions.tld</taglib-uri>
    // 호스트   프로젝트이름 // tlds저장된이름
    <taglib-location>tlds/math-functions.tld</taglib-location>
//폴더명//.tld
  	</taglib>
  </jsp-config>
--- SquareRoot.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@taglib prefix="m" uri="http://localhost/photo/math-functions.tld" %>
 <%
	request.setCharacterEncoding("EUC-KR");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>제곱근 구하기</title>
</head>
<body>
	${param.NUM }의 제곱근은?${m:squareroot(param.NUM) }
</body>
</html>
 -- 실행 : http://localhost/photo/EL/pest/SquareRoot.jsp?NUM=400
400의 제곱근은?20.0
--- Sigma.jsp
<%@page contentType="text/html; charset=euc-kr"%>
<%@taglib prefix="m" uri="/math-functions.tld"%>
<HTML>
    <HEAD><TITLE>주어진 범위의 합 구하기</TITLE></HEAD>
    <BODY>
        ${param.NUM1}부터 ${param.NUM2}까지의 합은? <BR><BR>
        답: ${m:total(param.NUM1, param.NUM2)} 
    </BODY>
</HTML>
 --- 실행 http://localhost/photo/EL/pest/Sigma.jsp?NUM1=1&NUM2=14
결과 :  1부터 14까지의 합은? 
답: 105 
-- math-functions.tld
<taglib xmlns="http://java.sun.com/xml/ns/javaee" version="2.1">
    <tlib-version>1.0</tlib-version>
    <short-name>math</short-name>
    <function>
        <name>squareroot</name>
        <function-class>java.lang.Math</function-class>
        <function-signature>double sqrt(double)</function-signature>
    </function>
    <function>
        <name>total</name>
        <function-class>el.MyMath</function-class>
        <function-signature>int sum(int, int)</function-signature>
    </function>
</taglib>