새소식

JAVA 교육/Jsp

2019/08/26 request 내부객체의 다양한 메소드

  • -

[전 수업] 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형이 오브젝트이기 때문에 형변환 해서 사용해야한다
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.