JSP 기본 객체
[request]
- root directory 접근
- <%= request.getContextPath() %>
- 클라이언트 IP
- request.getRemoteAddr()
- 요청정보 길이
- request.getContentLength()
- 요청정보 인코딩
- request.getCharcterEncoding()
- 요청정보 문서 타입
- request.getContenctType()
- 요청정보 전송 방식
- request.getMethod()
- 요청 URL
- request.getRequestURL()
- 요청 URI
- request.getRequestURI()
- 컨텍스트 경로
- request.getContextPath()
- 서버이름
- request.getServerName()
- 서버포트
- request.getServerPort()"
-------------------
[form tag]
<body> //호출하는 JSP
<form action="ex02-reqult.js">
<input type="text" name="name" placeholder="문자열입력">
<input type="submit" value="전송">
</form>
</body>
<body> //호출받는 JSP, defulat get 방식이기 때문에 요청 url에 값이 들어감.
<%
String name = request.getParameter("name");
System.out.println("전송받은 값:" + name);
if(name.equals("원빈")){
%>
<%= name %>님 환영합니다.
<% }else{ %>
누구세요?
<% } %>
</body>
----------------
[post form]
<body>
<form action="ex03-result.jsp" method="post">
<input type="text" name="n1">+<input type+"text" name="n2">
<input type="submit" value="계산">
</form?
</body>
<body>
<%
String n1Str = request.getParameter("n1");
String n2Str = request.getParameter("n2");
int n1 = Integer.parseInt(n1Str);
int n2 = Integer.parseInt(n2Str);
int result = n1 + n2;
>%
<h2>덧셈 결과</h3>
<h3><%= n1 %> + <%= n2 %> = <%= result %></h3>
</body>
--------------------
[Text checkBox]
<body>
폼에 데이터 입력 후 전송버튼 클릭.
<form action="ex04-result.jsp" method="post">
<input type="text" name="name" placeholder="이름"><br>
<input type="text" name="address" placeholder="이름"><br>
좋아하는 동물<br>
<input type="checkbox" name="pet" value="dog">강아지<br>
<input type="checkbox" name="pet" value="cat">고양이<br>
<input type="checkbox" name="pet" value="shark">상어<br>
<input type="submit" value="전송">
</form>
</body>
<% <!-- 첫번째 방법 -->
request.setCharacterEncoding("utf-8"); //한글을 입력시 깨지지 않게 하기 위함
String name = request.getParameter("name");
String address = request.getParameter("address");
String[] pets = request.getParameterValues("pet");
System.out.println("name:" + name);
System.out.println("address:" + address);
for(String pet : pets){
System.out.println("pet:" + pet);
}
%>
<% <!--두번째 방법-->
request.setCharacterEncoding("utf-8"); //한글을 입력시 깨지지 않게 하기 위함
Map paramMap = request.getParameterMap(); String[] paramName = (String[])paramMap.get("pet");
for(String param : paramName){
System.out.println("param:" + param);
}
%>
%>
<!-- 참고 -->
-----------------------------
[요청 헤더 정보]
<body>
<%
Enumeration enumData = request.getHeaderNames();
while(enumData.hasMoreElements()){
String headerName = (String}enumData.nextElement();
String headerValue = request.getHeader(headerName);
System.out.println(headerName + ":" + headerValue);
}
<body>
구글로 이동
<%
response.sendRedirect("https://www.google.com/");
%>
</body>
-----------
[처리 결과에 따른 redirect with getContextPath()]
<body>
<form action="ex06-result.jsp" method="post">
<input type="text" name="userid" placeholder="아이디"><br>
<input type="password" name="userpw" placeholder="패스워드"><br>
<input type="submit" value="로그인">
</form>
</body>
String userid = request.getParameter("userid");
String userpw = request.getParameter("userpw");
if(userid.equals(userpw)){
System.out.println(userid + ":로그인 성공!");
response.sendRedirect(request.getContextPath()); //최상의 요청으로 리다이렉트
}
else {
System.out.println(userid + ":로그인 실패!");
response.sendRedirect("ex06-loginForm.jsp"); //로그인 실패시 페이지 유지
}
%>
---------------------------
[pageContext]
<body>
<%
HttpServletRequest httpRequest = (HttpServletRequest) pageContext.getRequest();
if(request == httpRequest){
System.out.println("같음");
}
pageContext.getOut().println("브라우저로 내보내는 데이터");
%>
</body>
------------------------
[초기화 파라미터 및 application 객체 사용, getInitParameterNames()]
web.xml 파일에 기재
<!-- 초기화 파라미터 설정(initParam) -->
<context-param>
<param-name>param1</param-name>
<param-value>value1</param-value>
</context-param>
<context-param>
<param-name>param2</param-name>
<param-value>value2</param-value>
</context-param>
jsp 파일에서 기재
<body>
<%
Enumeration enumData = application.getInitParameterNames();
while(enumData.hashMoreElements()){
String initParamName = (String)enumData.nextElement();
String initParamValue = application.getInitParameter(initParamName);
System.out.println(initParamName = ":" + initparamValue);
}
%>
application 객체 예제 <br>
초기화 파라미터 확인 <br>
서버정보: <%= application.getServerInfo() %> <br>
서블릿 메이저 버전: <%= application.getMajorVersion() %> <br>
서블릿 마이너 버전: <%= application.getMinorVersion() %> <br>
</body>
[버퍼 예제]
<body>
<%
int bufferSize = out.getBufferSize();
int remainSize = out.getRemaining();
int usedSize = bufferSize - remainSize;
System.out.printon("전체 버퍼의 크기:" + bufferSize + "byte");
System.out.printon("사용한 버퍼의 크기:" + usedSize + "byte");
System.out.printon("남은 버퍼의 크기:" + remainSize + "byte");
%>
버퍼예제 <br>
남은 버퍼: <% out.println(remainSize); %.byte
</body>
댓글
댓글 쓰기