Controller
package kr.co.gudi.controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import kr.co.gudi.model.Box;
import kr.co.gudi.model.GBox;
import kr.co.gudi.model.Nbox;
@WebServlet("/input")
public class Controller extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String no = req.getParameter("no");
String name = req.getParameter("name");
String grade = req.getParameter("grade");
System.out.println(no+"/"+name+"/"+grade); //1.위에방식들이 처음으로 할거
//위 내용을 클래스에 추가
//클래스는 내부필드의 데이터타입이 이미 정해져 있다
//클래스 내 데이터 타입을 바꿀수 없다.
Box box =new Box();
box.setNo(Integer.parseInt(no));
box.setName(name);
box.setGrade(grade.toCharArray()[0]);
System.out.println(box.getNo());
System.out.println(box.getName());
System.out.println(box.getGrade());// 객체안에 내용을 알고싶으면 .찍어서 확인
req.setAttribute("box", box);
RequestDispatcher dis = req.getRequestDispatcher("index.jsp");
dis.forward(req, resp);
}
}
Model
package kr.co.gudi.model;
//빈 규약:데이터를 담는 자바파일(클래스)은 private으로 필드를 지정해야 한다
public class Box {
private int no;
private String name;
private char grade;
//밑에 get set은
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getGrade() {
return grade;
}
public void setGrade(char grade) {
this.grade = grade;
}
}
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="https://code.jquery.com/jquery-3.7.0.min.js"></script>
</head>
<body>
<form action="input">
<p>no: <input type="text" name="no"></p>
<p>game: <input type="text" name="name"></p>
<p>grade: <input type="text" name="grade"></p>
<button>입력</button>
</form>
<p>no: ${box.no}</p>
<p>name:${box.name}</p>
<p>game:${box.grade}</p>
</body>
</html>