생각하는 감쟈

[JAVA] $.ajax - LprodTest (Ajax / Non Ajax) 본문

Language/Java

[JAVA] $.ajax - LprodTest (Ajax / Non Ajax)

생각하는 감쟈🥔 2024. 6. 5. 12:12

 


lprodMain.jsp ( Main )

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" 
		src ="<%=request.getContextPath()%>/js/jquery-3.7.1.js"></script>

<script>
$(function(){
	$("#lprodBtn").on("click", function(){
		$.ajax({
			
		url : "<%=request.getContextPath()%>/lprod/lprodList.do",
		type : "POST",
		
		success : function(data){
			let htmlCode = "<table border='1'>";
			htmlCode += "<tr><td>LPROD_ID</td><td>LPROD_GU</td><td>LPROD_NM</td></tr>";
			$.each(data, function(i,v){
				htmlCode += "<tr><td>" + v.lprod_id + "</td>";
				htmlCode += "<td>" + v.lprod_gu + "</td>";
				htmlCode += "<td>" + v.lprod_nm + "</td></tr>";
			});
			htmlCode += "</table>;"
			
			$("#result").html(htmlCode);
		},
		error : function(xhr){
			alert("오류" + xhr.status)
		},
		dataType : "json"
		});
	});
	
	
	// ajax없이 사용
	$("#lprodBtn2").on("click", function(){
		location.href = "<%=request.getContextPath()%>/lprod/lprodList2.do";
		
	});
});
</script>
</head>


<body>
<form>
	<input type="button" id="lprodBtn" value="lprod 자료 가져오기(Ajax)">
	<input type="button" id="lprodBtn2" value="lprod 자료 가져오기(Non Ajax)">
</form>
<h2> Lprod 자료 목록</h2>
<div id="result"></div>
</body>
</html>

ILprodDao / ILprodService (interface)

package kr.or.ddit.json.dao;

import java.util.List;

import kr.or.ddit.vo.LprodVO;

public interface ILprodDao {
	
	/**
	 * 전체 Lrpod데이터를 가져와 List에 담아서 반환하는 메서드
	 * 
	 * @return 전체 Lprod정보가 저장된 List객체
	 */
	public List<LprodVO> getAllLprod();
}
package kr.or.ddit.json.service;

import java.util.List;

import kr.or.ddit.vo.LprodVO;

public interface ILprodService {
	/**
	 * 전체 Lrpod데이터를 가져와 List에 담아서 반환하는 메서드
	 * 
	 * @return 전체 Lprod정보가 저장된 List객체
	 */
	public List<LprodVO> getAllLprod();

}

 

 

LprodDaoImpl / LprodServiceImpl

/**
 * 
 */
package kr.or.ddit.json.dao;

import java.util.List;

import org.apache.ibatis.session.SqlSession;

import kr.or.ddit.util.MyBatisUtil;
import kr.or.ddit.vo.LprodVO;
import sun.security.jca.GetInstance;

/**
 * @author PC-14
 *
 */
public class LprodDaoImpl implements ILprodDao {
	private static LprodDaoImpl dao;
	
	private LprodDaoImpl() { };
	
	public static LprodDaoImpl getInstance() {
		if(dao == null ) dao = new LprodDaoImpl();
		return dao;
		
	}

	@Override
	public List<LprodVO> getAllLprod() {
		SqlSession session = null;
		List<LprodVO> lprodList = null;
		
		try {
			session = MyBatisUtil.getSqlSession();
			lprodList = session.selectList("lprod.getAllLprod");
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			session.close();
		}
		return lprodList;
	}

}

 

package kr.or.ddit.json.service;

import java.util.List;

import kr.or.ddit.json.dao.ILprodDao;
import kr.or.ddit.json.dao.LprodDaoImpl;
import kr.or.ddit.vo.LprodVO;

public class LprodServiceImpl implements ILprodService {
	private ILprodDao dao;
	
	private static LprodServiceImpl service;
	
	private LprodServiceImpl() {
		dao = LprodDaoImpl.getInstance();
	}
	
