



Animal_java
메소드 클래스
package jsp0607;
public class Dog extends Animal {
@Override
public String eat() {
return "멍멍";
}
}
package jsp0607;
public class Cat extends Animal {
@Override
public String eat() {
return "야옹";
}
}
package jsp0607;
public class Pig extends Animal {
@Override
public String eat() {
return "꿀꿀";
}
}
부모
package jsp0607;
public class Animal {
public String eat() {
return "먹는다";
}
}
Animal을 이용하는 클래스
package jsp0607;
public class Feed {
public String feed(Animal animal) {
return animal.eat();
}
}
form_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>
<form action="animalPerson.jsp">
<label for="animal">동물 선택</label>
<select name="animal">
<option selected>선택</option>
<option value="dog" >개</option>
<option value="cat">고양이</option>
<option value="pig">돼지</option>
<input type="submit">
</select>
</form>
</body>
</html>
Person_JSP
<%@page import="jsp0607.Pig"%>
<%@page import="jsp0607.Dog"%>
<%@page import="jsp0607.Cat"%>
<%@page import="jsp0607.Animal"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="jsp0607.Feed" %>
<%
//전송된 동물 값(parameter)을 가져옴
String animal = request.getParameter("animal");
Feed feed = new Feed();
Animal animals;
Cat cat = new Cat();
Dog dog = new Dog();
Pig pig = new Pig();
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
// 선택된 동물이 "dog"인지 확인
if(animal.equals("dog")){
//feed.feed(dog)를 호출하여 Feed 클래스의 feed() 메서드를 실행
//이 때, dog 객체를 인자로 전달
%><%=feed.feed(dog) %><%
}else if(animal.equals("cat")){
%><%=feed.feed(cat) %><%
}else if(animal.equals("pig")){
%><%=feed.feed(pig) %><%
}
%>
</body>
</html>
'프로젝트 기반 자바(JAVA) 응용 SW개발자 취업과정 > JSP 활용 연습' 카테고리의 다른 글
게시판 만들기_1 ( list.jsp / view.jsp )MariaDB (0) | 2023.06.15 |
---|---|
List 회원 클릭 시 회원 정보 조회 하기 (0) | 2023.06.13 |
MariaDB활용 테이블 추가(Insert) (0) | 2023.06.12 |
MariaDB활용 테이블 조회(Select) (0) | 2023.06.12 |
사용자 정보 입력 받은 후 출력하기 (0) | 2023.06.07 |