pool

coc·2023년 9월 22일
0

controller

package kr.co.gudi.Controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import kr.co.gudi.service.HomeService;


@Controller
public class HomeController {
	
	Logger logger = LoggerFactory.getLogger(HomeController.class);
	
	
	@RequestMapping(value = "/", method = RequestMethod.GET)
	public String home(Model model) {
		logger.info("Controller 접근");
		HomeService service = new HomeService();// 객체 생성
		boolean success =service.dbConnect();
		model.addAttribute("result",success); // homeservice에서 반환 받은 값을 여기세엇 success로 출력한다
		return "home";
	}
	


@RequestMapping(value="/stmt")
public String stmt(Model model) {
	logger.info("stmt 요청");
	//서비스 한테 요청
	HomeService service = new HomeService();
	String msg = service.stmt();
	logger.info(msg);
  	return "home";
	
}

}

/*import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import kr.co.gudi.service.HomeService;

@Controller
public class HomeController {
	
	Logger logger = LoggerFactory.getLogger(HomeController.class);
	
	@RequestMapping(value = "/", method = RequestMethod.GET)
	public String home(Model model) {
		logger.info("Controller 접근");
		HomeService service = new HomeService();
		boolean success = service.dbConnect();
		model.addAttribute("result", success);
		return "home";
	}
	
}*/

HomeDAO

package kr.co.gudi.DAO;

import java.sql.Connection;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HomeDAO {

	Logger logger = LoggerFactory.getLogger(HomeDAO.class); //로그가 맞는지도 잘 확인하기
	
	public boolean dbConnect() {
		
		
		//DAO를 객체화하는것은 DB를 사용하는것이다 == 클래스 객체화 할때 항상 호출되는거는 생성자이다 == 생성자를 통해 초기화를 해준다
		
		logger.info("DAO 접근");
		boolean success = false;
		
		//dB 연결작업
		//1.context.xml 에서 정보를 가져온다
		//우리가 찾는 정보는 context.xml resourec 태그 안에 있다(문제는 xml 을 어떻게 읽어 오나?)
		try {
			//1-1. context.xml 자체를 자바 객체로 변환 
			Context ctx = new InitialContext();
			//1-2. context.xml 안에 있는 resource 태그를 찾아 온다(이름을 이용해서)
			 //lookup == 찾는다는 것이다 == object반환타입
			DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/MariaDB") ; 
			
			//2.그걸로 DB 접속 요청(커넥션 가져오기)
			Connection conn = ds.getConnection(); // 캐치에서 excetion으로 받아주기
			//3.커넥션이 있으면 성공
			if(conn != null) {
				success = true;
				logger.info("connection:"+conn);// logger는 문자열이 아니면 찍을 수 없다
				//4.자원반납 == connection 안달아주면 나중에 점점 느려진다
				conn.close(); 
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		
		
		
		return success; //반환해서 homeservice로 가고 리턴값은 밑에꺼가 맞음
	}


}

/*public class HomeDAO {
	
	Logger logger = LoggerFactory.getLogger(HomeDAO.class);
	
	public boolean dbConnect() {		
		
		logger.info("DAO 접근");
		boolean success = false;
		
		// 1. context.xml 에서 정보를 가져온다.
		// 우리가 찾는 정보는 context.xml 의 Resource 태그 안에 있다.(문제는 xml 을 어떻게 읽어 오나?)		
		try {
			// 1-1. context.xml 자체를 자바 객체로 변환
			Context ctx = new InitialContext();
			// 1-2. Context.xml 안에 있는 Resource 태그를 찾아 온다.(이름을 이용해서)			
			DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/MariaDB");
			
			// 2. 그걸로 DB 접속 요청(커넥션 가져오기)
			Connection conn = ds.getConnection();
			// 3. 커넥션이 있으면 성공
			if(conn != null) {
				success = true;
				logger.info("connection : "+conn);//logger 는 문자열이 아니면 찍을 수 없다.
				// 4. 자원반납
				conn.close();
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		

				
		return success;
	}

}*/

homeservice

package kr.co.gudi.service;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import kr.co.gudi.Controller.HomeController;
import kr.co.gudi.DAO.HomeDAO;

public class HomeService {

	Logger logger = LoggerFactory.getLogger(HomeService.class);
	
	public boolean dbConnect() {
		logger.info("Service 접근");
		HomeDAO dao = new HomeDAO();
		return dao.dbConnect();// 이값을 HomeController로 반환된다
		
	}

	public String stmt() {
		// TODO Auto-generated method stub
		return null;
	}

	

}

home.jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<html>
<head>
	<title>Home</title>
</head>
<body>
<h1>
	Hello world!  
</h1>

<P>  The time on the server is ${serverTime}. </P>
</body>
</html>
profile
시작

0개의 댓글

관련 채용 정보