본문 바로가기
Programming/JSP

[JSP] 내장 객체

by 공부합시다홍아 2024. 5. 6.
 

[JSP] GET과 POST

[JSP] 태그[JSP] 서버와 클라이언트👨‍💻웹 프로그래밍이란?- 웹 프로그래밍이란, 웹 어플리케이션을 구현하는 행위입니다. - 웹 어플리케이션이란 웹을 기반으로 작동되는 프로그램입니다. -

hong-study.tistory.com


👨‍💼JSP 내장 객체

개발자가 JSP 파일 내에 객체를 생성하지 않고 바로 사용할 수 있는 객체가 내장 객체이다.
JSP에서 제공되는 내장객체는 JSP 컨테이너에 의해 서블릿으로 변환될 때 자동으로 객체가 생성된다.


JSP 내장 객체의 종류


Request 객체의 이해

웹 브라우저를 통해 서버에 어떤 정보를 요청하는 것을 request라고 한다.
이러한 요청 정보가 담기고 관리하는 곳이 Request 객체이다.

Request 객체가 제공하는 기능

1. 클라이언트(웹 브라우저)와 관련된 정보 읽기 기능
2. 서버와 관련된 정보 읽기 기능
3. 클라이언트가 전송한 요청 파라미터 읽기 기능
4. 클라이언트가 전송한 쿠키 읽기 기능


Response 객체의 이해

웹 브라우저의 요청에 응답하는 것을 Response라고 한다.
이러한 응답의 정보를 가지고 있는 객체를 Response 객체라고 한다.


OUT 객체의 이해

JSP 페이지가 생성하는 모든 내용은 Out 기본 객체를 통해 전송된다.
JSP 페이지 내에서 사용하는 비스크립트 요소들(HTML 코드와 텍스트)이 Out 객체에 전달된다.
값을 출력하는 표현식(Expression)의 결과값도 Out객체에 전달된다.
표현식으로 대체한다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%
	// 여기서 만들고
	//request는 자동으로 생성되는 내장객체. 그래서 request변수에 . 찍어서 사용함
	
	StringBuffer url = request.getRequestURL(); // 전체 주소
	String uri = request.getRequestURI(); // 서버 주소를 뺀 나머지
	
	String path = request.getContextPath(); // 컨패스 - was가 프로젝트를 구분하는 최상위 경로
	String addr = request.getRemoteAddr(); // 요청한 사람의 아이피 주소
	String query = request.getQueryString(); // url주소에 담긴 데이터를 전체 문자열로 얻음
%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<!-- 여기서 실행 -->
	<h3>리퀘스트 객체 확인하기</h3>
	URL: <%= url %> <br>
	URI: <%= uri %> <br>
	ContextPath: <%= path %> <br>
	접속한 주소: <%= addr %> <br>
	쿼리스트링: <%= query %> <br>
	
	

</body>
</html>


데이터 주고 받기

<!-- 주는 거 , quiz01파일-->

<%@ 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>


	<!--  
	1. quiz01_ok.jsp 경로로 post방식으로 데이터를 전송
	2. ok에서는 넘어온 데이터를 받아서 화면에 출력.
	-->
	
	<!-- 폼은 나중에, 데이터를 전송하기 위한 역할 -->
	<form action="quiz01_ok.jsp" method="post">
		<h3>회원가입 양식</h3>
		
		아이디: <input type="text" name="id" size="15" maxlength="5" placeholder="이름을 입력하세요" ><br>
		비밀번호: <input type="password" name="pw"><br>
		생년월일: <input type="date" name="birth"><br>
		나이: <input type="number" name="age"><br>
		
		<!-- 체크박스, 라디오버튼 같은 경우는 동일한 그룹인 경우, 동일한 name으로 묶어줍니다. -->
		취미: 
		축구하기<input type="checkbox" name="a1" value="축구하기">
		족구하기<input type="checkbox" name="a1" value="족구하기">
		농구하기<input type="checkbox" name="a1" value="농구하기">
		당구하기<input type="checkbox" name="a1" value="당구하기">
		
		<br>
		전공:
		컴퓨터<input type="radio" 	  name="b1" value="컴퓨터">
		시각디자인<input type="radio" name="b1" value="시각디자인">
		전기전자<input type="radio"  name="b1" value="전기전자">
		수학<input type="radio"     name="b1" value="수학">
		
		<br>
		지역:
		<select name="region">
			<option>서울시</option>
			<option>경기도</option>
			<option>제주도</option>
			<option>부산시</option>
		</select>
		
		
		<br>
		나를 소개하세요~!<br>
		<textarea rows="5" cols="50" name="intro"></textarea>
		
		
		<br>
		<!-- 기능없는 버튼(JS기능을 붙여서 사용) -->
		<input type="button" value="그냥버튼" >
		<!-- 폼양식을 초기화 -->
		<input type="reset" value="초기화버튼">
		<!-- 서브밋 -->
		<input type="submit" value="가입하기">
	</form>
	



</body>
</html>
<!-- 받는 거, quiz01_ok파일 -->

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
    
<%

	request.setCharacterEncoding("utf-8");
	String id = request.getParameter("id");
	String pw = request.getParameter("pw");
	String birth = request.getParameter("birth");
	String age = request.getParameter("age");
	String major = request.getParameter("b1");
	
 	String[] hobby = request.getParameterValues("a1"); 
 	String region = request.getParameter("region");
 	String intro = request.getParameter("intro");

	
%>
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	넘어온 아이디: <%= id %> <br>
	넘어온 비밀번호: <%= pw %> <br>
	넘어온 생년월일: <%= birth %> <br>
	넘어온 나이: <%= age %> <br>
	
	<%int count = 0; %>
	
	<% for(String a : hobby)  {%> 
	<%count++; %>
	취미 <%=count %>: <%= a %> <br>
	<% } %> 
	
	넘어온 전공: <%= major %> <br>
 	넘어온 지역: <%= region %> <br>
 	자기소개: <%=intro %> <br>
	


</body>
</html>

 

728x90

'Programming > JSP' 카테고리의 다른 글

[JSP] 쿠키와 세션 - 세션  (0) 2024.05.06
[JSP] 쿠키와 세션 - 쿠키  (0) 2024.05.06
[JSP] GET과 POST  (0) 2024.05.06
[JSP] 태그  (0) 2024.05.06
[JSP] 서버와 클라이언트  (0) 2024.05.06