국비학원/공부

26일차 jsp(1)

mikan- 2023. 7. 3. 13:55

# jsp (1)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%!
	// 선언문 : 현재 jsp페이지 전체에서 위치에 상관없이 사용할 변수, 메소드가 필요로한 경우
	// 작성호출하고자 할때
	String name = "홍길동";
	
	// public static String getName() {} -> 자바빈즈를 통해서 부름
	public String getName() {
		return name;
	}
%>

<html>
<head>
<meta charset="UTF-8">
<title>Jsp 3번째 예제(표현식 활용, 선언문의 메소드작성)</title>
</head>
<body>
<%
float f = 2.3f; // double
int i = Math.round(f); // 반올림X

// import 구문을 사용X
// 최상위패키지명.하위패키지명..불러올 클래스명
java.util.Date d = new java.util.Date();
out.println("d의 값은? : " + d); // d.toString() (날짜 -> 문자)
%>
<hr><p>
정수 f의 반올림값은? <%=i%><p>
현재의 날짜와 시간은? <%=d.toString() %><br>
name의 값은? <%=name %><p>
getName()을 호출?
</body>
</html>

 

# jsp - Array

<html>
<head>
<meta charset="UTF-8">
<title>배열의 값 출력(array.jsp)</title>
</head>
<body>
<%
// 자바코드 안쪼에 태그를 쓰기 위해서는 전의 문장에 닫아주는 문장이 필요하다.
String keyword[] = {"scriptlet", "expression", "declaration"};
%>
<table border="1">
		<% for (int i = 0; i < keyword.length; i++) {%>
			<tr>
				<td><%=i%></td>
				<td><%=keyword[i]%></td>
			</tr>	
		<%}%>
</table>
</body>
</html>

 

# jsp - comment

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Jsp 주석</title>
</head>
<body bgcolor = "pink">
<!-- 눈에 보이는 주석입니다. 
	Ctrl + Shift + / 
	-> html 주석이면서 jsp 주석입니다. 
	Ctrl + Shift + \ 주석 해제
-->
<%-- 눈에 안보이는 주석입니다.(외부에서 접근하는 사용자는 안보임) 
	액션태그나 표현식을 주석처리할 때에는 눈에 안보이는 주석사용
--%>
<h1>Jsp주석을 확인하는 예제</h1>
<!-- 표현식을 이용해서 간단한 계산(수식)도 가능하다. -->
<!-- 9+3=<%=9+3%> /* 자바주석도 사용 가능 */ -->
주석이용 : <!-- <%=5+3 %> -->
<%=5+3 %>
<%-- <%= new java.util.Date() %> --%>
</body>
</html>

 

# jsp - while

<html>
<head>
<meta charset="UTF-8">
<title>응답</title>
</head>
<body>
<%
	// get방식으로 요청 하게 되면 url창에 전달되는 값이 노출됨
	// 요청하는 페이지명?전달할 매개변수=전달할 값&전달할 매개변수2=전달할 값2&.....
	request.setCharacterEncoding("utf-8"); // 한글처리
	
	String message = request.getParameter("message"); // ex) 안녕하세요.

	// 숫자는 숫자가 아니기 때문에 문자에서 정수로 바꿔야 된다.
	int number = Integer.parseInt(request.getParameter("number"));
	
	System.out.println("message : " + message);
	System.out.println("number : " + number);
	
	int count = 0; // 반복할 횟수를 저장
	while (number >= count) { // "5" -> 5 -> 0
		out.println(message);
		count++;
	}
%>
</body>
</html>

 

# jsp - if

<html>
<head>
<meta charset="UTF-8">
<title>요청을 받아서 처리해주는 페이지(=응답페이지)</title>
</head>
<%!String message; // 전달받은값이 영어면 한글로 바꿔서 출력(색깔)%>
<%
	// 한글처리
	request.setCharacterEncoding("utf-8"); // 옛날엔 euc-kr
%>
<%
// 요청하는 페이지가 전달해주는 매개변수를 전달 받아서 처리
// request 내장객체
// 형식) String 전달받은 변수명 = request.getParameter("매개변수명")
String name = request.getParameter("name");
String color = request.getParameter("color");
System.out.println("name : " + name + ", color : " + color); // 값이 안보내지면 null뜸

// equals or contentEquals
if (color.equals("blue")) { // 객체X equals(NullPointerException)
	message = "파란색";
} else if (color.equals("red")) {
	message = "붉은색";
} else if (color.equals("orange")) {
	message = "오렌지";
} else {
	color = "white";
	message = "흰색";
}
%>
<body bgcolor="<%=color%>">
	<%=name%>
	님이 좋아하는 색깔은? :
	<%=message%>입니다.
</body>
</html>

 

# jsp - input

<html>
<head>
<meta charset="UTF-8">
<title>사용자로부터 값을 입력(전송폼)</title>
</head>
<body>
	<h1>이름, 색깔을 입력</h1>
	<form method = "post" action = "iftest.jsp">
		이름 : <input type = "text" name = "name"><p>
		좋아하는 색 : <select name = "color">
		<option value = "blue">파란색</option>
		<option value = "red">붉은색</option>
		<option value = "orange">오렌지색</option>
		<option value = "etc">기타색</option></select><p>
		<input type = "submit" value = "보내기">
	</form>
</body>
</html>

 

# jsp - input (2)

<html>
<head>
<meta charset="UTF-8">
<title>input2.jsp(문자열, 숫자전달)</title>
</head>
<body>
	<form action="../abc/while.jsp" method="post">
		반복할 문자열 : <input type="text" name="message" size="20">
		<p>
			반복할 숫자 : <input type="text" name="number" size="20">
		<p>
			<input type="submit" value="전송">
	</form>
</body>
</html>

'국비학원 > 공부' 카테고리의 다른 글

28일차 jsp(3)  (0) 2023.07.03
27일차 jsp(2)  (0) 2023.07.03
25일차 java(last) - ChatGUI make  (0) 2023.07.03
25일차 java(13)  (0) 2023.07.03
24일차 java(12)  (0) 2023.07.03