ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSP 내장객체
    JSP 프로그래밍 2019. 12. 26. 23:35

     

    우선 내장객체에 대해 알아보자 번째,

     

    개발자들이 많이 사용하는 서블릿 객체들을 기본적으로

    사용할 수 있게 지정해놓은 객체를 내장객체라고 한다.

    따로 선언이나 생성하지 않아도 사용할 수 있다.

     

     

    request 내장객체에 대해 알아보자 번째,

     

    request 는 기본적으로 클라이언트의 요청 정보를 담는다.

    예제를 확인하며 알아보자.

    
    <%@ page contentType = "text/html; charset=UTF-8" %>
    
    <html>
    
    <head><title>클라이언트 및 서버 정보</title></head>
    
    <body>
    
    클라이언트 IP = <%= request.getRemoteAddr()% ><br>
    
    요청정보길이 = <%= request.getContentLength() %> <br>
    
    요청정보 인코딩 = <%= request.getCharacterEncoding() %> <br>
    
    요청정보 컨텐트 타입 = <%=request.getContentType() %> <br>
    
    요청정보 전송방식 = <%= request.getMethod() %> <br>
    
    요청정보 프로토콜 = <%= request.getProtocol() %> <br>
    
    요청 URL = <%= request.getRequestURL().toString() %> <br>
    
    요청 URI = <%= request.getRequestURI() %> <br>
    
    컨텍스트 경로 = <% = request.getContextPath() %> <br>
    
    서버 이름 = <%= request.getServerName() %> <br>
    
    서버 포트 = <%= request.getServerPort() %> <br>
    
    </body>
    
    </html>

     

     

    HTML form 데이터와 요청 피라미터에 관련된 메소드를 알아보자 번째,

     

    바로 아래의 예제를 확인하면서 알아보자.

    순서대로 작성하면 된다.

    <!-- 저장 위치는 c/web/requestEx.jsp -->
    <%@ page contentType = "text/html; charset=UTF-8" %>
    <html>
    <head>
    <title>폼 생성</title>
    </head>
    
    <body>
    폼에 데이터를 입력하고 '전송' 버튼을 클릭하세요.
    
    <!-- parameter 를 viewParameter.jsp 에게 post 방식으로 전송 -->
    <form action = "viewParameter.jsp" method = "post">
    
    <!-- 여기서 name = "" 이게 파리미터 이름이다, 이 이름으로 전달된다. -->
    이름 : <input type = "text " name ="name" size = "10"> <br><br>
    주소 : <input type = "text" name ="address" size = "30"> <br><br>
    
    <!-- 여기서 파라미터 이름 이렇게 동일하게 맞춰주면 자동으로 그룹으로 만들어진다. -->
    좋아하는 동물 : 
    <input type = "checkbox" name = "pet" value = "dog">강아지
    <input type = "checkbox" name = "pet" value = "cat">고양이
    <input type = "checkbox" name = "pet" value = "pig">돼지
    <br><br>
    
    <!-- input type 가 submit 이면 체크하고 적은 파라미터가 전송된다. -->
    <input type="submit" value = "전송">
    </form>
    </body>
    </html>
    

     

    <!-- c/web/viewParameter.jsp -->
    
    <!-- 지시어 (contentType , import) 사용.-->
    <%@ page contentType = "text/html; charset=UTF-8" %>
    <%@ page import="java.util.Enumeration"%>
    <%@ page import="java.util.Map"%>
    
    <!-- Encoding setting -->
    <%
    request.setCharacterEncoding("UTF-8");
    %>
    
    <html>
    <head>
    <title>요청 파라미터 출력</title>
    </head>
    
    <body>
    
    <!-- 파라미터 이름을 통해 정보를 가져오는 메소드 -->
    <b>request.getParameter() 메소드 사용 </b><br><br>
    name 파라미터 = <%= request.getParameter("name")%> <br><br>
    address 파라미터 = <%= request.getParameter("address") %>
    <br><br><br><br>
    
    <!-- 파라미터 이름이 pet 인 모든 피라미터 값을 배열로 가져오는 메소드 -->
    <b>request.getParameterValues() 메소드 사용 </b><br><br>
    <%
    String[] values = request.getParameterValues("pet);
    if(values != null) {
    for(int i = 0; i < values.length; i++;) {
    %>
    pet 파라미터 <%= values[i] %>
    <%
    }
    }
    %>
    <br><br><br><br>
    
    <!-- 파라미터 이름을 모를 때 파라미터의 이름을 가져오는 메소드 -->
    <b>request.getParameterNames() 메소드 사용 </b><br><br>
    <%
    <!-- Enumeration 은 열거형 무한데이터 , Elements 가 더 이상 없을 때 까지 가져온다.-->
    Enumeration enumData = request.getParameterNames();
    while(enumData.hasMoreElements()){
    String name = (String)enumData.nextElement();
    %>
    <%= name %>
    <%
    }
    %>
    <br><br><br><br>
    
    <!-- 피라미터 이름이 name 인 모든 피러미터 값을 Map 형식으로 가져온다 -->
    <b>request.getParameterMap() 메소드 사용 </b><br><br>
    <%
    Map parameterMap = request.getParameterMap();
    String[] nameParam = (String[])ParameterMap.get("name");
    if(nameParam != null){
    %>
    name = <%= nameParam[0] %>
    <%
    }
    %>
    </body>
    </html>
    

     

    'JSP 프로그래밍' 카테고리의 다른 글

    JSP JavaBeans  (0) 2019.12.28
    JSP Action Tag (include)  (0) 2019.12.28
    JSP Action Tag (forward)  (0) 2019.12.28
    JSP 지시어 , 에러처리  (0) 2019.12.23
    JSP 시작하기  (0) 2019.12.23

    댓글

Designed by Tistory.