JSP 기본 객체

[request]
  •  root directory 접근
    • <%= request.getContextPath() %>
  • 클라이언트 IP
    • request.getRemoteAddr()
  • 요청정보 길이 
    • request.getContentLength()
  • 요청정보 인코딩
    • request.getCharcterEncoding()
  • 요청정보 문서 타입
    • request.getContenctType()
  • 요청정보 전송 방식
    • request.getMethod()
  • 요청 URL
    • request.getRequestURL()
  • 요청 URI
    • request.getRequestURI()
  • 컨텍스트 경로
    • request.getContextPath()
  • 서버이름
    • request.getServerName()
  • 서버포트
    • request.getServerPort()"
-------------------
[form tag]
<body>  //호출하는 JSP
    <form action="ex02-reqult.js">
        <input type="text" name="name" placeholder="문자열입력">
        <input type="submit" value="전송">
    </form>
</body>

<body> //호출받는 JSP, defulat get 방식이기 때문에 요청 url에 값이 들어감.
<%
        String name = request.getParameter("name");
        System.out.println("전송받은 값:" + name);

        if(name.equals("원빈")){
%>
        <%= name %>님 환영합니다.
<%   }else{ %>
        누구세요?
<%   } %>
</body>
----------------
[post form]
<body>
        <form action="ex03-result.jsp" method="post">
            <input type="text" name="n1">+<input type+"text" name="n2">
            <input type="submit" value="계산">
        </form?
</body>

<body>
<%
        String n1Str = request.getParameter("n1");
        String n2Str = request.getParameter("n2");
        int n1 = Integer.parseInt(n1Str);
        int n2 = Integer.parseInt(n2Str);
        int result = n1 + n2;
>%
        <h2>덧셈 결과</h3>
        <h3><%= n1 %> + <%= n2 %> = <%= result %></h3>
</body>
--------------------
[Text checkBox]
<body>
폼에 데이터 입력 후 전송버튼 클릭.
<form action="ex04-result.jsp" method="post">
        <input type="text" name="name" placeholder="이름"><br>
        <input type="text" name="address" placeholder="이름"><br>
        좋아하는 동물<br>
        <input type="checkbox" name="pet" value="dog">강아지<br>
        <input type="checkbox" name="pet" value="cat">고양이<br>
        <input type="checkbox" name="pet" value="shark">상어<br>
        <input type="submit" value="전송">
</form>
</body>
<% <!-- 첫번째 방법 -->
        request.setCharacterEncoding("utf-8"); //한글을 입력시 깨지지 않게 하기 위함
        String name = request.getParameter("name");
        String address = request.getParameter("address");
        String[] pets = request.getParameterValues("pet");

        System.out.println("name:" + name);
        System.out.println("address:" + address);
        for(String pet : pets){
            System.out.println("pet:" + pet);
        }
%>

<% <!--두번째 방법-->
        request.setCharacterEncoding("utf-8"); //한글을 입력시 깨지지 않게 하기 위함
        Map paramMap = request.getParameterMap();
        String[] paramName = (String[])paramMap.get("pet");
        for(String param : paramName){
            System.out.println("param:" + param);
        
%>

<!-- 참고 -->






-----------------------------
[요청 헤더 정보]
<body>
<%
        Enumeration enumData = request.getHeaderNames();
        while(enumData.hasMoreElements()){
            String headerName = (String}enumData.nextElement();
            String headerValue = request.getHeader(headerName);
            System.out.println(headerName + ":" + headerValue);
        }
-----------------------------
[Send Redirect (리다이렉트)]
<body>
구글로 이동
<%
        response.sendRedirect("https://www.google.com/");
%>
</body>


-----------
[처리 결과에 따른 redirect with getContextPath()]
<body>
<form action="ex06-result.jsp" method="post">
        <input type="text" name="userid" placeholder="아이디"><br>
        <input type="password" name="userpw" placeholder="패스워드"><br>
        <input type="submit" value="로그인">
</form>
</body>
        

<%
        String userid = request.getParameter("userid");
        String userpw = request.getParameter("userpw");

        if(userid.equals(userpw)){
            System.out.println(userid + ":로그인 성공!");
            response.sendRedirect(request.getContextPath()); //최상의 요청으로 리다이렉트
        }
        else {
            System.out.println(userid + ":로그인 실패!");
            response.sendRedirect("ex06-loginForm.jsp"); //로그인 실패시 페이지 유지
        }
%>
---------------------------
[pageContext]
<body>
<%
        HttpServletRequest httpRequest = (HttpServletRequest) pageContext.getRequest();
        if(request == httpRequest){
            System.out.println("같음");
        }
        pageContext.getOut().println("브라우저로 내보내는 데이터");
%>
</body>

------------------------
[초기화 파라미터 및 application 객체 사용, getInitParameterNames()]
web.xml 파일에 기재
<!-- 초기화 파라미터 설정(initParam) -->
<context-param>
        <param-name>param1</param-name>
        <param-value>value1</param-value>
</context-param>                
<context-param>
        <param-name>param2</param-name>
        <param-value>value2</param-value>
</context-param>  

jsp 파일에서 기재
<body>
<%
        Enumeration enumData = application.getInitParameterNames();
        while(enumData.hashMoreElements()){
            String initParamName = (String)enumData.nextElement();
            String initParamValue = application.getInitParameter(initParamName);
            System.out.println(initParamName = ":" + initparamValue);
        }
%>
application 객체 예제  <br>
초기화 파라미터 확인 <br>
서버정보: <%= application.getServerInfo() %> <br>
서블릿 메이저 버전: <%= application.getMajorVersion() %> <br>
서블릿 마이너 버전: <%= application.getMinorVersion() %> <br>
</body>


----------------------------------
[버퍼 예제]
<body>
<%
        int bufferSize = out.getBufferSize();
        int remainSize = out.getRemaining();
        int usedSize = bufferSize - remainSize;
        System.out.printon("전체 버퍼의 크기:" + bufferSize + "byte");
        System.out.printon("사용한 버퍼의 크기:" + usedSize + "byte");
        System.out.printon("남은 버퍼의 크기:" + remainSize + "byte");
%>
버퍼예제 <br>
남은 버퍼: <% out.println(remainSize); %.byte
</body>







댓글

이 블로그의 인기 게시물

테스트용 cctv 데이터

css form 태그

jsp를 변환하는 서블릿(servlet) 개념 및 임시 폴더 경로