본문 바로가기
개발자/백엔드 웹 개발자 과정(국비)

[JSP]directive(page,include), request,form

by 초응 2023. 1. 5.

디렉티브 (Directive) : <%@ 로 시작

 

Directive종류

  •  page : jsp 페이지에 대한 정보를 지정한다. jsp가 생성하는 문서의 타입, 출력 버퍼의 크기, 에러 페이지 등 jsp 페이지에서 필요로 하는 정보를 입력한다.
  • taglib : jsp 페이지에서 사용할 태그 라이브러리 지정 (다음에 다시 배울 예정)
  • include : jsp 페이지의 특정 영역에 다른 문서를 포함시킨다. 우리가 주요 개발하는 부분은 콘텐츠 부분이며 반복적으로 사용하는 상단 하단은 <%@include file%>로 파일을 불러와서 사용한다. 원프레임 기법으로 하나의 페이지에서 관리될 수 있다는 장점이 있다.

[request객체]

-클라이언트 관련 정보를 request 기본 객체에 저장(파라미터, 헤더, 쿠키 등)

 

Request객체가 제공하는 기본기능

  • 클라이언트(웹 브라우저)와 관련된 정보 읽기 기능
  • 서버와 관련된 정보 읽기 기능
  • 클라이언트가 전송한 요청 피라미터 읽기 기능
  • 클라이언트가 전송한 요청 헤더 읽기 기능
  • 클라이언트가 전송한 쿠키 읽기 기능
  • 속성 처리 기능
<h3> 사용자 접속 ip : <%=request.getRemoteAddr() %></h3>
<h3> 사용자의 접속 포트 : <%=request.getRemotePort() %> </h3>
<h3> 접속 방식 : <%=request.getMethod()%></h3>
<h3> 프로토콜방식 : <%=request.getProtocol() %></h3>
<h3> 서버 ip: <%=request.getServerName() %></h3>
<h3> 서버 서비스 포트: <%=request.getServerPort() %> </h3>
<h3> 프로젝트 서비스 이름: <%= request.getContextPath() %> </h3>
<h3> 사용자 접속 경로 : <%=request.getRequestURI() %></h3>
<h3> 프로젝트의 절대경로: <%=request.getRealPath("") %> </h3>
ㄴ 이클립스가 파일을 보호하기 위해 원본이 아닌 복사본을 보여준다.

 

HTML폼의 데이터 전송방식 ( 브라우저 > 파라미터 목록(폼 데이터) >웹 서버)

*****[파라미터 읽어오기 메서드]

-String | getParameter(String name)

-String [] | getParametervalues(String name)

-Enumeration | getParameterNames()

-Map | getParameterMap()

 

<form action ="#> 폼페이지 이름의 _pro  또는 _ok로 만들기

피라미터는 데이터가 없다면 생성조차 하지 않는다 그래서 유효성 검사를 먼저 하고 피라미터를 저장해야 한다.

유효성 검사의 기본은 

1. null인지 물어보고

2. null과 같은 조건인지 확인 / 문자열은 빈문자인지 확인

서버에서 처리하기보다 자바스크립트에서 먼저 처리를 하고 넘어오는 것이 좋다.

빈칸일 때 required = "required" / return false;

예시 ) fuction show(){

return false;

}

-> 메서드 호출 때 onsubmit = "return show()">

또는

<input type = "text" name = "#" required = "required"