티스토리 뷰

Web Dev/JSP

[JSP] 기초

ezBuilder 2013. 4. 17. 16:37
반응형

 ASP

JSP 

 <%@LANGUAGE="VBSCRIPT" CODEPAGE=65001%>

 <%@ page contentType = "text/html; charset=UTF-8"%>

 <!--#include virtual="test.asp"-->

 <jsp:include page="test.jsp" flush="true"/>

 request

 request 
 response

 response

 session

 session 

 response.redirect = "location"

 response.sendRedirect(location)

 server.URLEncode("한글")

 URLEncoder.encode("한글","UTF-8");

 instr(str,"test")

 str.indexOf("test");
 mid(str, 0, 1)

 str.substring(0,1); 

 str1 = str2

 str1.equals(str2); 

 ucase(str)

 str.toUpperCase();

 lcase(str)

 str.toLowerCase();

 ubound(split)

 split.length;

   
   
   
   
   
   
   

JSP

 <%@ %>   페이지 디렉티브
 <% %>  스크립트릿 

 <%! %>

 선언부

 <%=%>

 표현식 

 <%@ page import = "java.util.Date %>  날짜 클래스 삽입.
 <%@ page trimDirectiveWhitespaces = "true"%>  html생성시 상단 공백제거.

 <%=out.getBufferSize()%>

 설정된 버퍼 크기를 구한다. 

 <%=out.getRemaining%>

 버퍼의 남은 크기를 구한다.

 <%=out.isAutoFlush%>

 autoFlush 속성값을 구한다.

 <%=application.getServerInfo()%>

 서버정보를 구한다. 

 <%=application.getMajorVersion%>

 서블릿 규약 메이저 버전을 구한다. 
 <%=application.getMinorVersion%>  서블릿 규약 마이너 버전을 구한다. 

 <%=application.getRealPath(path)%>

 시스템상의 자원경로 리턴.

 <%=application.getResource(path)%>

 자원에 접근할 수 있는 URL객체 리턴.

 <%=application.getResourceAsStream(path)%>  데이터를 읽어올 수 있는 InputStream 리턴 .
 <% log("로그 메시지") %>  로그 메시지를 기록한다.

request

메서드 

리턴

설명 

 getRemoteAddr()

 String

 클라이언트 IP주소 구하기 

 getContentLength()  long 

 클라이언트 전송 요청 정보의 길이, 알수 없을 경우 -1 리턴.

 getCharacterEncoding()

 String

 클라이언트 캐릭터의 인코딩 구하기 
 getContentType()  String 

 클라이언트가 요청 정보 전송시 사용한 컨텐트 타입( text/html 등 ) 

 getProtocol()  String 

 클라이언트가 요청한 프로토콜 구하기 ( HTTP/1.1 )

 getMethod()  String 

 웹브라우저의 정보전송시 사용한 방식 구하기 ( GET 또는 POST ) 

 getRequestURI()  String 

 웹브라우저가 요청한 URL경로 구하기 ( /test/test.jsp )

 getContextPath()

 String 

 JSP페이지가 속한 컨텍스트 경로 구하기 ( 서버상의 실제 위치 )

 getServerName()  String

 도메인명 ( localhost 또는 domain.com 등 )

 getServerPort()  int

 서버포트 ( 기본 80 )

 getParameter(S.name)

 String 

 파라미터의 값을 구한다.

 getParameterValues(S.name)  String[] 

 배열을 받을 때 사용한다.

 getParameterName(S.name)

 Enumeration 

 웹브라우저가 전송한 파라미터의 이름을 구한다. 

 getParameterMap(S.name)

 Map 

 웹브라우저가 전송한 파라미터의 맵을 구한다. (이름, 값)  
 getHeader(S.name)  String

 지정한 이름의 헤더 값을 구한다.

 getHeaders(S.name)

 Enumeration 

 지정한 이름의 헤더 목록을 구한다. 
 getHeaderName()   Enumeration 

 모든 헤더의 이름을 구한다. 

 getIntHeader(S.name)

 int  지정한 헤더의 값을 정수 값으로 읽어온다. 
 getDateHeader(S.name)

 long 

 지정한 헤더의 값을 시간 값으로 읽어온다.( 1970.1.1 이후 1/1000초 단위 ) 

response

 메서드

리턴

설명 

 addDateHeader(S.name, l.date)  void

 name헤더에 date를 추가.( 1970.1.1 이후 1/1000초 단위 )

 addHeader(S.name, S.value)  void 

 name헤더에 value 값 추가.

 addIntHeader(S.name, i.value)

 void 

 name헤더에 정수 값 추가.

 setDateHeader(S.name, l.date) 

 void   name헤더의 값을 date값으로 지정.( 1970.1.1 이후 1/1000초 단위 ) 
 setHeader(S.name, S.value)

 void 

 name헤더의 값을 value로 지정. 

 setIntHeader(S.name, i.value)

 void 

 name헤더의 값을 정수 값으로 지정 

 containsHeader(S.name)

 boolean 

 이름이 name인 헤더 포함여부 확인. 

     

※ 인코딩
     <%@ page import = "java.net.URLEncoder">
     <%
          String encodeVal = URLEncoder.encode("한글","UTF-8");
     %>

※ 브라우저 캐시 사용 금지
    <%
         response.setHeader("Pragma", "no-cache");
         response.setHeader("Cache-Control", "no-cache");
         response.setHeader("Cache-Control", "no-store"); // FF 버그 픽스용
         response.setDateHeader("Expires", 1L);

    %>

톱캣서버에서 GET을 받을 때 문자열 깨짐 방지를 위해 server.xml파일 수정하기 첫번째 방법
    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"
      useBodyEncodingForURI="true"/>
     이후 JSP페이지에 request.setCharacteEncoding("UTF-8"); 삽입.

톱캣서버에서 GET을 받을 때 문자열 깨짐 방지를 위해 server.xml파일 수정하기 두번째 방법
    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"
     useBodyEncodingForURI="true" URIEncoding="UTF-8"/>
      위의 경우 JSP페이지에 request.setCharacteEncoding("UTF-8"); 필히 지정해줘야 한다.

전송방식 확인하기 - 폼값 저장시 꼭 POST여부 확인하도록!
   
request.getMethod().equals("POST")
    request.getMethod().equals("GET")

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함