Prod(servlet, service, dao, vo, html, jsp)

조수경·2021년 12월 3일
0

HTML

목록 보기
96/96

ProdServlet

package kr.or.ddit.prod.controller;

import java.io.IOException;
import java.util.List;

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.or.ddit.buyer.service.BuyerServiceImpl;
import kr.or.ddit.buyer.service.IBuyerService;
import kr.or.ddit.buyer.vo.BuyerVO;
import kr.or.ddit.prod.service.IProdService;
import kr.or.ddit.prod.service.ProdServiceImpl;
import kr.or.ddit.prod.vo.ProdVO;


@WebServlet("/ProdServlet")
public class ProdServlet extends HttpServlet{
	private static final long serialVersionUID = 1L;
	
	 /**
     * @see HttpServlet#HttpServlet()
     */
    public ProdServlet() {
        super();
        // TODO Auto-generated constructor stub
    }
	
    /**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		//0. 클라이언트 요청시 전송되는 데이터를 받는다
		String prodlgu = request.getParameter("lgu");
		
		  //1. service 객체를 얻는다
		IProdService service =
				ProdServiceImpl.getProdService();
				
		  //2.  service 메소드 호출 - 결과 : List<MemberVO>
		List<ProdVO> list = service.selectAll(prodlgu);  
		
		
		  //3.수행결과를 request에 저장
		request.setAttribute("nana", list);
		
		  //4. jsp.viewpage에 위임하여 출력한다 - jsonobject 배열로 응답 데이터를 생성한다
		  //jsp로 forward
	    RequestDispatcher disp = request.getRequestDispatcher("1203/prod.jsp");
	    disp.forward(request, response);
	    
	}
	
	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//0. 클라이언트 요청시 전송되는 데이터를 받는다
		String prodnm = request.getParameter("id");
		  //1. service 객체를 얻는다
		IProdService service =
				ProdServiceImpl.getProdService();
				
		  //2.  service 메소드 호출 - 결과 : List<MemberVO>
		ProdVO vo = service.selectProd(prodnm);  
		
		  //3.수행결과를 request에 저장
		request.setAttribute("iaiaia", vo);
		
		  //4. jsp.viewpage에 위임하여 출력한다 - jsonobject 배열로 응답 데이터를 생성한다
		  //jsp로 forward
	    RequestDispatcher disp = request.getRequestDispatcher("1203/prodtable.jsp");
	    disp.forward(request, response);
	}

    
}

IProdDao

package kr.or.ddit.prod.dao;

import java.util.List;

import kr.or.ddit.prod.vo.ProdVO;


public interface IProdDao {

	//메소드 선언
		//public 리턴결과형 메소드이름(자료형 변수명)
		public List<ProdVO> selectAll(String prodlgu);
		
		public ProdVO selectProd(String prodnm);
	
}

ProdDaoImpl

package kr.or.ddit.prod.dao;

import java.sql.SQLException;
import java.util.List;

import com.ibatis.sqlmap.client.SqlMapClient;

import kr.or.ddit.ibatis.config.SqlMapClientFactory;
import kr.or.ddit.prod.dao.ProdDaoImpl;
import kr.or.ddit.prod.vo.ProdVO;


public class ProdDaoImpl implements IProdDao{

	private SqlMapClient smc;
	private static ProdDaoImpl dao;
	
	private ProdDaoImpl() {
		smc = SqlMapClientFactory.getSqlMapClient();
		
	}

	public static ProdDaoImpl getprodDao() {
		if(dao==null) dao = new ProdDaoImpl();
		 return dao;
	}
	
	public List<ProdVO> selectAll(String prodlgu){
		List<ProdVO> list = null;
		
		try {
		list = smc.queryForList("prod.selectAll", prodlgu);
		 } catch (SQLException e) {
	         // TODO Auto-generated catch block
	         e.printStackTrace();
	      }
		
		return list;
	}

	@Override
	public ProdVO selectProd(String prodnm) {
		ProdVO vo = null;
		try {
			vo = (ProdVO)smc.queryForObject("prod.selectProd", prodnm);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return vo;
	}
	
	
}

IProdService

package kr.or.ddit.prod.service;

import java.util.List;

import kr.or.ddit.prod.vo.ProdVO;



public interface IProdService {
	//메소드 선언
		public List<ProdVO> selectAll(String prodlgu);
		
		public ProdVO selectProd(String prodnm);
		
}

ProdServiceImpl

package kr.or.ddit.prod.service;

import java.util.List;

import kr.or.ddit.prod.dao.IProdDao;
import kr.or.ddit.prod.dao.ProdDaoImpl;
import kr.or.ddit.prod.vo.ProdVO;

public class ProdServiceImpl implements IProdService{

	private IProdDao dao;
	private static IProdService service;
	
	private ProdServiceImpl() {
		dao = ProdDaoImpl.getprodDao();
	}
	
	public static IProdService getProdService() {
		if(service==null)service = new ProdServiceImpl();
		
		return service;
		
	}
	public List<ProdVO> selectAll(String prodlgu){
		List<ProdVO> list = null;
		list = dao.selectAll(prodlgu);
		return list;
	}

	@Override
	public ProdVO selectProd(String prodnm) {
		return dao.selectProd(prodnm);
	}
}

ProdVO

package kr.or.ddit.prod.vo;

public class ProdVO {

	private String PROD_ID;
	private String PROD_NAME;
	private String PROD_LGU;
	private String PROD_BUYER;
	private String PROD_COST;
	private String PROD_PRICE;
	private String PROD_SALE;
	private String PROD_OUTLINE;
	private String PROD_DETAIL;

	public String getPROD_ID() {
		return PROD_ID;
	}

	public void setPROD_ID(String pROD_ID) {
		PROD_ID = pROD_ID;
	}

	public String getPROD_NAME() {
		return PROD_NAME;
	}

	public void setPROD_NAME(String pROD_NAME) {
		PROD_NAME = pROD_NAME;
	}

	public String getPROD_LGU() {
		return PROD_LGU;
	}

	public void setPROD_LGU(String pROD_LGU) {
		PROD_LGU = pROD_LGU;
	}

	public String getPROD_BUYER() {
		return PROD_BUYER;
	}

	public void setPROD_BUYER(String pROD_BUYER) {
		PROD_BUYER = pROD_BUYER;
	}

	public String getPROD_COST() {
		return PROD_COST;
	}

	public void setPROD_COST(String pROD_COST) {
		PROD_COST = pROD_COST;
	}

	public String getPROD_PRICE() {
		return PROD_PRICE;
	}

	public void setPROD_PRICE(String pROD_PRICE) {
		PROD_PRICE = pROD_PRICE;
	}

	public String getPROD_SALE() {
		return PROD_SALE;
	}

	public void setPROD_SALE(String pROD_SALE) {
		PROD_SALE = pROD_SALE;
	}

	public String getPROD_OUTLINE() {
		return PROD_OUTLINE;
	}

	public void setPROD_OUTLINE(String pROD_OUTLINE) {
		PROD_OUTLINE = pROD_OUTLINE;
	}

	public String getPROD_DETAIL() {
		return PROD_DETAIL;
	}

	public void setPROD_DETAIL(String pROD_DETAIL) {
		PROD_DETAIL = pROD_DETAIL;
	}

}

lprod_prod.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel = "stylesheet" href = "../css/mystyle.css" type="text/css">
<script src="../js/jquery-3.6.0.min.js"></script>

<script>
 $(function(){
	 $('button').on('click', function(){
		 
		 $.ajax({
			 url : '/jqpro/1130/lprod.jsp',
			 type : 'get',
			 success : function(res){
				 
				 str = "";
				 
				 $.each(res, function(i,v){
					 str += "<option value='" +v.gu+ "'>" +v.nm+ "</option>";
					 
				 })
				 $('#lprod').append(str);
				 
			 },
			 
			 error : function(xhr){
				 
			 },
			 dataType : 'json'
			 
		 })
	 })
	 
	 $('#lprod').on('change', function(){
		lgu = $('#lprod option:selected').val();
// 		$('option:selected', this)
		$.ajax({
			url : '/jqpro/ProdServlet',
			 type : 'get',
			 data : {"lgu" : lgu},
			 dataType : 'json' 
			 success : function(res){
				 
                  str = "";
				 
				 $.each(res, function(i,v){
					 str += "<option value='" +v.id+ "'>" +v.nm+ "</option>";
					 
				 })
				 $('#prod').html(str);
				 
			 },
			 
			 error : function(xhr){
				 alert("오류 : " + xhr.status)
			 },
			
		})
		 
	 })
	 
	 $('#prod').on('change', function(){
		id = $('#prod option:selected').val();
// 		$('option:selected', this)
		$.ajax({
			url : '/jqpro/ProdServlet',
			 type : 'post',
			 data : {"id" : id},
			 success : function(res){
				 
                  str = "";
				 
				 $.each(res, function(i,v){
					
					 str = "<table border=1 >";
			            str += "<tr><td>PROD_ID</td>";
			            str += "<td>" + res.id + "</td></tr>";
			            
			            str += "<tr><td>PROD_NAME</td>";
			            str += "<td>" + res.name + "</td></tr>";
			            
			            str += "<tr><td>PROD_LGU</td>";
			            str += "<td>" + res.lgu + "</td></tr>";
			            
			            str += "<tr><td>PROD_BUYER</td>";
			            str += "<td>" + res.buyer + "</td></tr>";
			            
			            str += "<tr><td>PROD_COST</td>";
			            str += "<td>" + res.cost + "</td></tr>";
			            
			            str += "<tr><td>PROD_PRICE</td>";
			            str += "<td>" + res.price + "</td></tr>";
			            
			            str += "<tr><td>PROD_SALE</td>";
			            str += "<td>" + res.sale + "</td></tr>";
			          
			            str += "<tr><td>PROD_OUTLINE</td>";
			            str += "<td>" + res.outline + "</td></tr>";
			            
			            str += "<tr><td>PROD_DETAIL</td>";
			            str += "<td>" + res.detail + "</td></tr>";
			            str += "</table>";
			            
			            $('#result1').html(str);
					 
				 })
				 
				 
			 },
			 
			 error : function(xhr){
				 alert("오류 : " + xhr.status)
			 },
			 dataType : 'json' 
			
		})
		 
	 })
	 
	 
 })
</script>

</head>
<body>

<div class = "box">

   <br>
  <button type = "button">확인</button>
  <select id="lprod"></select>
  <select id="prod"></select>
  <div id = "result1"></div>
</div>
</body>
</html>

prod.jsp

<%@page import="kr.or.ddit.prod.vo.ProdVO"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>


<%
 List<ProdVO> list = (List<ProdVO>)request.getAttribute("nana");

%>

[
<% 
  for(int i=0; i<list.size(); i++){
	  ProdVO vo = list.get(i);
	  if(i>0) out.print(",");
	  %>
	  
	  {
	  
	     "nm" : "<%= vo.getPROD_NAME() %>",
	     "id" : "<%= vo.getPROD_ID() %>"
	    
	  
	  }
	  
	  <% 
	  
  }

%>

]

prodtable.jsp

<%@page import="kr.or.ddit.prod.vo.ProdVO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<% 
ProdVO vo = (ProdVO)request.getAttribute("iaiaia");
%>

{
 "id"     : "<%= vo.getPROD_ID() %>",
 "name"   : "<%= vo.getPROD_NAME() %>",
 "lgu"    : "<%= vo.getPROD_LGU() %>",
 "buyer"  : "<%= vo.getPROD_BUYER() %>",
 "cost"   : "<%= vo.getPROD_COST() %>",
 "price"  : "<%= vo.getPROD_PRICE() %>",
 "sale"   : "<%= vo.getPROD_SALE() %>",
 "outline": "<%= vo.getPROD_OUTLINE() %>",
 "detail" : "<%= vo.getPROD_DETAIL() %>"


}
profile
신입 개발자 입니다!!!

0개의 댓글