jsp 코드로 이해하기1

jaminyeong·2023년 11월 27일

jsp

목록 보기
9/10

내장객체

https://velog.io/@xnfxnf97/JSP-%EB%82%B4%EC%9E%A5-%EA%B0%9D%EC%B2%B4

https://velog.io/@jkijki12/HTTP-Header-%EC%A0%95%EB%A6%AC

<%@ 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>

request 하위 구문 확인

  • 만약 헤더값을 내가 직접 설정하거나 변경할 수 있다
    1) 헤더 추가
    response.addHeader("abc","abcdef")
    2) 헤더 값 변경
    response.setHeader("abc","112233")
    3) 헤더값을 정수값으로 변경
    response.setIntHeader("abc",25)
 
<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>

equalIgonoreCase

https://lnsideout.tistory.com/entry/JAVA-%EC%9E%90%EB%B0%94-equalsIgnoreCase-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%B9%84%EA%B5%90-%EB%B0%A9%EB%B2%95

getRequestDispatcher()

https://u-it.tistory.com/21

 
<%@ 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>
profile
주니어 개발자 잼미뇽 공부용 기록장

0개의 댓글