티스토리 뷰

계산기를 만들기에 앞서, 계산기를 만들 때 필요한 JSP 개념과 짚고 넘어가자.


* JSP 는 CS Programming이다.

C : Client
S : Server

CS 프로그래밍에서는  JSP를 배우는 목적은 CS프로그래밍을 하기 위함으로, 클라이언트와 서버간의 요청(request)과 응답(response)이 가장 중요하다. 


# 요청과 응답

요청(request)는 URL에 포함되어 있는 정보를 가져오는 것으로 내장된 객체이다. (웹의 url은 자바의 메소드와 같은 역할을 한다.)

브라우저에서 요청이 가면(①) JVM안에 tomcat 서버에게 전달이 되고, tomcat에서 그 안의 JSP에 요청을 해서(②) JVM에서 처리를 한 후(③) 다시 그 결과를 tomcat에게 전달해준다(④). 그 후 tomcat이 다시 브라우저에게 그 결과를 가지고 응답(request)한다(⑤).





1. JSP로 심플 계산기 만들기 - 한 페이지 내에서 계산하기

JSP를 이용해서 10 + 50 의 결과는 60  라는 결과를 얻어보려고 한다.


다음과 같이 스크립트릿 안에 정수형 변수를 선언하고, 연산을 해서 결과를 출력할 수 있다.


2. JSP로 심플 계산기 만들기 - URL 로 숫자 받아와서 계산하기

변수 자체를 URL로 넘겨서 출력할 수 있다. URL에 http://localhost:8080/HelloJSP/cal3.jsp?f=50&s=70 라고 입력한 후 아래와 같이 작성한다. 

- URL의 ?는 파라미터로 이후의 정보를 넘긴다는 의미를 가진다.

- key=value 형태로 전달된다.

- 여러개의 파라미터가 전달될 경우는 &로 연결한다.




f와 s에 값을 가져오려면 파라미터로 들어온 값을 가져와야하는데 다음과 같이 코드를 수정한다.



3. JSP로 심플 계산기 만들기 - 사용자에게 입력받기

데이터를 유저로부터 받아 전송할 때는 <form> 태그를 사용한다. (참고 url : http://www.w3schools.com/html/html_forms.asp)

form이 가지고 있는 element와 attribute들을 살펴보자.


1. <input> 엘리먼트

input은 반드시 type과 name이 있어야한다. input type의 종류는 아래와 같으며, name은 key값이다.

 type

 description

example 

text

일반적인 문자열

 <form>

  First name:<br>
  <input type="text" name="firstname"><br>
  Last name:<br>
  <input type="text" name="lastname">
</form>

radio 

여러개 중 하나를 선택할 때 사용할 수 있는 라디오 버튼 

 <form>
  <input type="radio" name="gender" value="male" checked> Male<br>
  <input type="radio" name="gender" value="female"> Female<br>
  <input type="radio" name="gender" value="other"> Other
</form>

submit 

form을 넘길 때 사용할 수 있는 제출 버튼 

 <form action="action_page.jsp">
  First name:<br>
  <input type="text" name="firstname" value="Mickey"><br>
  Last name:<br>
  <input type="text" name="lastname" value="Mouse"><br><br>
  <input type="submit" value="Submit">
</form>


2. Action 속성
action 속성은 폼을 넘길 때 어디로 넘길지를 적는 곳이다. 서버로 submit을 하면, 일반적으로 그 form은 다른 웹 페이지로 넘어간다. 만약에 action 속성을 적지 않으면, 현재 페이지가 다시 새로고침된다. 




3. Method 속성
Method 속성에는 폼을 넘길 때 어떤 HTTP 방식으로 넘길지를 적는다. HTTP 방식에는 2가지가 있다.

get 방식

<form action="action_page.php" method="get">

- url에 데이터가 노출된다. 따라서 장문의 글을 쓰면 등록이 안된다. 

post 방식

<form action="action_page.php" method="post">

- url에 데이터가 노출이 안된다.



4. Name 속성

form을 넘길 때 name 속성이 반드시 정의되어 있어야 한다. name 속성에 key값을 적어야 action에 적은 웹 페이지에서 데이터를 받을 수 있다.


post방식으로 submit을 하면 URL에 값이 노출이 안된 상태로 전달된다. 결과값을 받을 때는 마찬가지로 다음과 같이 getParameter로 받는다.
파라미터는 문자로 들어가기 때문에 반드시 String으로 받는다.


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함