본문 바로가기

JAVA/Java5

파일 업로드 및 저장 - 02, servlet/jsp, @MultipartConfig, part 이전글: https://coding-chronicle.tistory.com/101 파일 업로드 및 저장 - 01, html 개요 수작업으로 게시글처럼 보이도록 개행문자를 기준으로 나눠 태그를 작성하던 중 우연히 위그지그 를 발견하게 되어 관련 에디터 CKEditor의 이미지 업로드를 구현하기 위해 공부한 파일 업 coding-chronicle.tistory.com 이전글에서 알아본 html을 토대로 파일을 전송해서 실제 내 컴퓨터에 저장하는 방법을 알아보겠다. HTML 작성자 파일 파일설명 위의 HTML을 토대로 서버에 파일 데이터를 전송한다. Servlet 이전 포스팅에서 확인 했듯이 enctype="multipart/form-data"으로 form 데이터를 전송한 경우 file의 데이터는 reques.. 2023. 9. 16.
[servlet/jsp/jstl] 개행문자를 기준으로 나눠 반복 처리를 하는 방법 개요 servlet/jsp로 게시판 프로젝트를 진행하던 도중 게시글의 줄바꿈을 어떻게 처리해야하는가에 대한 궁금증이 생겨 가장 기본적인 방안인 태그를 사용하는 것을 생각해 보았으나 개행문자를 문자로 바꾸고 이런 저런 작업을 하게되면 XSS에 대한 보안 위험이 생길 수 있어 다른 방법을 찾아봤다. 먼저 여러 사이트에서 게시글을 어떻게 처리하는지 알면 이 문제를 해결하는것에 도움이 될까 싶어서 티스토리의 게시글 처리 방법을 분석해 보니 개행문자를 기준으로 문자를 나누고 태그로 감싸 처리했다. 스타일 처리도 가능하면서 를 통해 XSS 위험도 막을 수 있어 이 방법을 사용하여 처리하기로 했다. 발생한 문제 첫번째 시도 가장 처음 작성한 방법이다. 개행문자인 '\n'으로 나눈 뒤 반복하여 출력하려 했으나 이클립스.. 2023. 9. 13.
[Servlet & JSP] 게시판 요구사항 작성 Servlet / JSP로 간단한 게시판을 만들어보며 웹 프로젝트 개발 과정의 이해도 향상을 목적으로 해당 프로젝트를 진행하기 때문에 게시판 프로젝트의 심화된 기능들은 Spring 프로젝트에서 진행한다. 제작 페이지 - 회원가입 페이지 - 로그인 페이지 - 마이 페이지 - 게시글 작성 / 수정 페이지 - 댓글, 대댓글 작성 - 게시글 목록 조회 페이지 ( 메인 페이지 ) 요구사항 1. 모든 페이지 공통 - 메인 페이지로 이동할 수 있는 배너 왼쪽 상단 배치 - xss방지를 위해 jstl 활용 2. 회원 가입 페이지 - 아이디, 비밀번호, 비밀번호 확인, 닉네임 입력창 및 회원가입 버튼 제공 - 아이디, 닉네임 중복여부는 별도의 버튼으로 중복 확인 - 모든 검사를 통과한 경우, 로그인 페이지로 이동 유효성.. 2023. 8. 27.
[JAVA] 자바의 자료구조 큐 C++에서는 queue q = new queue처럼 queue 자료형에 queue를 생성했으나 자바에서는 Queue q = new LinkedList(); 처럼 왜 LinkedList를 넣는지 궁금해서 찾아봤다 자바의 자료구조는 위와같은 상속구조를 가지고 만들어져서 LinkedList를 사용할 수 밖에 없다. 왜냐? Queue 자료형은 보다시피 interface이기 때문에 new LinkedList();를 사용하는 것이다. 2023. 6. 26.
[JAVA] 버퍼 https://terianp.tistory.com/19 Java 입출력(I/O), 스트림(Stream), 버퍼(Buffer) 개념 및 사용법 최근 백준에서 문제를 풀다가 Buffer 와 관련한 문제를 마주치게 되었다. 사실 지금까지 Buffer에 대해서 정말 하나도 몰랐고, Scanner 만 사용하여 입력받고 println 을 통해 출력하기만 했었던지라 이 terianp.tistory.com BufferedWriter.write( 값 ) 정수 출력 문제 write 코드를 보면 int로 들어온 값을 (char)로 강제 형변환 해서 char[] (문자 배열)값을 출력한다. 테스트해보면 알겠지만 int를 char로 강제 형변환하면 아스키코드값으로 char를 출력하게 되기 때문에 정수값을 문자열로 바꾼 뒤 wr.. 2023. 6. 22.