카테고리 없음

[JAVA]Board에 글 쓰고 list 생성하기

onnnzeoz 2023. 3. 29. 20:39

controller (http 좋은말로할때 상속받고 시작하기

 

1. Webservlet 통해서 서버 목적지 정하기

post와 get 둘 다 받을 값이 있기 때문에 중복을 제거하기 위해 dual 메서드를 활용한다

dual메서드 만들고 인자값에는 req와 resp 넣어준다 

한글깨짐 방지를 위해서 req.setCharacterEncoding("UTF-8");

서버 목적지를 구하기 위해서 uri에서 context path를 제거한 값을 구할거임

 

model을 통해서 파일에 접속하고 할거기 때문에 BoardModel 객체화해서 model로 사용해줘

switch문 활용해서 addr이 뭔지에 따라 case 나눠주고 model객체에서 메서드 사용해

 

package kr.co.web.controller;

import java.io.IOException;

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.web.model.BoardModel;

@WebServlet({"/","/write"})
public class BoardController extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		dual(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		dual(req, resp);
	}
	
	protected void dual(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
		
		req.setCharacterEncoding("UTF-8");
		String uri = req.getRequestURI();
		String ctx = req.getContextPath();
		String addr = uri.substring(ctx.length());
		
		BoardModel model = new BoardModel(req, resp);
		
		switch (addr) {
		case "/":
			model.getList();
			break;

		case "/write":
			model.write();
			break;
		}
	}
}

model (생성자)

1. 가장 먼저

HttpServletRequest req;
HttpServletResponse resp;
RequestDispatcher dis;

얘네부터 써

 

arraylist부터 생성, 데이터 타입은 boardBean

이 리스트는 건들면 안되고 원본영역에 저장되어야 하니까 private과 static도 필수

 

model을 실행하면 바로 req와 resp를 받아줘야하기 때문에 this객체로 받아줌

 

getlist  메서드를 만들어주고

파일에 접속해서 리스트가 있으면 가져오고 없으면 만들거임

readFile() 만들어주고 

메서드도 만들어주고 파일 객체화하고 경로설정하고

"C:\img\temp\bbs.dat"

 

스트림 ㅁ준비하고 하고 

 

write()에서는 string에다가 값들 다 받아오고

bean에 담을거니까 bean 객체화

bean.set 어쩌고들 하고

 

list.add(bean);

writeFile(); 하고 얘 만들고

getlist(); 리스트로 돌아가야되니까