728x90
반응형
■ 소스파일
□ depqrt package
* DepartExpert.java
package depart;
import java.util.ArrayList;
import java.util.List;
public class DepartExpert {
public List<String> getAdvice(String depart){
List<String> list = new ArrayList<>();
switch(depart) {
case "c" :
list.add("프로그램 기본인 C언어를 공부합니다.");
list.add("프로그램 기초를 공부하며 메모리 구조를 익힐때 가장 좋은 언어입니다.");
break;
case "java" :
list.add("객체지향 언어인 자바를 공부합니다.");
list.add("객체지향 언어를 이용하여 객체지형적인 프로그램 방식을 공부합니다.");
break;
case "python" :
list.add("가장 쉬운 언어인 파이썬을 공부합니다.");
list.add("프로그램 배우기가 가장 쉬우며, 빅데이터와 AI등에 많이 사용되는 언어입니다.");
break;
default :
list.add("아직 준비되지 못했습니다.");
}
return list;
}
}
* DepartServlet.java
package depart;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DepartServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html; charset=UTF-8");
String depart = req.getParameter("depart");
DepartExpert de = new DepartExpert();
List<String> list = de.getAdvice(depart);
req.setAttribute("advice", list);
RequestDispatcher view = req.getRequestDispatcher("/result.jsp");
view.forward(req, resp);
/*
* PrintWriter pw = resp.getWriter(); for(String str : list) { pw.println("<h3>"
* + str + "</h3>"); }
*/
// pw.println("<h2>넘어온 데이터 : " + depart + "</h2>");
}
}
■ view 페이지
□ depart_choice.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- depart_choice.jsp -->
<html>
<head>
<title>MVC 예제1</title>
</head>
<body>
<h1 align="center">학과 선택 페이지</h1>
<form name="f" action="depart.do" method="post">
학과선택 :
<select name="depart" size="1">
<option value="c">C언어</option>
<option value="java">JAVA언어</option>
<option value="python">파이썬언어</option>
</select>
<input type="submit" value="전송">
</form>
</body>
</html>
□ result.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*"%>
<!-- result.jsp -->
<%
List<String> list = (List)request.getAttribute("advice");
out.println("<h2>result.jsp 페이지 입니다.</h2>");
for(String str : list){
out.println("<h3>" + str +"</h3>");
}
%>
□ web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>depart</servlet-name>
<servlet-class>depart.DepartServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>depart</servlet-name>
<url-pattern>/depart.do</url-pattern>
</servlet-mapping>
</web-app>
728x90
반응형
'IT&코딩 > 자바 프로젝트' 카테고리의 다른 글
자바 프로젝트 9일차 - MVC 2 (mvcProject) (0) | 2023.02.02 |
---|---|
자바 프로젝트 8일차 - MVC 1 (mvcStudent) (2) | 2023.02.01 |
자바 프로젝트 6일차 - Servlet (testServlet) (0) | 2023.01.26 |
자바 프로젝트 5일차 - JSP 복습 3 (jspMember) (0) | 2023.01.24 |
자바 프로젝트 4일차 - JSP 복습 2 (jspBoard) (2) | 2023.01.22 |