JSP&Servlet/기초정리

JSP 기초 - 스크립트릿, 표현식 실습

줘니(•̀ᴗ•́)و 2023. 1. 31. 13:39
728x90

1. HTML 파일, JSP 파일 만들기

: 사용자에게 요청받을 웹을 구축하고(html)

  그 데이터를 jsp으로 보내고 jsp에서 요청에 대한 응답을 보내주는 메커니즘.

 

 

 

 

 

JSP 파일은 HTML 파일과 같이 src파일 안 webapp에서 만들어야 한다.

꼭 webapp을 클릭한 상태에서 만들자.

 

 

 

 

2. 이름 입력 실습

 

html문서에서 데이터를 전송할 내용을 작성하면 된다.(사용자에게 요청 받을 웹 구축)

- 데이터를 전송할 땐 무조건 form 태그가 필요하다

 

 

이름을 입력받고 화면에 이름을 출력하는 코드를 만들어보자!

 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<form action="Ex03PrintName.jsp">
	
		<input type="text" name="name">
		<input type="submit" value="제출">
	
	</form>

</body>
</html>

 

 

↓ ↓ ↓ ↓ ↓

 

 

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<%
		String name = request.getParameter("name");
	%>
	
	<%= name %>

</body>
</html>

 

 

 request 는 request 라는 객체가 있어야만 사용이 가능한데,

JSP 파일은 내장 객체로 request 객체를 포함하고 있어 Servlet과 같이 사용할 수 있는 것.

 

 

입력창에 "하니"를 입력하고 제출을 누르면?

↓ ↓ ↓ ↓ ↓

 

 

 

입력한대로 잘 출력된다!

 

 

3. 계산기 만들기 실습

 

1) HTML 파일 만들기

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<form action="Ex04Return.jsp">
		<input type="text" name="num1"><br>
		<input type="text" name="num2"><br>
		<select name="oper">
			<option>+</option>
			<option>-</option>
			<option>*</option>
			<option>/</option>
		</select>
		<input type="submit" value="계산">
	</form>

</body>
</html>

 

 

2) JSP 파일 만들기

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

	<%
    // 데이터 가져오기
	String oper = request.getParameter("oper");
	int num1 = Integer.parseInt(request.getParameter("num1"));
	int num2 = Integer.parseInt(request.getParameter("num2"));
	
	// 결과값을 담기 위한 변수 선언
	int result = 0;
	
    // if문 활용하여 연산 작성
	if(oper.equals("+")){
		result = num1 + num2;
	}else if(oper.equals("-")){
		result = num1 - num2; 
	}else if(oper.equals("*")){
		result = num1 * num2;
	}else if(oper.equals("/")){
		result = num1 / num2;
	}
	%>
	
    // 표현식을 통해 출력결과 입력
	<%= num1 %><%=oper %><%=num2 %>=<%=result %>

</body>
</html>

 

 

 

 

 

 

728x90