Rylah's Study & Daily Life
06. JSP Page Operator, Control Flow, UTF-8 본문
1. JSP 페이지의 연산자
- JSP는 자바 식별자 규칙을 따르는데, 식별자(identifier)란 클래스명, 메소드명, 멤버 변수명, 자동 변수명을 말한다.
- 자바 식별자는 길이에는 제한이 없고 첫 글자는 반드시 영문자, _, $로 시작해야 된다.
- 자바 및 JSP는 byte, short, int, long, float, double, char, boolean 등의 기본 데이터 타입을 제공한다.
- 기본 데이터 타입을 갖는 변수들은 해당 변수의 값으로 어떠한 데이터 값을 갖느낟.
- JSP에서는 자바와 마찬가지로 산술연산자, 관계연산자, 논리연산자, 비트 연산자, shift 연산자, 증감 연산자 조건 연산자, 대입 연산자를 사용할 수있다.
| 타입 | 크기(byte) | 자료 범위 | 기본 값 | 
| byte | 1 byte | -128 ~ 127 | 0 | 
| short | 2 byte | -32,768 ~ 32,767 | 0 | 
| int | 4 byte | -2,147,243,648 ~ 2,147,243,647 | 0 | 
| long | 8 byte | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | 0 | 
| float | 4 byte | -3.40292347E+38 ~ 3.40292347E+38 | 0 | 
| double | 8 byte | -1.79769313486231570E+308 ~ 1.79769313486231570E+308 | 0 | 
| char | 2 byte | '\u0000' ~ 'uFFFF' | 0 | 
| boolean | 1 bit | true or false | false | 
| 환경 변수명 | 환경 변수 값 | 
| () | left -> right | 
| ++, -- , +, -, ~, !, (cast) | right -> left | 
| *, /, % | left -> right | 
| +, - | left -> right | 
| <<, >>, >>>> | left -> right | 
| <, >, <=, >=, instanceof | left -> right | 
| ==, != | left -> right | 
| & | left -> right | 
| ^ | left -> right | 
| | | left -> right | 
| && | left -> right | 
| || | left -> right | 
| ?: | right -> left | 
| =, +=, -=, *=, /=, %= | right -> left | 
2. JSP 페이지의 제어문
- if문 : if문은 조건비교 분기문의 하나로, 주어진 조건을 비교해서 그 결과에 따라 여러 대안 중에서 하나를 선택할 때 사용, if문에 들어갈 수 있는 타입은 리턴 타입 또는 결과값이 boolean 타입인 경우에 가능
- switch문 : switch문은 다중 조건 분기일 때 if문을 대체할 수 있다. if는 다중 조건인 경우 복잡해진다. 이 때 switch를 사용하는 것이 낫다.
- for문 : 조건에 의한 일정한 문장을 반복 수행하는 문장이다.
- while문 : 반복횟수를 알 수 없는 경우에 주로 사용한다.
3. Tomcat 기반에서 한글 처리
- 서버에서 웹 브라우저에 응답하는 페이지의 화면 출력시 한글 처리
| 1 | <%@ page contentType="text/html; charset=UTF-8"%> | cs | 
- 웹 브라우저에서 서버로 넘어오는 파라미터 값에 한글이 있는 경우(Post 방식) 한글 처리
| 1 | <% request.setCharacterEncoding("UTF-8");%> | cs | 
- 웹 브라우저에서 서버로 넘어오는 파라미터 값에 한글이 있는 경우(Get 방식) 한글 처리
- <% request.setCharacterEncoding("UTF-8");%> 코드를 기입
- 추가로 실제로 서비스 하는 환경인 톰캣\conf 폴더에 있는 server.xml 파일과 이클립스 Project Explorer 뷰의 Servers Tomcat 항목에 server.xml에 한글 인코딩을 추가
1. 알고리즘?
- 주어진 문제를 해결하기 위한 일련의 과정이나 절차
2. JSP에서 사용할 수 있는 제어문들인 조건비교 분기문 및 조건비교 반복문의 종류를 나열하시오
| 제어문 | 종류 | 
| 조건문 | if, if ~ else, if ~ else if ~ else | 
| 반복문 | for, while, do while | 
3. 다음은 아이디와 패스워드를 입력하여 아이디가 "abcd"이고 비밀번호가 "z1234"라면 로그인에 성공하였습니다.를 표시하고 그렇지 않으면 로그인에 실패하였습니다.를 표시하는 프로그램을 작성해보시오
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Problem06_03 Form</title> </head> <body>     <h2>아이디와 패스워드를 입력하세요</h2>     <form method="post" action="problem06_03do.jsp">     ID : <input type="text" name="id"> <br>     PW : <input type="password" name="passwd"> <br>     <input type="submit" value="입력 완료">     </form>     </body> </html> | cs | 
| 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 | <%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Problem06_03 Do!</title> </head> <body>     <%request.setCharacterEncoding("UTF-8"); %>     <%     String id = request.getParameter("id");     String pw = request.getParameter("passwd");     boolean isPass = false;     if (id.equals("abcd") && pw.equals("z1234"))         isPass = true;     else         isPass = false;     if (isPass)         out.println("로그인에 성공하였습니다.");     else         out.println("로그인에 실패하였습니다.");     %> </body> </html> | cs | 


4. 다음과 같은 결과가 표시되도록 problem06_04Form.jsp 페이지와 probelm06_04Do.jsp를 작성하시오
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Problem06_04 Form</title> </head> <body> <h2>반복 수행할 숫자를 입력하세요.</h2> <form method="post" action="problem06_04Do.jsp"> 반복할 숫자 입력 : <input type="text" name="number"> <br>  <input type="submit" value="입력 완료"> </form> </body> </html> | cs | 
| 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 32 33 34 35 36 37 38 39 40 41 42 43 | <%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Problem06_04 Do!</title> </head> <body> <h2>입력한 숫자만큼 반복 수행</h2> <% request.setCharacterEncoding("UTF-8"); %> <% int getNums = Integer.parseInt(request.getParameter("number")); if (getNums <= 0)     out.println("생성할 값이 없습니다."); else { %> <table border="1">     <tr>         <th>글번호</th>         <th>글제목</th>         <th>글내용</th>     </tr> <%     for (int i = getNums; i > 0; i--)     { %> <tr>     <td><%=i%></td>     <td><%="제목 " + i %></td>     <td><%="내용 " + i %></td> </tr> <%         } } %> </table> </body> </html> | cs | 


'Web Study > JSP' 카테고리의 다른 글
| 08. JSP Page Action Tag (0) | 2022.03.19 | 
|---|---|
| 07. JSP Page Implicit Object (0) | 2022.03.19 | 
| 05. JSP Page Script (0) | 2022.03.16 | 
| 04. JSP Page Directive (0) | 2022.03.15 | 
| JSP 예제 에러 Timestamp (Tomcat 버전 문제) (0) | 2022.03.15 | 
 
           
                   
                   
                  