GET, POST 방식
웹 브라우저에서 서버로 데이터를 전송하는 방법에는 GET 방식과 POST 방식이 있습니다.
GET 방식
URL에 정보를 담아 전송하기 때문에 주소창에 사용자가 입력한 정보가 노출됩니다.
보낼 수 있는 데이터의 크기 제한이 있으며, 이는 브라우저마다 다릅니다.
POST 방식
데이터를 http의 body에 담아서 전송합니다.
보낼 수 있는 데이터의 크기 제한이 없습니다.
전송 방식을 설정하려면 HTML의 form 태그의 method 속성 값을 GET 또는 POST로 설정합니다.
(method 속성을 입력하지 않으면 기본값은 GET 방식입니다.)
GET 방식 예제
URL의 ? 뒤에 파라미터와 사용자가 입력한 값이 표시됩니다.
POST 방식 예제
URL 뒤에 사용자 입력 값이 표시되지 않습니다.
Lombok(롬복)
롬복은 어노테이션을 사용하여 코드의 양을 줄이는 JAVA 라이브러리입니다.
VO 클래스를 만들 때 getter, setter, 생성자, toString( ) 메소드 등을 자동으로 만들어 줍니다.
Lombok 설치 및 이클립스 설정
lombok을 검색하여 다운로드 합니다.
다운받은 위치에서 cmd를 실행합니다.
cmd에 java -jar lombok.jar 를 입력하여 실행합니다.
[Specify location...] 버튼을 클릭하여 이클립스가 있는 폴더를 찾습니다.
[Install/Update] 버튼을 누르면 바로 설치됩니다.
※주의: 이클립스 경로에 한글이 있으면 Lombok 설치가 안될 수 있습니다.
설치가 완료되었습니다.
설치 후 WEB_INF 폴더 아래 lib 폴더에 lombok.jar 파일을 복사해줍니다.
Lombok 라이브러리 사용하기
먼저 vo 클래스에서 사용할 필드를 선언합니다.
클래스 이름 위에 @ 어노테이션을 작성합니다.
@Getter : 모든 필드에 대해 getter 메소드를 생성하는 어노테이션입니다.
@Setter : 모든 필드에 대해 setter 메소드를 생성하는 어노테이션입니다.
@ToString : 모든 필드에 대한 ToString 메소드를 생성하는 어노테이션입니다.
@NoArgsConstructor : 인자가 없는 기본 생성자를 생성하는 어노테이션입니다.
@AllArgsConstructor : 모든 필드를 인자로 갖는 생성자를 생성하는 어노테이션입니다.
이렇게 하면 lombok 라이브러리로 vo 클래스를 간편하게 만들 수 있습니다.
예제: GET 방식 요청 방법
1) 요청 URL 에 쿼리스트링으로 조회할 값을 전달합니다.
?뒤에 key=value 한 쌍으로 값을 전달합니다.
a태그의 href 속성 또는 자바스크립트의 location.href 를 사용합니다.
DAO - selectAll() 메소드
먼저 테이블의 데이터를 가져와 링크를 만듭니다.
a태그 href 속성값 URL의 ? 뒤에 파라미터=값(조회한 데이터의 custNo)을 추가합니다.
→ 링크 클릭시 파라미터 값을 URL에 담아 전달합니다.
2) form으로 검색 값을 입력받아 조회합니다.
값 입력 후 버튼 클릭 시 get 방식으로 파라미터 값을 URL에 담아 전달합니다.
실행 화면
get_result.jsp 페이지
변수 custno에 파라미터 "custno"의 값을 가져와 저장합니다.
1) custno가 null이라면(url의 ? 뒤에 custno= 자체가 없을 때) '검색값이 없습니다.' 메시지 창을 띄웁니다.
2) custno에 숫자가 아닌 문자가 있을 때 '잘못된 검색값입니다.' 메시지 창을 띄웁니다.
3) member가 null이라면(조회한 번호에 해당하는 데이터가 없을 때) '검색 결과가 없습니다.' 메시지 창을 띄웁니다.
button 태그의 onclick 속성값을 history.back()으로 하여 뒤로가기 버튼을 만듭니다.
member가 null이 아니면(회원 조회 결과가 존재한다면) 수정할 수 있는 표를 만듭니다.
값은 member 객체의 getter 메소드로 가져옵니다.
input 태그의 disabled 속성을 설정하면 값을 수정할 수 없고 파라미터로 값을 전달할 수도 없습니다.
이 경우 type 속성값이 hidden인 input 요소를 추가하면 파라미터로 값을 전달할 수 있습니다.
type 속성값이 hidden이면 화면에는 보이지 않습니다.
저장 버튼에 onclick 속성을 isSubmit()으로 하여 유효성 검사를 통과할 경우에만 submit합니다.
실행 화면
member_update.jsp
수정 후 저장 버튼을 누르면 파라미터와 값을 가져옵니다.
가져온 값으로 HrdMember 객체를 생성하고 dao의 update( ) 메소드로 데이터를 수정합니다.
dao-update( )
'수업 일지 > JSP' 카테고리의 다른 글
57일차 - [JSP] session 객체 (0) | 2022.03.30 |
---|---|
56일차 - [JSP] mybatis - DAO/taglib 지시자/JSTL (0) | 2022.03.29 |
55일차 - [JSP] 내장 객체/속성/include/EL/빌드 도구/mybatis (0) | 2022.03.28 |
51일차 - [JSP] request 내장객체/메소드 (0) | 2022.03.22 |
50일차 - [JSP] 톰캣 설치/개발 환경 설정/JSP 기본 문법 (0) | 2022.03.21 |
댓글