[프로젝트] 웹 ITEM FARM - 주말

_bean_·2023년 4월 23일
0
post-thumbnail

오류 및 문제점

1. 조회 기업 세션 저장 방법 변경

  • 문제점:현재 방법(주소창 url로 ajax를 보내는 방법)을 수행하면 모든 주소창에 parameter 정보가 보이고 모든 get 요청 시 parameter를 추가해 전송해야 한다.
  • 해결 방안: 세션에 저장된 값을 변경하는 컨트롤러를 따로 만든 후 ajax를 해당 컨트롤러로 전송한다.

2. MySQL 쿼리 결과 중 첫 행만 추출

  • 문제점: 관리자 로그인 시 default 기업을 설정하기 위해 기업 목록의 첫 행만 추출해야 한다.
  • 해결 방안: limit 조건을 사용해 추출할 행의 개수를 제한한다.
select company_id, company_name from company order by company_id limit 1;

진행 상황

1. 조회 기업 세션 저장 방법 변경

<!-- header.jsp -->
<script>
	$(".dropdown-item").on("click", function () {
		var comId = $(this).attr("data-comId");
		var comName = $(this).attr("data-comName");

		$.ajax({
			url: "/session.do",
			data: {"comId":comId, "comName":comName},
			success: function (result) {
				$(location).attr("href", $(location).attr("pathname"));
			},
			error: function(message) {
				alert(message);
			}
		}); 
	});
</script>
// SessionController.java
public class SessionController implements CommonInterface{

	@Override
	public String execute(Map<String, Object> data) throws Exception {
		HttpServletRequest request = (HttpServletRequest) data.get("request");
		HttpSession session = request.getSession();
		
		int comId = Integer.parseInt(request.getParameter("comId"));
		String comName = request.getParameter("comName");
		session.setAttribute("comId", comId); 
		session.setAttribute("comName", comName);
		
		return "responseBody:OK";
	}
}

2. 상품 정보 수정

// ProductDAO.java
String sql = """
		update product
		set subcategory_name=?, product_name=?, product_cost=?, product_price=?,
		product_stock=?, product_safety=?, product_status=?
		where product_code=?
		""";

// ProductModifyController.java
HttpServletRequest request = (HttpServletRequest) data.get("request");
		
ProductVO product = makeProduct(request);
ProductService service = new ProductService();
String message = service.productModify(product);
		
return "redirect:/product/productList.do";	

참고 자료

profile
어쩌다 풀스택 :3

0개의 댓글