Java/Spring Framework

📣 링크 📞 JSP, JS [ Spring ] 채팅 기능구현 - JSP JS 📣 링크 📞 JSP, JS https://mungwang.tistory.com/entry/Spring-%EC%B1%84%ED%8C%85-%EA%B8%B0%EB%8A%A5%EA%B5%AC%ED%98%84-JSP-JS 📞 ChattingController https://mungwang.tistory.com/entry/Spring-%EC%B1%84%ED%8C%85%EA%B8%B0%EB%8A%A5%EA%B5%AC%ED%98%84-Contr mungwang.tistory.com 📞 ChattingController [ Spring ] 채팅 기능구현 - Controller 📣 링크 📞 JSP, JS https://mungwang.tisto..
💎 pom.xml / servlet-context.xml 추가 📣 pom.xml - 채팅기능을 구현할때 pom.xml에는 크게 ↓ 3개 라이브러리를 추가해주면된다. com.fasterxml.jackson.core jackson-databind 2.14.2 org.springframework spring-websocket ${org.springframework-version} com.google.code.gson gson 2.9.0 📣 servlet-context.xml - pom.xml에 추가하면서 websocket이 생겼을거다 체크박스를 체크해준다. - servlet-context.xml에 source부분에 ↓ 코드 추가 📣 TestWebsocketHandler 클래스 만들어보기 public class..
** urlPatterns = {"/myPage/*","/board2/*"}) ** ( 추후에 더추가 될수도 있음 ) -> myPage/ 다음주소 전체페이지 board2/ 다음주소 전체 페이지에 로그인이 되어있지않다면 == session에 loginMember에 값이 담겨있지 않다면 URL 이동을 막고 최상위주소 즉 메인페이지로 이동시키기 위한 필터 package edu.kh.project.common.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException..
package edu.kh.project.common.utility; import java.text.SimpleDateFormat; public class Util { // Cross Site Scripting(XSS) 방지 처리 // - 웹 애플리케이션에서 발생하는 취약점 // - 권한이 없는 사용자가 사이트에 스크립트를 작성하는 것 public static String XSSHandling(String content) { // 스크립트나 마크업 언어에서 기호나 기능을 나타내는 문자를 변경 처리 // & - & // - > // " - " content = content.replaceAll("&", "&"); content = content.replaceAll("", ">"); co..
package edu.kh.project.common; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; // 예외 처리용 컨트롤러 (프로젝트 전역) @ControllerAdvice public class ExceptionController { @ExceptionHandler(Exception.class) public String exceptionHandler(Exception e, Model model) { // Exception e : 예외 정보를 담고있는..
package edu.kh.project.board.model.exception; // 사용자 정의 예외를 만드는법! // -> Exception 관련 클래스를 상속 받으면 된다 // tip. unchecked exception을 만들고 싶으면 // RuntimeException을 상속 받아서 구현 // unchecked exception : 예외 처리 선택 // checked exception : 예외 처리 필수 // 예외 처리 : try-catch / throws public class FileUploadException extends RuntimeException { public FileUploadException() { super("파일 업로드 중 예외 발생"); } public FileUploa..
💎 Console ★★ 템플릿 리터럴( template literal ) ★★ - js내에 '역따옴표(백틱)' 을 사용하면 ${} 표현식을 쓸수있고 결과는 문자열로 인식한다 장점 : 기존 문자열 내부에 표현식을 추가하려면, 문자열을 따옴표로 분리한후 + 연산자로 하나씩 연결해줘야했지만 템플릿리터럴 즉 백틱을 사용하면 편리하고 가독성이 좋게 작성할수있다. 💎 Jsp ${boardName} 썸네일 × 업로드 이미지 × × × × 등록 💎 JS // img 5개 const preview = document.getElementsByClassName("preview"); // file 5개 const inputImage = document.getElementsByClassName("inputImage"); // ..
🥇 VS-Code [ jsp ] 📺 JSP 본문 코드 🥈 VS-Code [ js ] // 좋아요 버튼이 클릭 되었을 때 const boardLike = document.getElementById("boardLike"); // 로그인 여부 검사 boardLike.addEventListener("click",e =>{ if(loginMemberNo == ""){ alert("로그인한후 이용해주세요"); return; } let check; // 기존에 좋아요 X(빈하트) : 0 // 기존에 좋아요 O(꽉찬하트) : 1 // contains("클래스명") : 클래스가 있으면 true, 없으면 false if(e.target.classList.contains("fa-regular")){ // 좋아요 X (빈하트..
💎 Console 📢 location.pathname => '/board/1/2001' 📢 location.pathname.replace ("board", "board2") => '/board2/1/2001' - replace : board => board2 로 바꾸는 함수 📢 location.pathname.replace ("board", "board2") + "/update" => '/board2/1/2001/update' 📢 location.search => '?cp=1' 🎈 최종으로 원하는 주소는 '/board2/1/2001/update?cp=1' 이기때문에 💎 Jsp 📢 enctype = "multipart/form-data" : 제출 데이터 인코딩 X 🔑 파일 제출은 가능 🔑 MultiPart..
💎 Spring - 기존 상세조회 매개변수에 쿠키 사용을위한 HttpServletReauest, HttpServletResponse 추가 // 게시글 상세 조회 @GetMapping("/{boardCode}/{boardNo}") public String boardDetail( @PathVariable("boardCode") int boardCode , @PathVariable("boardNo") int boardNo , Model model , RedirectAttributes ra , @SessionAttribute(value ="loginMember", required = false) Member loginMember , HttpServletRequest req , HttpServletResponse..
Mungwang
'Java/Spring Framework' 카테고리의 글 목록 (2 Page)