목록전체보기 (125)
Develop

파일 다운로드 구현하면서 알아본 내용- ajax로 다운로드 하는 방법과 Java에서 다운로드 하는 방법은 다르다- ajax 사용시 xhr.responseType = "blob" 라는 내용이 들어가야한다- ajax로는 get방식만 가능하며 post방식은 불가능하다- 태그를 이용한 ajax get방식은 보안에 취약하다 결론- form submit (post)방법을 사용했다- form submit 이라고 해서 꼭 페이지를 이동하는 것이 아니므로 써도 됨- 태그를 이용하여 스크립트 실행, 스크립트에서 form submit 실행(이 동작도 보안측면에서 괜찮아보이진 않는다) view.jsp ${file.ORG_FILE_NAME } (다운로드) 위의 JSP페이지에..

컨트롤러를 만든뒤 @Controller 어노테이션을 붙여주면알아서 컨트롤러를 찾아가야하는데 계속 아래와 같은 Whitelabel Error Page즉 404 페이지가 떴다 작성한 컨트롤러@Controllerpublic class MainController { /* * 유저 메인 화면 * */ @GetMapping("/mainPage") public String userMain() { return "user/main/main"; }} 에러가 뜨는 이유는 여러가지 이유가 있겠지만내 문제는 검색해서 주로 나오는 원인이 아니었다... 코드가 아닌 그냥 Controller의 위치 문제였고 위치를 바꿔주니까 정상적으로 페이지를 찾아갔다.컨트롤러의 위치는 src/main/java/com/[프로젝트이름과 같은 ..

프로젝트마다 참고하는 Maven 라이브러리의 경로를 다르게 지정해야할 일이 있어서경로를 지정하는 방법에 대해 알아보았다 먼저 기본으로 설정되어있는 Maven 경로는 C:\Users\[사용자 이름]\.m2\repository 이다 이클립스에서 window -> preferences 클릭 후 Maven -> User Settings settings.xml이 없다면 그냥 만들어주면 됨 내용은 C:/User/Repo 맨아래 윗줄에 있는 localRepository 태그 안의 경로만 자신에게 맞춰서 바꿔주면 된다.

application.properties 파일에서spring.application.name=xwx#serverserver.port=9000#viewspring.mvc.view.prefix=/WEB-INF/views/spring.mvc.view.suffix=.jsp#encodingserver.servlet.encoding.charset=UTF-8server.servlet.encoding.force=trueserver.servlet.encoding.enabled=true 설정해주기 #server는 서버 실행시 연결하는 포트번호이다#view는 jsp파일이 들어있는 경로이다#encoding은 UTF-8로 설정해주었다 springboot에는 내장 tomcat이 있어서 편하지만내장 톰캣에는 jsp관련 기능이 없..

Intro - Spring Boot 버전 3.3.0 사용 Security를 사용하기 위해서Maven 의존성 추가 - Spring Boot Starter Securityhttps://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-security org.springframework.boot spring-boot-starter-security( 위의 코드와 같이 버전을 지정하지 않고 알아서 설정되도록 하는게 좋다 ) : 위의 의존성을 추가하면 어떤 페이지에 접근하든 로그인 하지 않았을 경우스프링 부트에서 제공하는 로그인 화면으로 보내준다 의존성을 추가하고 Maven update를 해준다음 실행시켜보면 위와 같이 ..
파일업로드를 구현하는 도중파일의 이름에서 확장자를 가져와서 확인하는 방법이 아닌apache tika 로 파일의 확장자를 확인하는 방법을 알게되었다 Tika는 파일의 내용을 확인해서 확장자를 확인하기 때문에파일 이름만 바꿔서 다른 확장자 파일을 업로드 하려는 것을 방지할 수 있다 물론 클라이언트 측에서 JS를 이용해 확장자를 확인하고 서버에서 Tika로 한번 더 확인한다 먼저 Service단 코드이다 여러개의 파일을 받을 수 있도록 해놨기에 매개변수가 MultipartFile이 아닌 MultipartFile[] 이고 for문을 사용했다 /** * 파일 확인 및 저장 */@Overridpublic String uploadFile(MultipartFile[] file) throws Exception { ..

useGeneratedKeys="true"keyProperty="내가 원하는 값을 받아갈 변수 이름" ex) inquiry VO에서 idx라는 변수keyColumn=" pk로 지정한 컬럼명 " 을 쿼리 쪽에 추가해준다 예를 들어useGeneratedKeys="true"keyProperty="userno" keyColumn="idx"라고 지정했으면사진처럼 db의 idx값이 userno라는 변수에 담긴다 ex) INSERT INTO /* insertInquiryApply */ T_INQUIRY ( Consult , Content , Email ) VALUES ( #{consult} , #{content} ,#{email} ) mysql에서 p..

Intoro프로젝트를 시작하기 앞서 가장 먼저 해야할 일은 프로그램 설치이다. STS를 설치하여 바로 Spring Boot를 사용할 수도 있지만Eclipse를 설치하고나서 Spring Boot를 사용할 것이다. 이클립스 설치전에 자바와 톰캣을 깔아두는 것을 추천함추천 설치 순서 JDK > Tomcat > Eclipse 자바 설치 후에 환경변수 설정 하는 것도 잊지말자나는 이미 JDK17 과 Tomcat9.0 이 깔려있으니 패스 * 모든건 윈도우 기준 이클립스 설치1. 최신버전 설치방법과 2. 최신이 아닌 다른 버전 설치방법이 있는데나는 2번 방법을 선택했다. 1. 최신버전 설치 https://www.eclipse.org/downloads/ Eclipse Downloads | The Eclipse Foun..