생각하는 감쟈
[JAVA] $.ajax - LprodTest (Ajax / Non Ajax) 본문
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