Dev/Servlet&JSP

Servlet & JSP 기초 알아가기 2

OK-가자 2021. 10. 12. 10:09

JSP 코드 설명

  1. JSP 코드는 HTML 페이지와 비슷하고 부분적으로 Java 코드를 포함한다.
  2. 하나 이상의 Java 문장을 포함하는 스크립틀릿(scriptlet)을 작성하기 위해서 <% 와 %> 태그를 사용한다.
  3. 문자열로 변환되는 표현식(expression)을 출력하기 위해서 <%= 와 %> 태그를 사용한다.
  4. JSP 페이지 안에서 암묵적인 요청 객체(implicit request object)를 사용할 수 있고, request 라고 불린다.
When you code a JSP, you can use the implicit request object. This object is named request.  
request 객체의 getParameter 메소드는 JSP로 전달되는 파라미터의 값을 얻는데 사용된다.

스크립틀릿(scriptlet) & 표현식(expression) 문법

스크립틀릿 문법  
<% Java statements %>

표현식 문법

<%= 문자열로 변경될 수 있는 Java 표현식 %>

request 객체로부터 인자 값을 받는 식  
request.getParameter( parameterName );

스크립틀릿 & 표현식 사용 예

파라미터 값을 화면에 출력하는 스크립틀릿 & 표현식 예

<% String firstName = request.getParameter("firstName"); %>  
The first name is <%= firstName %>.  

파라미터 값을 화면에 출력하는 표현식 예

The first name is <%= request.getParameter("firstName") %>.  
HTML 라인을 5회 출력하는 스크립틀릿 & 표현식 예  
<%  
int numOfTimes = 1;  
while (numOfTimes <= 5) {  
%>

This line is shown <%= numOfTimes %> of 5 times.


<%  
numOfTimes++;  
}  
%>

스크립틀릿 & 표현식 요약

  1. 스크립틀릿(scriptlet) 안에 하나 이상의 Java 구문(statement)을 작성할 수 있다.
  2. 스크립틀릿 안에 들어 가는 문장은 Java 구문이기 때문에 각 문장을 세미콜론으로 마무리 해야 한다.
  3. JSP 표현식은 연산을 수행한 후 결과값이나 변수의 값을 정해진 위치에 표현할 수 있다.
  4. JSP 표현식 안에는 원시(primitive) 타입이나 toString 메소드를 가지고 있는 객체가 위치한다.
  5. JSP 표현식은 문자열로 변환되는 표현식이기 때문에 세미콜론을 붙이지 않는다.

request 객체의 메소드

체크 박스의 체크여부를 확인하는 스크립틀릿 예

<% String rockCheckBox = request.getParameter("Rock");  
// 체크된 경우에 “on” 또는 체크 박스의 값(value)를 리턴하고,  
// 체크되지 않은 경우에는 null을 리턴한다.  
if (rockCheckBox != null){  
%>  
You checked Rock music!  
<% }  
%>  

리스트 박스의 다중 선택 값을 확인하는 스크립틀릿 예

<% String\[\] selectedCountries = request.getParameterValues("country");  
// 리스트 박스에서 선택된 항목들의 값(value)을 String 배열 타입으로 리턴한다.  
for (int i = 0; i < selectedCountries.length; i++){  
%>  
<%= selectedCountries\[i\] %>  

<% }  
%>

모든 파라미터의 이름과 값을 확인하는 스크립틀릿 예

<%  Enumeration parameterNames = request.getParameterNames();
    while ( parameterNames.hasMoreElements() ){
        String parameterName = (String)parameterNames.nextElement();
        String parameterValue = request.getParameter(parameterName);
%>
        <%= parameterName %> has value <%= parameterValue %>. <br>
<%  
    }
%>

request 객체의 메소드 요약

  1. 그룹에서 선택된 라디오 버튼이나 콤보 박스에서 선택된 항목의 값을 리턴하기 위해서 getParameter 메소드를 사용한다.
  2. 체크 박스에서 선택된 항목의 값을 리턴하기 위해서도 사용된다. 단, 선택된 항목이 없으면 null이 리턴된다.
  3. 라디오 버튼이나 체크 박스에 value 속성이 없고 특정 항목이 선택된 경우에는 “on”을 리턴한다.

JSP 페이지 호출

  1. HTML form에서 GET 방식으로 JSP를 호출하면 파라미터는 URL에 덧붙여진다.
  2. JSP 페이지를 호출하기 위해 URL을 입력할 때 물음표(?) 다음에 파라미터 목록을 더할 수 있다. 각 파라미터는 이름, 등호(=), 값으로 이루어진다.
  3. 여러 개의 파라미터를 사용하려면 앰퍼샌드 기호(&)로 각각의 파라미터를 분리한다.

POST 메소드를 이용한 JSP 호출

POST 메소드를 사용하기 위한 HTML form 태그

<form action="add.jsp" method="post">

GET 메소드를 사용하는 경우

  1. 가능한 한 빠르게 데이터를 전송하기 원하는 경우
  2. 4KB 보다 적은 데이터를 보내는 경우
  3. 파라미터가 URL에 표시되어도 상관없는 경우
  4. 사용자가 웹 페이지를 브라우저에 등록(bookmark)할 때 파라미터를 포함하는 경우

POST 메소드를 사용하는 경우

  1. 4KB가 넘는 데이터를 전송하는 경우
  2. URL 뒤에 파라미터가 덧붙여지면 안 되는 경우

JSP 태그

'Dev > Servlet&JSP' 카테고리의 다른 글

Servlet & JSP 기초 와 실습(MVC 2)  (0) 2021.10.08
Servlet & JSP 기초 와 실습(MVC 1)  (0) 2021.10.08
Servlet & JSP 기초 알아가기 1  (0) 2021.10.07