[전 수업] request 내부객체를 이용해서, 사용자가 입력한 값을 불러와 봤다
[본 수업] request 내부객체의 다양한 메소드를 배워보자
1. request 내부객체의 다양한 메소드
<%@ page contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>09_ request내부객체.jsp</title>
</head>
<body>
<h1>*request 내부객체의 다양한 메소드*</h1>
<form action="09_ requestOK.jsp">
아이디 : <input type="text" name="uid">
<br>
<input type="submit" value="request내부객체">
</form>
</body>
</html>
2. request 내부객체의 다양한 메소드 결과
<%@ page contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>09_ requestOK.jsp</title>
</head>
<body>
<h1>*request 내부객체의 다양한 메소드 결과*</h1>
<%
//1)한글 인코딩(
//UTF-8 조합형
//EUC-KR 완성형,MS949
//대소문자 구분없음
request.setCharacterEncoding("UTF-8");
//2) 사용자가 입력한 정보 가져오기
out.print(request.getParameter("uid"));
out.print("<hr>");
//3) 요청한 사용자의 다양한 정보
out.print(request.getRemoteAddr());// 요청한 PC의 IP주소
out.print("<hr>");
out.print(request.getRemoteHost());
out.print("<hr>");
out.print(request.getRemotePort());
out.print("<hr>");
//-----------------------------------------------------------------
//해당 프로젝트이름
///basicWeb
out.print(request.getContextPath());
out.print("<hr>");
// 사용자가 요청한 명령어만
///basicWeb/basic/09_%20requestOK.jsp
out.print(request.getRequestURI());
out.print("<hr>");
//사용자 요청한 명령어 전체
//http://localhost:8090/basicWeb/basic/09_%20requestOK.jsp
out.print(request.getRequestURL());
out.print("<hr>");
//-----------------------------------------------------------------
//내컴퓨터 입장에서 /basic 폴더의 실제 물리적인 경로
// 아래경로는 이클립스에서 톰캣서버를 실행한 경우
//D:\java0514\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\basicWeb\basic
out.println(request.getRealPath("/basic"));
out.print("<hr>");
out.println(application.getRealPath("/basic"));
out.print("<hr>");
//-----------------------------------------------------------------
//내부변수
//request.setAttribute("변수명", "값");
//request.getAttribute("값");
request.setAttribute("user", "korea");
Object obj=request.getAttribute("user");
String str=(String) obj;
out.println(str);
//return형이 오브젝트이기 때문에 형변환 해서 사용해야한다
%>
</body>
</html>
1) 한글 인코딩 //UTF-8 조합형 //EUC-KR 완성형,MS949 ->대소문자 구분없음 request.setCharacterEncoding("UTF-8");
그냥 데이터를 불러와서 출력을 하게 되면 한글이 깨지기 때문에 인코딩을 해줘야 한다
2) 사용자가 입력한 정보 가져오기 out.print(request.getParameter("uid"));
form 페이지에서 사용자가 입력한 데이터를 불러 출력
3) 요청한 사용자의 다양한 정보 out.print(request.getRemoteAddr()); out.print(request.getRemoteHost());out.print(request.getRemotePort());
...더보기
[06] 톰캣 IPv4 지정 IP주소 6자리 -> 4자리변경 Run -> Run Configurations -> Tomcat Server -> (x)=Arguments -> VM arguemnts에 아래와 같이 추가 -> 공백1칸 주고 -Djava.net.preferIPv4Stack=true -> Apply ->서버를 닫고 다시 Run해준다
요청한 PC 의 IP주소
4) 프로젝트 가상의 프로젝트 경로를 불러올때 out.print(request.getContextPath());
5) 사용자가 요청한 명령어만 out.print(request.getRequestURI());
6) 사용자 요청한 명령어 전체 out.print(request.getRequestURL());
7) 내컴퓨터 입장에서 /basic 폴더의 실제 물리적 경로 out.println(request.getRealPath("/basic")); out.println(application.getRealPath("/basic")); request, application 두 개의 객체 모두 사용 가능
D:\java0514\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\basicWeb\basic 실제 물리적인 경로
8) 내부변수 //request.setAttribute("변수명", "값"); //request.getAttribute("값"); request.setAttribute("user", "korea"); Object obj=request.getAttribute("user"); String str=(String) obj; out.println(str);
return형이 오브젝트이기 때문에 형변환 해서 사용해야한다