내장 객체(Implicit Object)


: 내장 객체란 JSP 페이지의 스크립트릿과 표현에서 선언 없이 이용할 수 있는

  객체 변수를 말합니다. 즉 웹 브라우저의 출력에 이용하던 객체 변수 out 는

  JSP 서블릿의 _jspService() 메소드에서 자동으로 선언 되므로 JSP 페이지의

  스크립트릿에서 선언 없이 out.println() 을 사용할 수 있습니다.

  

  내장 객체               패키지                 클래스 이름                         사용 용도

 

  request          javax.servlet.http       HttpServletRequest( I )      클라이언트 요청에 의한

                                                                                                                    폼 양식 정보 처리

  response        javax.servlet.http       HttpServletResponse( I )   클라이언트 요청에 대한 응답

 

  session           javax.servlet.http       HttpSession( I )                 클라이언트에 대한 세션 정보 처리

 

  application    javax.servlet               ServletConyext( I )             웹 어플리케이션 정보 처리

 

  config            javax.servlet               ServletConfing( I )            현재 JSP 페이지에 대한 환경 처리

 

  exception      javax.lang                   Throwable( I )                   예외처리를 위한 객체

 

  page              javax.lang                  Object( C )                         현재 JSP 페이지에 대한 클래스 정보

 

  pageContext javax.servlet.jsp          PageContext( C )              현재 JSP 페이지에 대한 페이지 컨텍스트

 

  out                javax.servlet.jsp          JspWriter( C )                    출력

 

 

 

 

  분류               java.lang        javax.servlet          javax.servlet.http       javax.servlet.jsp

 

  JSP 페이지에       page            config         

  관련된 객체

 

  페이지 입출력에                                                        request                    out

  관련된 객체                                                                  response

 

  컨택스트에                              application               session                     pageContext

  관련된 객체

 

  예외에           exception

  관련된 객체

 

 

 

  . request 의 자료 유형과 인자 전달

 

  : 내장 객체 request 는 클라이언트가 서버에게 전송하는 관련 정보를 

   처리하는 객체 이다.

   즉 HTML 폼에 입력하여 값을 전송하는 경우 내장 객체 request 를 사용한다.

   

   내장 객체 request 는 인터페이스 HttpServletRequest로

   상위 인터페이스는 javax. servlet.ServletRequest 를 갖는다.

   

   그러므로 내장객체 request 는 아래와 같은 여러 메소드를 사용 할 수 있다.

   

   반환값                메소드                                             사용용도

   

   void          setCharacterEncoding(String env)    요청 페이지에 인코딩 방법 적용

   

   String       getParameter(String name)               name 의 요청 인자값을 반환

                                                                                         없으면 null 을 반환, 만일 값이 여러개 이면

                                                                                         첫째 값만 반환

                                                                              

   String[]     getParameterValues(String name)    지정한 name 요청 인자값을 문자열 배열로 반환

   

   Enumeration  getParameterNames( )                 모든 인자의 이름을 Enumeration으로 반환

   

   String             getProtocol( )                               사용중인 프로토콜 반환

   

   String             getRemoteAddr( )                        클라이언트의 IP 주소를 반환

   

   String             getRemoteHost( )                         클라이언트의 호스트 이름을 반환

   

   String             getServerName( )                          요청된 서버의 호스트 이름을 반환

   

   int                   getServerPort( )                            요청된 서버의 포트 번호를 반환



1. request Test


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

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>request_1.jsp Test</title>

</head>

<body>


<%

request.setCharacterEncoding("utf-8");


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

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

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

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

if(sex.equalsIgnoreCase("MAN"))

{

sex = "남자";

} else{

sex = "여자";

}

%>


<h2> 학생 정보 입력 결과</h2>


성명 : <%= name %><P>

학번 : <%= studentNum %><P>

성별 : <%= sex %><P>

국적 : <%= country %><P>


</body>

</html>

request_1.jsp로 저장



