내장 객체(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>
<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>
<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>
<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>
'JSP(Java Server Pages)' 카테고리의 다른 글
6. session, Java Beans (자바 빈즈) (0) | 2017.02.16 |
---|---|
5. login.html, forwardlogin, Cookie & Session, 쿠키 예제, 세션 예제 (0) | 2017.02.15 |
4. out, application, exception, pageContext, page, 액션 태그, 지시자 include 와 액션 태그 include 차이, forward 와 include 차이 (0) | 2017.02.14 |
2. JSP(Java Server Page) 테스트 (0) | 2017.02.10 |
1. JSP(Java Server Pages) 설치 및 실행 (0) | 2017.02.09 |