프로젝트 코드리뷰/Travel Maker

Travel Maker - SummerNote

SooHw 2023. 8. 25. 10:12
<form action="ConsultCon.do?est_num=<%=est_num%>" method="post">
    <textarea name="cons_content" id="summernote"></textarea>
    <input type="submit" value="견적서 보내기" id="submit-btn">
</form>


<script>
      $(document).ready(function() {
         $('#summernote').summernote({
            placeholder : '내용을 작성하세요',
            height : 400,
            maxHeight : 400
         });
      });
</scrpit>

 

 

ConsultCon

package controller;

import java.io.UnsupportedEncodingException;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import command.Command;
import model.ConsultDAO;
import model.ConsultDTO;
import model.UserDTO;

@WebServlet("/ConsultCon")
public class ConsultCon implements Command {

	@Override
	public String execute(HttpServletRequest request, HttpServletResponse response) {

		System.out.println("컨설트컨트롤러");

		try {
			request.setCharacterEncoding("UTF-8");
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		HttpSession session = request.getSession();

		UserDTO udto = (UserDTO) session.getAttribute("info");
		int est_num = Integer.parseInt(request.getParameter("est_num"));
		String user_id = udto.getUser_id();
		String cons_lat = request.getParameter("lat");
		String cons_lng = request.getParameter("lng");

		String cons_content = request.getParameter("cons_content");

		ConsultDAO cdao = new ConsultDAO();

		int row = cdao.uploadConsult(new ConsultDTO(est_num, user_id, cons_lat, cons_lng, cons_content));

		if (row > 0) {
			System.out.println("성공");
		} else {
			System.out.println("실패");
		}

		return "Main.jsp";
	}

}

 

 

DAO, Mapper

public int uploadConsult(ConsultDTO cdto) {
	SqlSession session = sqlSessionFactory.openSession(true);
	int row = session.insert("uploadConsult", cdto);
	session.close();
	return row;
}


<insert id="uploadConsult" parameterType="ConsultDTO">
	insert into est_consult
	values(consult_num.nextval,
	#{est_num}, #{user_id}, sysdate,
	#{cons_lat}, #{cons_lng}, #{cons_content})
</insert>

 

 

서머노트 작성부분에 사진 업로드 시 html태그 통째로 값이 저장됨

이미지는 base:64 인코딩 진행되어 코드가 매우 길어짐

-> db에 저장할때 부담이 큼..