<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>request Test</title>

</head>

<body>

<h2> 학생 정보 입력 </h2>


<form action="request_1.jsp" method="post">


성명 : <input type="text" name="name"><P>

학번 : <input type="text" name="studentNum"><P>


성별 : 남자<input type="radio" name="sex" value="man" checked="checked">

 여자<input type="radio" name="sex" value="woman"><P>


국적 : <select name="country">

<option value="대한민국" selected="selected">대한민국</option>

<option value="영국" >영국</option>

<option value="캐나다" selected="selected">캐나다</option>

<option value="프랑스" >프랑스</option>

<option value="중국" >중국</option>

</select>

<P>


<input type="submit" value="보내기">

</form>


</body>

</html>



2. request_2 Test


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

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>request_2.jsp Test</title>

</head>

<body>


<%

request.setCharacterEncoding("utf-8");


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

String[ ] majors = request.getParameterValues("major");

String[ ] aa = request.getParameterValues("b");


%>


<h2> 학생 정보 입력 결과 </h2>


학번 : <%= studentNum %><P>


전공 : <%

if (majors == null)

{

out.println("전공 없음.");

}

else{

for(int i = 0; i < majors.length ; i++)

{

out.println(majors[i] + " ");

}

out.println("<br>");

for(String eachmajor : majors)

out.println(eachmajor + ",");

}

%><P>

취미 : <%

if (aa == null)

{

out.println("취미 없음.");

}

else{

for(int i = 0; i < aa.length ; i++)

{

out.println(aa[i] + " ");

}

out.println("<br>");

for(String eachb : aa)

out.println(eachb + ",");

}


%>

<H2> 요청 정보 </H2>


요청방식 : <%= request.getMethod() %><P>

요청 URL : <%= request.getRequestURL() %><P>

요청 URI : <%= request.getRequestURI() %><P>

클라이언트 주소 : <%= request.getRemoteAddr() %><P>

클라이언트 호스트 : <%= request.getRemoteHost() %><P>

프로토콜 방식 : <%= request.getProtocol() %><P>

서버 이름 : <%= request.getServerName() %><P>

서버 포트 번호  : <%= request.getServerPort() %><p>


</body>

</html>

request_2.jsp로 저장



<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>request_2 Test</title>

</head>

<body>


<H2> 학생 정보 입력 </H2>


<form action="request_2.jsp" method="post">


학번 : <input type="text" name="studentNum"><P>

전공 : <select multiple="multiple" name="major">

<option value="전산과" selected="selected">전산과</option>

<option value="국문과">국문과</option>

<option value="영문과">영문과</option>

<option value="경영학과">경영학과</option>

<option value="수학과">수학과</option>


</select><P>


취미 : <select multiple="a" name="b">

<option value="영화감상" selected="selected">영화감상</option>

<option value="게임">게임</option>

<option value="독서">독서</option>

<option value="음악감상">음악감상</option>


</select><P>


<input type="submit" value="보내기">


</form>

</body>

</html>



3. post 방식 한글 처리


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

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>postrequest.jsp Test</title>

</head>

<body>


<% request.setCharacterEncoding("utf-8"); %>


<h2> 메소드 post 방식에서 한글 처리 </h2>


<hr size="5" color="#00ff00">


한글 성명 : <%= request.getParameter("korname") %><P>

영문 성명 : <%= request.getParameter("engname") %><P>


<hr size="5" color="#ff0000">


</body>

</html>

postrequest.jsp로 저장



<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>post 방식 한글 처리</title>

</head>

<body>


<h2> 메소드 post 방식에서 한글 처리 </h2>


<form action="postrequest.jsp" method="post">


한글 성명 : <input type="text" name="korname"><P>

영문 성명 : <input type="text" name="engname"><P>


<input type="submit" value="보내기">


</form>


</body>

</html>



4. getrequest.html Test


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

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>getrequest.jsp Test</title>

</head>

<body>