	public static LprodServiceImpl getInstance() {
		if(service==null) service = new LprodServiceImpl();
		return service;
	}
	
	

	@Override
	public List<LprodVO> getAllLprod() {
		return dao.getAllLprod();
	}

}

 

LprodList (controller / servlet)

package kr.or.ddit.json.controller;

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

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 com.google.gson.Gson;

import kr.or.ddit.json.service.ILprodService;
import kr.or.ddit.json.service.LprodServiceImpl;
import kr.or.ddit.vo.LprodVO;


@WebServlet("/lprod/lprodList.do")
public class LprodList extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setCharacterEncoding("utf-8");
		response.setContentType("application/json; charset=utf-8");
		
		Gson gson = new Gson();
		
		//Db에서 데이터가져오기 - 서비스 호출
		ILprodService service = LprodServiceImpl.getInstance();
		
		List<LprodVO> lprodList = service.getAllLprod();
		
		String jsonData = gson.toJson(lprodList);
		
		PrintWriter out= response.getWriter();
		out.write(jsonData);
		response.flushBuffer();
		
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		doGet(request, response);
	}

}

 


LprodVO

package kr.or.ddit.vo;

public class LprodVO {
	private int lprod_id;
	private String lprod_gu;
	private String lprod_nm;
	
	
	public int getLprod_id() {
		return lprod_id;
	}
	public void setLprod_id(int lprod_id) {
		this.lprod_id = lprod_id;
	}
	public String getLprod_gu() {
		return lprod_gu;
	}
	public void setLprod_gu(String lprod_gu) {
		this.lprod_gu = lprod_gu;
	}
	public String getLprod_nm() {
		return lprod_nm;
	}
	public void setLprod_nm(String lprod_nm) {
		this.lprod_nm = lprod_nm;
	}
	
	@Override
	public String toString() {
		return "LprodVO [lprod_id=" + lprod_id + ", lprod_gu=" + lprod_gu + ", lprod_nm=" + lprod_nm + "]";
	}
	

	
	
	


}

 


mybatis-config

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration 
	PUBLIC "-//mybatis.org/DTD Config 3.0//EN" 
	"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<properties resource ="kr/or/ddit/mybatis/config/dbinfo.properties"/>
	
	<settings>
		<setting name="jdbcTypeForNull" value="NULL"/>
		<setting name="logImpl" value="LOG4J"/>
	</settings>
	
	<typeAliases>
		<typeAlias type="kr.or.ddit.vo.MemberVO" alias ="memberVo"/>
		<typeAlias type="kr.or.ddit.vo.LprodVO" alias ="lprodVo"/>
	</typeAliases>
	
	<environments default="oracleDB">
		<environment id="oracleDB">
			<transactionManager type="JDBC"/>
			<dataSource type="POOLED">
				<property name="driver" value="${driver}"/>
				<property name="url" value="${url}"/>
				<property name="username" value="${user}"/>
				<property name="password" value="${pass}"/>
			</dataSource>
		</environment>
	</environments>
	
	<mappers>
		 <mapper resource="kr/or/ddit/mybatis/mappers/member-mapper.xml"/>
		 <mapper resource="kr/or/ddit/mybatis/mappers/lprod-mapper.xml"/>
	</mappers>
</configuration>

 

 

lprod-mapper

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper
		  PUBLIC "-//mybatis.org/DTD Mapper 3.0//EN"
		  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
		  
	 
<mapper namespace="lprod">
	
	<select id="getAllLprod" resultType="LprodVo">
		select * from lprod
	</select>

</mapper>

 

 

 

 

 

'Language > Java' 카테고리의 다른 글

[JQuery] 게시판 만들기_02  (0) 2024.06.05
[JAVA] 파일_01 : File_Upload Form  (0) 2024.06.05
[JQuery] 메뉴판 만들기_01  (1) 2024.06.04
[JAVA] $.ajax - jsonTest 코드  (0) 2024.06.04
[JAVA] Cookie 생성, 조회 ,삭제  (0) 2024.06.04
Comments