-
JSP의 코드 블록 및 내장 객체JSP, Servlet 2021. 12. 16. 01:42
JSP를 이용한 자바 웹 프로그래밍
JSP를 이용해 서블릿을 좀 더 쉽게 개발
처음이자 마지막으로 out.print 이용해서 노가다를 했었는데
이제는 JSP에게 일을 시키면 됨 -> 확장자를 .jsp로 설정
사용자가 .jsp 파일을 실행할 때 서블릿 코드로 바꿔줌
url-mapping은 파일명으로 됨
파일을 실행했을 때 브라우저가 보는 문서는
파일이 톰캣 배포 디렉토리에 옮겨진 것
jsp 파일에서 변수를 선언하고 싶을 때는
<%
int x = 3;
int y = 4;
%>
처럼 코드 블록에 입력해야 함
JSP의 코드 블록
jsp 파일에
y = x + 3; 을 입력하면 그대로 화면에 출력됨
<%
y = x + 3;
%>
으로 입력해야 실행됨
y의 값은 : <%=y %> 라고 입력해야 y의 값이 출력됨
<%
public int sum(int a, int b) {
return a + b;
}
%>
라고 작성하게 되면 에러가 남. 메소드 안에 메소드를 쓸 수 없음. -> 구문 에러 발생
<%! 이렇게 느낌표를 붙여주면 됨
public int sum(int a, int b) {
return a + b;
}
%>
<%@ 초기 설정을 위한 Page 지시자%> , 지시 블록
<%@ page language="java" contentType="test/html; charset=utf-8" pageEncoding="utf-8"%>
JSP 내장객체 간략히 들여다보기
코드 블록의 내장 객체
<%int page = 1; %> : 오류. 중복되는 변수 이름 사용 불가능.
ex) pageContext, session, application, config, out
내장 객체
- request : HttpServletRequest
getParameterNames() : 사용자가 전달한 키들을 Enumeration 객체로 반환
getParameter(name) : 사용자가 전달한 name과 일치하는 값을 반환
getParameterValues(name) : 사용자가 전달한 name과 일치하는 값을 배열 형식으로 반환
getCookies() : 클라이언트에서 전달한 쿠키를 배열 형식으로 반환
getMethod() : 현재 요청방식이 GET인지 POST인지를 문자열로 반환
getSession() : 현재 세션 객체를 반환
getRemoteAddr() : 클라이언트의 IP 주소를 반환
getProtocol() : 현재 서버의 프로토콜을 문자열로 반환
setCharacterEncoding() : 현재 JSP로 전달되는 내용을 지정한 문자셋으로 변환
getHeaderNames() : 현재 요청이 가지는 헤더의 이름들을 반환
getHeaders(name) : 현재 요청한 헤더에서 지정한 이름의 모든 값들을 반환
getQueryString() : 현재 요청에 포함된 쿼리문자열을 반환
- response : HttpServletResponse
setContentType(type) : 컨텐트 형식을 설정
setHeader(name, value) : 클라이언트에게 헤더로 전달할 값을 설정
setDateHeader(name, date) : 클라이언트에게 헤더로 전달할 날짜를 설정
sendError(status, msg) : 클라이언트에게 에러코드와 메세지를 전달
sendRedirect(url) : 클라이언트 요청을 다른 페이지로 전달
addCookie(cookie) : 클라이언트에게 전달할 쿠키를 설정
encodeURL(url) : URL로 유효하지 않은 문자를 인코딩
setStatus(sc) : 상태 코드를 설정
- out : javax.servle.jsp.JspWriter
getBufferSize() : output buffer의 크기를 byte로 알려줌
getRemaining() : 남아있는 버퍼의 크기 중 사용가능한 비율을 알려줌
clearBuffer() : 버퍼에 있는 콘텐츠를 모두 지움
flush() : 버퍼를 비우고 output stream도 비움
println(content) : content의 내용을 newline과 함께 출력
print(content) : content의 내용을 출력
- session : javax.servlet.http.HttpSession
getID() : 각 접속에 대한 세션 고유의 id를 문자열 형태로 반환
getCreationTime() : 세션이 생성된 시간을 밀리세컨드값으로 반환
getLastAccessedTime() : 현재 세션으로 마지막 작업한 시간을 밀리세컨드값으로 반환
getMaxInactiveInterval() : 세션 유지 시간을 초로 반환
setMaxInactiveInterval(t) : 세션 유효시간을 t에 설정된 초 값으로 설정
invaildate() : 현재 세션을 종료 세션과 관련한 값을 모두 지움
getAttribute(attr) : 문자열 attr로 설정된 세션값을 object 형태로 반환
setAttribute(name, attr) : 문자열 name으로 attr을 설정
removeAttribute(name) : 세션에 설정한 속성 값을 삭제
- application : javax.servlet.ServletContext
setAttribute(name, value) : application 범위의 값 설정
getAttribute(name) : application 범위의 값 얻기
getRealPath(path) : 실제 물리 경로를 반환
getResource(path) : path 경로의 리소스를 가리키는 URL을 반환
getServerInfo() : 현재 요청방식이 GET인지 POST인지 문자열로 반환
getSession() : 현재 세션 객체를 반환
getRemoteAddr() : 클라이언트의 IP 주소를 반환
getProtocol() : 현재 서버의 프로토콜을 문자열로 반환
setCharacterEncoding() : 현재 JSP로 전달되는 내용을 지정한 문자셋으로 변환'JSP, Servlet' 카테고리의 다른 글
EL (0) 2022.01.05 JSP로 만드는 Hello 서블릿, 모델1과 모델2 (0) 2021.12.21 계산기 프로그램 하나의 서블릿으로 합치기 (오류 수정 완) (0) 2021.12.14 계산기 서블릿 구현하기 (오류 수정 완) (0) 2021.12.13 Application, Session, Cookie의 차이점 정리 (0) 2021.12.13