<h2> 메소드 get 방식에서 한글 처리 </h2>


<hr size="5" color="cyan">

한글 성명 : <%= request.getParameter("korname") %><P>

영문 성명 : <%= request.getParameter("engname") %><P>


<hr size="5" color="orange">


</body>

</html>

getrequest.jsp로 저장



<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>getrequest.html Test</title>

</head>

<body>


<h2> 메소드 get 방식에서 한글 처리 </h2>


<form action="getrequest.jsp" method="get">


한글 성명 : <input type="text" name="korname"><P>

영문 성명 : <input type="text" name="engname"><P>


<input type="submit" value="보내기">


</form>



</body>

</html>



5. request Test


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

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>request_3.jsp Test</title>

</head>

<body>

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

<% request.setCharacterEncoding("utf-8"); 


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

String[] hobbys = request.getParameterValues("hobby");

String[] carr = request.getParameterValues("car");

%>

<h2> 취미와 가보고 싶은 나라 </h2>

<%

Enumeration<String> ee = request.getParameterNames();


while(ee.hasMoreElements()){

String name = ee.nextElement();

String[] data = request.getParameterValues(name);

if (data != null)

{

for(String eachdata : data)

{

out.println(eachdata + " ");

}

}

out.println("<p>");

}


%>

<P><BR>



취미 : <%


for(int i = 0; i < hobbys.length; i++)

{

out.println(hobbys[i]+",");

}

%><P>


가고픈 나라 : <%=country %><P>


가지고픈 자동차 : <%


for(int i = 0; i < carr.length; i++)

{

out.println(carr[i]+",");

}

%><P>


</body>

</html>

request_3.jsp로 저장



<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>request Test</title>

</head>

<body>


<h2> 취미와 가고픈 나라 </h2>


<form action="request_3.jsp" method="post">


1. 좋아하는 취미를 선택 하시오.<P>


영화 : <input type="checkbox" name="hobby" value="영화"><br>

등산 : <input type="checkbox" name="hobby" value="등산"><br>

낚시 : <input type="checkbox" name="hobby" value="낚시"><br>

여행 : <input type="checkbox" name="hobby" value="여행"><br>

자전거 : <input type="checkbox" name="hobby" value="자전거"><br>

<P>

<hr size="5" color="red">


2. 여행하고 싶은 국가를 선택 하시오.<P>


인도 : <input type="radio" name="country" value="인도" checked="checked"><br>

중국 : <input type="radio" name="country" value="중국"><br>

이집트 : <input type="radio" name="country" value="이집트"><br>

프랑스 : <input type="radio" name="country" value="프랑스"><br>

페루 : <input type="radio" name="country" value="페루"><br>

멕시코 : <input type="radio" name="country" value="멕시코"><br>


<hr size="5" color="red">


3. 가지고 싶은 자동차를 선택 하시오.<P>


페라리 : <input type="checkbox" name="car" value="페라리"><br>

링컨 : <input type="checkbox" name="car" value="링컨"><br>

롤스로이스 : <input type="checkbox" name="car" value="롤스로이스"><br>

람보르기니 : <input type="checkbox" name="car" value="람보르기니"><br>

벤츠 : <input type="checkbox" name="car" value="벤츠"><br>

아우디 : <input type="checkbox" name="car" value="아우디"><br>

<P>

<hr size="5" color="red">


<input type="submit" value="보내기">


</form>


</body>

</html>



6. sendredirect Test


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

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>sendredirect.jsp Test</title>

</head>

<body>


<%

String URL = "http://search.naver.com/search.naver?where=nexearch";


String keyword = request.getParameter("naver");


URL += "&" + "query=" + keyword;


response.sendRedirect(URL);


// response 의 메소드 sendRedirect() 이용해 원하는 페이지로 이동

%>


</body>

</html>

sendredirect.jsp로 저장



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

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>sendredirect.jsp Test</title>

</head>

<body>


<%

String URL = "http://search.daum.net/search?&q=";


