N스크린하이브리드앱과정/JSP:Model-1

[4주][1일][5~8th] JSP: 실습, 미성년자 확인, 성별/취미 출력하기, 출력시 한글 깨지지 않게하기

광천스러움 2013. 8. 5. 18:31

★ 개념

▷ 내장객체

(1) request : 클라이언트의 요청정보 저장

(2) response : 서버에서 처리한 응답정보를 저장

(3) session : 클라이언트-서버 연결정보 저장

                 연결되어있는 동안은 계속 기억하고 있음.

(4) out : 출력

(5) application : 한 사이트를 실행하는 동안 저장

(6) pageContext : 한 페이지에 대한 정보 저장

 

 

★ 오늘 수업에서 배운거!

- 다른 jsp파일에서 문자열 받아오기 : request.getParameter("이름 변수")

 - 문자열을 정수로 바꾸기 : Integer.parseInt()

 - 출력하기 : out.println();

 - 한글 안깨지게 하기 : request.setCharacterEncoding("utf-8");

 - 배열 문자열 값을 받아오기 : request.getParameterValues()

※ 텍스트 상자를 제외하고 모든 input type에는 value값을 지정해 주어야 한다.

 

 

 

☆ 실습(1) : 문자열 출력하기

 - 사용 객체 : request

 - 사용 메서드 : getParameter()

 

1. 일단 두개의 파일 생성이 필요하다.

  (1) form1.jsp

 

  (2) formPro1.jsp

 

결과

 

 

☆ 실습(2) : 문자열->정수형 으로 바꾸기

 (1) form1.jsp

바디

<form action="formPro1.jsp" method="post">
<input type="text" name="fnum">
<input type="submit" value="전송">

 

 (2) formPro1.jsp

바디

<%
//파라미터 값은 => 무조건 문자열!
String snum = request.getParameter("fnum");
//문자열 => 정수형
int num = Integer.parseInt(snum);
%>
입력한 숫자는 <%=snum+10 %>입니다.<br>
입력한 숫자는 <%=num+10 %>입니다.<br>
<%
if(num>10){
 out.println(num+"은 10보다 크다");
}else{
 %>
 <%=num %>: 10보다 작거나 같다<br>
 <%
}
%>

 

결과

첫번째 결과는 입력된 숫자가 문자열이기 때문에 뒤에 10을 문자로 인식했다.

두번째 결과는 parseInt()로 문자열->정수형으로 바꿔주었기 때문에 20이 출력되었고,

세번째 결과는 if에 대한 결과이며, 코드는 위 (2)번의 "바디" 부분과 같다.

 

 

☆ 실습(3) : 미성년자 확인하기

 - 위의 실습 결과를 토대로, 아래와 같은 결과를 출력해보자.

정답

(1) form2.jsp

바디

<form action="formPro2.jsp" method="post">
이름  <input type="text" name="fname"><br>
나이  <input type="text" name="fage"><br>
<input type="submit" value="전송">

 

(2) formPro2.jsp

바디

<%

 request.setCharacterEncoding("utf-8");
 String name = request.getParameter("fname");
 String age = request.getParameter("fage");
 int num = Integer.parseInt(age);
%>
입력한 이름은 <%=name %>이고, 나이는 <%=age %>살 입니다.<br>
<%
if(num>=20){
 //out.println(name+"님의 나이는 20세이상 입니다.");
 %>
 <%=name %>님은 20세이상 입니다.<br>
 <%
}
else{
 %>
 <%=name %>님은 미성년입니다.<br>
 <%
}
%>

 

* UTF-8설정(한글 안깨지게 하기)

한글을 안깨지게 하려면, 다음과 같은 설정을 해주어야 한다.

위 그림에서 server.xml을 직접 바꾸면, 이클립스 상에서만 적용되기 때문에..

 

 

아래의 경로에서 server파일을 메모장으로 열어서

 

70번줄에 URIEncoding="UTF-8" 을 추가해주면 된다.

 

 

 ☆ 실습(4) : 성별&직업&취미 출력하기

 - 문제 : 아래 그림과 같이 폼을 만들고

 

아래 그림과 같은 출력 결과를 내시오.

 

 

전체 소스

(1) form3.jsp

 

(2) formPro3.jsp

 

 

☆ 실습(5) : 테이블 내용을 for문으로 출력하기

 - 문제 : 아래 그림과 같은 표를 for문으로 똑같이 만들어보자

 

정답(2가지 방법)