Server

JSP STEP 2 - JSP 내장 객체

IT의 큰손 2023. 5. 8. 17:46
728x90

★ JSP 내장 객체, JSP Implicit Object

  • 개발자가 직접 생성하는 객체가 아니라, JSP(톰캣)가 미리 만들어서 제공하는 객체
  • 예약어 형태로 제공
- request, response, session, pageContext
- out, application
- config, page, exception 등..

- pageContext, request, session, application
	: 객체 내부에 사용자(개발자) 데이터를 관리하는 저장소(컬렉션)를 가진다.(*****)
	: 내장객체.setAttribute(key, value)
	: 내장객체.getAttribute(key)
  • 1. request
- 클라이언트 > (행동) > 서버
a. 전송된 데이터 가져오기
b. 전송된 데이터 인코딩
c. 요청에 관련된 정보 가져오기
  • 2. response
- 서버 > (행동) > 클라이언트

 

■ JSP 주석 단축키

단일 라인 : Ctrl + Shift + C
다중 라인 : Ctrl + Shift + /

 

■ GET vs POST

  • 1. GET
> 데이터를 URL에 붙여서 전송 
> 인코딩 규칙 
> URL 규칙에 따름 
> 톰캣을 통해서 전송 
> 톰캣 현재 UTF-8을 사용
  • 2. POST
데이터를 패킷에 넣어서 전송 
> 인코딩 규칙 
> 인터넷 규칙에 따름
  • POST 방식으로 전달된 데이터를 UTF-8로 인코딩
request.setCharacterEncoding("UTF-8");

 

■ request.getParameter 행동

  • 1. 컨트롤은 존재하는데 값을 입력하지 않으면 > ""반환
  • 2. 컨트롤이 존재하지 않으면 > null 반환
  • 텍스트 박스 ex)
//텍스트 박스
String txt1 = request.getParameter("txt1"); 

System.out.println(txt1 == null);	//false
System.out.println(txt1.equals("")); //true
  • 암호 상자 ex)
//암호 상자
String pw1 = request.getParameter("pw1");
  • 다중 라인 텍스트 박스
//다중 라인 텍스트 박스
String txt2 = request.getParameter("txt2");
txt2 = txt2.replace("\r\n", "<br>");
  • 체크 박스(value 값을 주는게 좋음)
/*  
    체크 박스
    1. value O
        a. 체크 O > value 전송
        b. 체크 X > null 전송
    2. value X
        a. 체크 O > "on" 전송
        b. 체크 X >  null 전송
*/
String cb1 = request.getParameter("cb1");
String cb2 = request.getParameter("cb2");
  • 체크 박스들
//불러오기
String[] cb = request.getParameterValues("cb");

//호출
<td><%= Arrays.toString(cb) %></td>
  • 라디오 버튼
//라디오 버튼  > 단수(O), 복수(X)
String rb = request.getParameter("rb");
 
//실행
<%= rb %>
  • 셀렉트 박스
//단일 선택
String sel1 = request.getParameter("sel1");
//다중 선택
String[] sel2 = request.getParameterValues("sel2");
  • 색상
String color1 = request.getParameter("color1");

//실행
<td style="background-color : <%= color1 %>"><%= color1 %></td>
  • 날짜
String date1 = request.getParameter("date1");

//실행
<td><%= date1 %></td>
  • 범위
String range1 = request.getParameter("range1");

//실행
<td><%= range1 %></td>
  • 실행 결과 

데이터 전송
데이터 수신

  • 이미지 태그
<script>

	$('#memberlist').selectable({
		
		selected : function(event, ui) {
// 			alert(ui.selected.dataset['name']);
			
			$('#member').val(ui.selected.dataset['name']);
		}
		
	});

</script>

String member = request.getParameter("member");

//출력
<td><%= member %></td>
  • 실행 결과

선택 후, 전송
전송 결과

 

728x90