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 |