https://velog.io/@xnfxnf97/JSP-%EB%82%B4%EC%9E%A5-%EA%B0%9D%EC%B2%B4
<%@ page import="java.util.Enumeration" %> => 페이지 디렉티브 태그 <%@ ==%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
==============
여기 밑에서 부터 스크립트 태그
스트립트태그(선언문,스크립틀릿,표현문)
선언문 : <%!%> //자바변수나 메소드 정의
스크립틀릿:<%%> //자바 로직코드 작성
표현문<%=%> // 변수,계산식,메소드 호출 결과를 문자열 형태로 출력
===============
<h2>3. 요청 헤더 정보 출력하기</h2>
<%
#request.getHeaderNames로 헤더 정보 출력
Enumeration headers = request.getHeaderNames();
#while 문으로 헤더정보 가져오기
while (headers.hasMoreElements()) {
String headerName = (String)headers.nextElement();
String headerValue = request.getHeader(headerName);
out.println("헤더명 : " + headerName + ", 헤더값 : " + headerValue + "<br/>");
}
%>
<p>이 파일을 직접 실행하면 referer 정보는 출력되지 않습니다.</p>
</body>
</html>
<head>
<title>내장 객체</title>
</head>
<br>
<h2>1. 클라이언트와 서버의 환경정보 읽기</h2>
<a href="./requestWebInfo.jsp?eng=Hello&han=안녕">GET 방식 전송</a>
<br>
<form action="requestWebInfo.jsp" method="post">
영어:<input type="text" name="eng" value="Bye"></br>
한글:<input type="text" name="han" value="잘가">
<input type="submit" value="POST 방식 전송">
</form>
<h2>2. 클라이언트 다양한 요청 매개변수 읽기</h2>
#post방식이다
=> 클릭시 브라우저 url에 노출이 되지 않는다.
#하나만 값이 전송되는 경우 getParameter("name")값 메서드를 이용해 변수에 값 저장
#여러개 값이 전송되는 경우 getParameterValues("name값")은 여러가지..String배열에 저장가능
<form method="post" action="requestParameter.jsp">
아이디 : <input type="text" name="id"><br>
성 별 :
<input type="radio" name="sex" value="man">남자
<input type="radio" name="sex" value="woman">여자<br>
관심사:
<input type="checkbox" name="info" value="eco">경제
<input type="checkbox" name="info" value="pol" checked="checked">정치
<input type="checkbox" name="info" value="ent">연예<br>
자기소개:
<textarea name="intro" cols="30" rows="4"></textarea><br>
<input type="submit" value="전송하기">
</form>
</html>
###request 시킨걸 getparameter로 반환값 넣어주기
##requestparameter로 결과값을 반환하고
#String배열로 request받은 값을 getparameter로 넣어주면 된다.
스트립트태그(선언문,스크립틀릿,표현문)
선언문 : <%!%> //자바변수나 메소드 정의
스크립틀릿:<%%> //자바 로직코드 작성
표현문<%=%> // 변수,계산식,메소드 호출 결과를 문자열 형태로 출력
<html>
<head>
<title>Title</title>
</head>
<body>
#스크립틀립:자바 로직코드 설정//
#반환받은 값을 id에 대입
<%
String id=request.getParameter("id");
%>
#표현문:변수/계산식/호출 결과를 문자열형태로 출력
#반환받아 대입된 id값을 출력하는 것이다.
<%=id%>님 환영합니다.!!!!!!!!!!!!!!!!!
</body>
</html>
=======================================
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>내장객체 Request</title>
</head>
<%
request.setCharacterEncoding("UTF-8"); #한글로 된 값 받기
String id=request.getParameter("id");
String sex=request.getParameter("sex");
String[] favo=request.getParameterValues("info");
String intro=request.getParameter("intro").replace("\r\n","<br>");
String favo_str="";
if(favo !=null){
for(int i=0; i<favo.length; i++){
favo_str+=favo[i]+" ";
}
return favo_str
}
%>
<ul>
#반환해서 대입된 값 출력
<li>아이디 : <%=id%></li>
<li>성별 : <%=sex%></li>
<li>관심사 : <%=favo_str%></li>
<li>자기소개 : <%=intro%></li>
</ul>
<body>
</body>
</html>
============================================
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h2> 클라이언트와 서버의 환경정보 읽기</h2>
<ul>
<li>데이터 전송방식 : <%=request.getMethod()%></li>
<li>URL : <%=request.getRequestURL()%></li>
<li>URI : <%=request.getRequestURI()%></li>
<li>프로토콜 : <%=request.getProtocol()%></li>
<li>서버명 : <%=request.getServerName()%></li>
<li>서버 포트 : <%=request.getServerPort()%></li>
<li>클라이언트 IP주소 : <%=request.getRemoteAddr()%></li>
<li>쿼리 스트링 : <%=request.getQueryString()%></li>
<li>전송 값1 : <%=request.getParameter("eng")%></li>
<li>전송 값2 : <%=request.getParameter("han")%></li>
</ul>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
#string으로 id/pw 반환후 할당
String id = request.getParameter("user_id");
String pwd = request.getParameter("user_pw");
##문자열 비교 /대소문자 구분없이 비교
if (id.equalsIgnoreCase("must") && pwd.equalsIgnoreCase("1234")) {
response.sendRedirect("responseWelcome.jsp?id="+id);
}
else {
request.getRequestDispatcher("responseMain.jsp?loginErr=1")
.forward(request, response);
}
%>
</body>
</html>