본문 바로가기
Java&Spring

JSP_day01기본문법

by JINJINC 2022. 7. 19.
728x90
반응형

 

이름 형태 설명
지시자 <%@    %> page, include, taglib 3가지 종류가 있으며, 페이지 전반에 걸친 설정을 작성한다.
 - page: 해당페이지의 전체적인 속성지정
 - include: 별도의 페이지를 현재 페이지에 삽입
 - taglib: 태그라이브러리의 태그사용
선언부 <%!      %> 자바 클래스의 멤버필드 및 멤버 베서드에 해당하는 요소를 선언하는 부분
스크립틀릿(scriptlet) <%         > 메인함수(실제로는 service() )에 해당하는 코드를 작성하는 영역
표현식 <%=      > 자바의 값을 html문서 사이에  출력할 때 사용한다.
jsp주석 <%--    --%> 브라우저에서 확인 할수 없는 주석을 작성할 수 있다. 

** html주석  =>  ' <!-- '    브라우저에서 소스보기 메뉴로 확인할 수 있다. 

< jsp 작동원리 >

  1. 클라이언트가 웹브라우저로 file.jsp를 요청
  2. jsp컨데이너가 jsp파일을 servlet파일(.java) 로 변환
  3. 그리고 Servlet파일은 컴파일 된 후 클래스 파일(.class)로변환
  4. 요청한 클라이언트에 html파일 형태로 응답

<jsp 내부객체>

따로 선언하지 않아도 바로 사용할 수 있는 객체가 내부객체

  • 입출력 객체 : request , response, out
  • 서블릿 객체:  page, config
  • 세션 객체: session
  • 예외 객체: exception

 

예시)

<%@ page import="java.util.Random" %>

<%=n1  %>   -> n1값이 출력된다. 

 

 

 

< 내장객체 : request >

  • jsp기본 내장객체 중 request객체는 jsp 페이지에서 가장 많이 사용되는 객체로서 웹브라우저와 같은 클라이언트로부터의 요청 정보를 담아 제공하는 객체
  • request객체는 javax.servlet.http.HttpServletRequest객체이며 JSP가 서블릿으로 변환되었을때 요청을 처리하기 위한 메서드인 jspSErvice()메서드의 첫번째 파라미터로 넘어오게 된다. 따로 선언하지 않아도 기본적으로 사용가능합니다,.
  •  선언부에서는 참조할 수 없다. 

- Request 객체 관련 메소드

  • getContextPath() : 웹 어플리케이션의 컨텍스트 패스를 얻음
  • getMethod() : get 방식과 post 방식을 구분할 수 있다
  • getSession : 세션 객체를 얻는다
  • getProtocol() : 해당 프로토콜을 얻는다
  • getRequestURL() : 요청 URL을 얻는다
  • getRequestURI() : 요청 URI를 얻는다
  • getQueryString() : 쿼리스트링을 얻는다

 - attribute 개발자가 필요에 의해 첨부된 별도의 객체모음

  •  String setAttribute(String name, Object o) : request  객체에 name이름의 object객체를 첨부함
  • Object getAttribute(String name) : request 객체에 첨부된 name 이름값을 가져옴
  • Enumeration<String> getAttributeNames() : request객체에 첨부된 모든 name이름을 가져옴
  • void removeAttribute(String name) : request객체에 첨부된 name이름의 객체를 제거함 
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%@ page import="java.io.PrintWriter"%>
<%
	String requestURL = request.getRequestURL().toString();
	String serverName = request.getServerName();
	String serverIP = request.getLocalAddr();
	String clientIP = request.getRemoteAddr();
	
	response.setCharacterEncoding("UTF-8");
	PrintWriter pw = response.getWriter();
	pw.append("<h3>write in scriptlet !!</h3>");

	response.setStatus(200);
%>
<h3>요청받은 주소 : <%=requestURL %></h3>
<h3>서버의 이름 : <%=serverName %></h3>
<h3>서버의 IP : <%=serverIP %></h3>
<h3>클라이언트의 IP : <%=clientIP %></h3>​

<부가적 정보요청>

  • String getRequestURL() : 요청한 URL전체의 값을 가져옴
  • String getRequestURI() : 서비스 포트 뒤의 주소를 가져옴 
  • String getProtocol() : 사용중인 프로토콜 정보를 가져옴
  • String getQueryString() : 쿼리 스트링 값을 가져옴
  • String getMEthod() : 요청방식(GET,POST등)을 리턴
  • String getRemoteAddr() : 요청 클라이언트의 IP주소 리턴

Parameter 메소드

  • getParameter(String name) : name 에 해당하는 파라미터 값을 구함 -> 리턴값 string
  • getParameterNames() : 모든 파라미터 이름을 구함 -> 리턴값 java.util.Enumeration
  • getParameterValues(String name) : name에 해당하는 파라미터값들을 구함 - > 리턴값 String[]

<내장객체 : response>

  • 웹브라우저의 요청에 응답하는 것을 말함
  • 응답의 정보를 가지고 있는 객체를 말한다

  - Response관련 메서드

  • getCharacterEncoding() : 응답할 때 문자의 인코딩을 구함
  • addCookie(Cookie) : 쿠키를 지정함
  • sendRedirect(URL) : 지정한 URL로 이동함, 특정상황에 조건에 따라 원하는 페이지로 이동하게 된다. 
728x90
반응형

'Java&Spring' 카테고리의 다른 글

JSP_day02[ QueryString 활용 ]  (0) 2022.07.19
Java_[Method_ 메서드3]  (0) 2022.07.11
Java_[Method 메서드02]  (0) 2022.07.11

댓글