String keyword = request.getParameter("daum");


URL += keyword;


response.sendRedirect(URL);


// response 의 메소드 sendRedirect() 이용해 원하는 페이지로 이동

%>


</body>

</html>

sendredirect2.jsp로 저장



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

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>sendredirect.jsp Test</title>

</head>

<body>


<%

String URL = "https://www.google.co.kr/#q=";


String keyword = request.getParameter("google");


URL += keyword;


response.sendRedirect(URL);


// response 의 메소드 sendRedirect() 이용해 원하는 페이지로 이동

%>


</body>

</html>

sendredirect3.jsp로 저장



<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>sendredirect Test</title>

</head>

<body>


<h2> 검색할 단어를 입력 하세요 </h2>


<form action="sendredirect.jsp" method="get" name="form_1">


네이버 검색 : <input type="text" name="naver"><p>

&nbsp;&nbsp;<input type="submit" value="보내기">

<input type="reset" value="취소"><p>

</form>

<form action="sendredirect2.jsp" method="get" name="form_2">


다음 검색 : <input type="text" name="daum"><p>

&nbsp;&nbsp;<input type="submit" value="보내기">

<input type="reset" value="취소"><p>

</form>

<form action="sendredirect3.jsp" method="get" name="form_3">


구글 검색 : <input type="text" name="google"><p>

&nbsp;&nbsp;<input type="submit" value="보내기">

<input type="reset" value="취소"><p>

</form>


</body>

</html>



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

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>sendredirect.jsp</title>

</head>

<body>

<%@page import="java.net.URLEncoder"%>

<%


String keyword=request.getParameter("word");

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

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


/*

if(false)

{

if(!keyword.equals(""))

{

String URL="http://search.naver.com/search.naver?where=nexearch";

URL+="&"+"query="+keyword;

response.sendRedirect(URL);

}

else if(!daum.equals(""))

{

String URL="http://search.daum.net/search?&q=";

URL+=daum;

response.sendRedirect(URL);

}

else if(!google.equals(""))

{

String URL="https://www.google.co.kr/#q=";

URL+=google;

response.sendRedirect(URL);

}

}

*/



String reword=request.getParameter("type_1");

String reword1=request.getParameter("getradio");

keyword=request.getParameter("reword");

if(reword1.equals("naver"))

{

String URL="http://search.naver.com/search.naver?where=nexearch";

keyword=URLEncoder.encode(keyword);

URL+="&"+"query="+keyword;

response.sendRedirect(URL);

}

else if(reword1.equals("daum"))

{

String URL="http://search.daum.net/search?&q=";

keyword=URLEncoder.encode(keyword);

URL+=keyword;

response.sendRedirect(URL);

}

else if(reword1.equals("google"))

{

String URL="https://www.google.co.kr/#q=";

keyword=URLEncoder.encode(keyword);

URL+=keyword;

response.sendRedirect(URL);

}

//response의 메소드 sendrediect를 이용 원하는 페이지로 이동

%>

</body>

</html>

sendredirecttest1.jsp로 저장



<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>sendredirect Test</title>

</head>

<body>

<h2> 검색할 단어를 입력하세요</h2>

<form action="sendredirecttest1.jsp" method="get">


네이버 검색 키워드 : <input type="text" name="word"><p>

다음 검색 키워드 : <input type="text" name="daum"><p>

구글 검색 키워드 : <input type="text" name="google"><p>


<hr>

선택<select name="type_1">

<option value="naver">네이버</option>

<option value="google">구글</option>

<option value="daum">다음</option>

</select>

선택<input type="radio" name="getradio"  value="naver">네이버<br>

<input type="radio" name="getradio"  value="google">구글<br>

<input type="radio" name="getradio"  value="daum">다음<br>

<input type="text" name="reword">

검색<input type="submit" value="보내기" >

  <input type="reset" value="취소">

  <hr>

</form>

</body>

</html>


+ Recent posts