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>







+ Recent posts