* jsp : html 사이에 java의 문법 사용이 가능하게 해줌
+window-preferences-emmet - expand~~ 에 jsp 확장자 추가 |
* JSP의 스크립트 요소
1. 스크립트릿 <% %>
2. 표현식 <%= %>
3. 선언
- [movie.jsp] : 문자열과 영화 포스터 나열 (for문 활용)
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
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>movie.jsp</title>
<style>
img {
width: 200px;
height: 200px; }
</style>
</head>
<body>
<h1>영화포스터</h1>
<%
// JSP의 Script 요소
// 1. 스크립트렛(scriptlet)
for(int i=1; i<=3; i++){
%>
<%= i %><img src="../images/movie_image<%= i %>.jpg" alt="" />
<%
}
%>
</body>
</html>
|
cs |
- [gugudan.jsp] : 구구단 3단 출력
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>gugudan.jsp</title>
</head>
<body>
<!-- 테스트 -->
<%-- JSP 주석
h1태그로 구구단 3단 출력--%>
<%
for(int i=1; i<10; i++){
%>
<h1> 3 * <%= i %> = <%=3*i%> </h1>
<%
}
%>
</body>
</html>
|
cs |
- [prtGuGuDan.jsp] : 텍스트 창에 숫자 입력하면 해당 숫자로 구구단 출력
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
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>prtGuGuDan.jsp</title>
</head>
<body>
<!-- action 값을 따로 지정하지 않은면 자기 자신에게 리턴 된다. -->
<form action="" method="get">
<input type="text" name="dan" id="" />
<input type="submit" value="출력" />
</form>
<%
String d = request.getParameter("dan");
/* out.println(dan); */
// 문자 => 숫자로
if (d != null) {
int dan = Integer.parseInt(d);
// 화면에 구구단 출력
for(int i = 1; i<10; i++) {
out.println("<h3>"+dan+" * "+i+" = "+dan*i+"</h3>");
}
}
%>
</body>
</html>
|
cs |
- [sendMsg.jsp] : 텍스트창에 문자 입력하고 제출하면 창에 출력
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>sendMsg.jsp</title>
</head>
<body>
<form action="receiveMsg.jsp">
<input type="text" name="msg" id="" />
<input type="submit" value="전송" />
</form>
</body>
</html>
|
cs |
- [receiveMsg.jsp] : msg 출력
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
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>receiveMsg.jsp</title>
</head>
<body>
<%
/* 따로 선언하지 않아도 쓸 수 있는 변수
지금 사용하는 코드는 _jspService() 안쪽으로 들어가게 된다.
미리 선언되어 있는 지역변수 : JSP 내장 객체 */
String msg = request.getParameter("msg");
/* 브라우저에 h2 태그 출력 */
out.println("<h2>" + msg + "</h2>");
%>
<h2><%= msg %></h2>
</body>
</html>
|
cs |
- [now.jsp] : 현재 날짜 + 시간 출력
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
|
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>now.jsp</title>
</head>
<body>
<%
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy년 MM월 dd일 hh:mm:ss");
String time = sdf.format(d);
out.println("<h1>" + time + "</h1>");
%>
<!-- h1 태그로 오늘 날짜, 현재 시간 출력 -->
<h1> 현재시간은 <%= time %></h1>
</body>
</html>
|
cs |
* JSP의 스크립트 요소
1. 스크립트릿
2. 표현식
3. 선언
- [sumvalue.jsp] : 누적 합계 계산
> 변수 선언부 /실행부
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
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>sumValue.jsp</title>
</head>
<body>
<!-- 스크립트 요소
1. 스크립트릿
2. 표현식
3. 선언
-->
<%
// 실행부 : _jspService()
int k = 0; // _jspService() : 지역변수
for(int i=1; i<=100; i++) {
sum += i;
}
%>
<!-- JSP Expression -->
<h1>1부터 100까지 누적 합계 : <%= sum %></h1>
<%!
// 변수 선언부 : 멤버변수, 전역변수
int sum = 0;
%>
</body>
</html>
|
cs |
- [hap.jsp] : 사용자의 입력값으로 합 계산해서 텍스트 창에 출력
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
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>hap.jsp</title>
</head>
<body>
<%
// 1. num1의 파라미터 값 가져오기
String num1 = request.getParameter("num1");
String num2 = request.getParameter("num2");
// 2. 변수 초기화
int n1 = 0;
int n2 = 0;
int n3 = 0;
// 3. num1, num2의 값이 null이 아니라면
// n1, n2, n3의 값에 대입
if(num1 != null && num2 != null){
// 문자를 숫자로 형변환
n1 = Integer.parseInt(num1);
n2 = Integer.parseInt(num2);
n3 = n1+n2;
// 4. 이 값을 태그의 value 값으로 지정
}
%>
<form action="">
<input type="text" name="num1" id="" value="<%=n1 %>"/>+
<input type="text" name="num2" id="" value="<%=n2 %>"/>
<input type="submit" value="=" />
<input type="text" name="result" id="" value="<%=n3 %>"/>
</form>
</body>
</html>
|
cs |
- [test.jsp] : 선언부 / 스크립트릿 / HTML 테스트
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
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>test.jsp</title>
</head>
<body>
<%
// 선언부 >> 멤버변수
int a;
%>
<% // 스크립트릿
a = 10;
out.println("<h3> out은 내장 객체 </h3>");
%>
<h1>Hello JSP World</h1>
<h3>a 변수의 값 : <%=a %></h3>
</body>
</html>
|
cs |
* 서블릿의 request method
request.getMethod();
request.getRemoteAddr();
request.getQueryString();
- [requestEx.jsp] : request method 정리
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
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>requestEx.jsp</title>
</head>
<body>
<%
/*
HttpServletRequet request객체
요청객체
*/
// 한글처리
request.setCharacterEncoding("UTF-8");
// get, post 방식 ? 어떤 걸 선택했는지 확인하는 메소드
String method = request.getMethod();
// IP ? : 어떤 사용자가 나에게 요청을 했는지 확인
String ip = request.getRemoteAddr();
// QueryString
// ?id=aaa&pw=bbb
String queryString = request.getQueryString();
out.println("<h2> method : " + method + "</h2>");
out.println("<h2> IP : " + ip + "</h2>");
out.println("<h2> QueryString : " + queryString + "</h2>");
%>
</body>
</html>
|
cs |
* 서블릿의 response method
response.getStatus();
response.sendRedirect():
- [responseEx.jsp] : response method 정리
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
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>responseEx.jsp</title>
</head>
<body>
<%
int status = response.getStatus();
out.println("<h3> 상태 : " + status + "</h3>");
// 200 : 정상
// 404 : NOT FOUND
// 405 : doGet, doPost
// 500 : server side logic error
%>
<h2> 다른 페이지로 이동 </h2>
<!-- menu.jsp로 이동 -->
<ol>
<li>forward</li>
<!-- forward : 자연스럽게 내부적으로 페이지를 이동 -->
<%
RequestDispatcher rd = request.getRequestDispatcher("menu.jsp");
rd.forward(request, response);
// forward할 때 매개변수로 현재 요청, 응답을 함께 가져가기 때문에 파라미터 값이 함께 전달
// 따라서, http://localhost:8080/web/day03/responseEx.jsp?msg=hello 입력했을 때,
// forward는 메세지에 hello 입력됨 => redirect는 그대로 null
%>
<li>redirect</li>
<!-- 주소창이 menu.jsp로.. -->
<%
/* response.sendRedirect("menu.jsp"); */
%>
</ol>
</body>
</html>
|
cs |
- [gugudan.jsp] : h1태그로 구구단 3단 출력
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
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>gugudan.jsp</title>
</head>
<body>
<%
// PrintWriter out = resp.getWriter();
// 표현식 : 출력 결과(HTML)에 값을 넣기 위해 사용
for (int i=1; i<=9; i++) {
%>
<h1> 3 * <%=i %> = <%=3*i %> </h1>
<%
}
for( int i=1; i<=9; i++) {
out.println("<h3> 3 * " + i + " = " + 3*i + "</h3>");
}
%>
</body>
</html>
|
cs |
'web' 카테고리의 다른 글
[jsp] jspService의 지역 변수 / forward&redirect / 로그인, 회원가입 페이지 만들기 (1) | 2023.04.30 |
---|---|
[JSP] 데이터베이스 파일(DEPT) 가져와서 출력<VO/DAO> (0) | 2023.04.30 |
[jsp] <로그인 페이지 만들기(db 연결!)> : member 테이블 사용 + lombok 다운로드 (0) | 2023.04.30 |
[web] Servlet(GenericServlet / HTTPServlet) (0) | 2023.04.23 |
[web] Servlet (0) | 2023.04.23 |