① request
○ 클라이언트 IP = <%=request.getRemoteAddr() %>
○ 요청정보길이 = <%=request.getContentLength() %>
○ 요청정보 인코딩 = <%=request.getCharacterEncoding() %>
○ 요청정보 컨텐트 타입 = <%=request.getContentType() %>
○ 요청정보 프로토콜 =<%=request.getProtocol() %>
○ 요청정보 전송방식 =<%=request.getMethod() %>
get/ post방식
○ 요청 URI = <%=request.getRequestURI() %>
○ 컨텍스트 경로 =<%=request.getContextPath() %>
○ 서버이름 =<%=request.getServerName() %>
○ 서버포트 = <%=request.getServerPort() %>
○ 한글 = request.setCharacterEncoding("UTF-8");
2. submit
○ 무조건 action을 찾아간다.
○ action에다가는 값을 가지고 갈 페이지를 적는다 ("test4_ok.jsp")
○ su1과 su2를 가지고 test4_ok.jsp로 간다
○ 컬럼의 이름은 name의 이름과 같아야 한다.
○ 일반적으로 스크립트가 없을때 사용
○ 스트립트가 있을 때는 button사용
3. get방식 & post방식
① post방식
주소 : http://localhost:8080/study/jsp1/test4_ok.jsp?
○ 데이터가 노출되지 않는다.
○ 사용자에게 데이터를 받을 때 사용한다.
○ 한글은 깨져서 데이터가 전송된다.
▶ request.setCharacterEncoding("UTF-8"); → post방식일때 한글깨짐 방지
○ window>preferences>web>jsp file>editor>templates>new jsp file(html)에 추가
② get방식
주소 : http://localhost/study/jsp1/test4_ok.jsp?su1=13&su2=13&age=13
○ 주소창에 입력한 값이 보인다.
○ 데이터가 노출이 된다.
○ 프로그래머가 내부적으로 임의의값을 넘겨줄 때 사용한다.
○ form의 바깥부분에서 사용한다.
○ 영문과 한글 모두 데이터가 정상적으로 전송 된다.
▶ 그러나, 실제로 get방식에서도 한글은 전송X
4. 예제(1)
▶test4.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="test4_ok.jsp" method="post">
수1:<input type="text" name="su1"></br>
수2:<input type="text" name="su2"></br>
나이:<input type="text" name="age"></br>
이름:<input type="text" name="name"></br>
<input type="submit" value="결과"></br>
</form>
<a href="test4_ok.jsp?su1=100&su2=200&age=25&name=수지">Get방식</a>
</body>
</html>
결과
① 전송(submit)을 클릭 ▶ form의 action="test4_ok.jsp" 를 찾아감 ▶ test4_ok.jsp파일을 불러옴
▶test4_ok.jsp
<%@page import="javax.print.DocFlavor.STRING"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<!-- 넘어온 값을 받는 작업 -->
<%
request.setCharacterEncoding("UTF-8"); //post방식일때 한글깨짐 방지
/*
String su1 = request.getParameter("su1");
//request에 있는 값 중에su1에 파라메터를 su1에 넣음
String su2 = request.getParameter("su2");
//받아오는 값은 항상 String
int s1 = Integer.parseInt(su1);
int s2 = Integer.parseInt(su2);
*/
int s1 = Integer.parseInt(request.getParameter("su1"));
int s2 = Integer.parseInt(request.getParameter("su2"));
String age = request.getParameter("age");
String name = request.getParameter("name");
int sum;
sum = s1 + s2;
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
합:<%=s1 %>+<%=s2 %>=<%=sum %></br>
나이:<%=age %>살</br>
이름:<%=name %>
</body>
</html>
결과
test4.jsp
결과 클릭시 ▶ test4_ok.jsp
post방식은 주소창에 데이터가 노출되지 않는다.
Get 방식 클릭시 ▶ test4_ok.jsp
get방식은 주소창에 데이터가 노출된다.
5. 예제(2)
배열로 데이터 값 받기
String hobby[] = request.getParameterValues("hobby");
▶ test5.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="test5_ok.jsp" method="post">
이름:<input type="text" name="name"></br>
메모:<textarea rows="5" cols="30" name="memo"></textarea></br>
성별:<input type="radio" name="gender" value="여자" checked="checked">여자
<input type="radio" name="gender" value="남자">남자</br>
취미:</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>
<input type="checkbox" name="hobby" value="운동">운동</br>
전공:</br>
<select name="major" size="4" multiple="multiple"> <!-- ctrl키 누르고 선택 -->
<option value="수학과">수학과</option>
<option value="영어과">영어과</option>
<option value="물리학과">물리학과</option>
<option value="컴공">컴공</option>
</select></br>
<input type="submit" value="전송"></br>
</form>
</body>
</html>
▶ test5_ok.jsp
결과<%@ page contentType="text/html; charset=UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
String memo = request.getParameter("memo");
String gender = request.getParameter("gender");
String hobby[] = request.getParameterValues("hobby");
String major[] = request.getParameterValues("major");
memo = memo.replaceAll("\n", "</br>");
String str="";
if(hobby!=null){
for(String temp : hobby){
str += temp + ", ";
}
}
String str1="";
if(major!=null){
for(String temp : major){
str1 += temp + ", ";
}
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
이름:<%=name %></br>
메모:</br><%=memo %></br>
성별:<%=gender %></br>
취미:<%=hobby %></br> <!-- 주소가 출력 -->
취미:<%=str %></br>
전공:<%=str1 %></br>
</body>
</html>
test5_ok.jsp
'STUDY > JSP' 카테고리의 다른 글
Jsp 4일차 - submit & button (0) | 2019.02.15 |
---|---|
Jsp 4일차 - jsp영역 안에서 html사용 (0) | 2019.02.15 |
Jsp 4일차 - 이벤트 (0) | 2019.02.14 |
Jsp 3일차 - CSS기본 (0) | 2019.02.14 |
Jsp 2일차 - HTML기본 (0) | 2019.02.13 |
댓글