분류 전체보기 104

SPRING 파일 업로드 다운로드

Multipart 웹 클라이언트가 요청을 보낼 때 http프로토콜의 body 부분에 데이터(content type, 파일이름 등)를 여러 part로 나누어 보내는 것이다. 보통 파일 전송 시 사용한다. HttpServletRequest는 이 multipart데이터를 읽어들이는 메소드를 지원하지 않는다. body부분을 읽어들이는 InputStream만 지원하기 때문에 stream으로 전달되는 multipart데이터를 처리 하기 위해 라이브러리를 사용한다. 설정 방법 1. [pom.xml]에 라이브러리 추가 1) apache의 commons-fileupload 추가 2) commons-io 추가 2. MultipartResolver Bean 추가 (CommonsMultipartResolver) "multip..

SPRING 2023.01.17

SCOPE

: Application, Session, Request, Page 총 4가지 scope가 존재한다. Session scope : 클라이언트(웹 브라우저)별로 객체를 만들어 변수를 관리한다. (클라이언트별로 다른) 상태정보를 유지하기 위해 사용한다. HttpSession 인터페이스 구현객체를 사용한다. 서블릿은 HttpServletRequest의 getSession() 메소드를 이용해 session 객체를 얻는다. JSP는 session 내장 변수를 사용한다. 응답을 내보내거나 다시 받아도 session 객체는 계속 유지된다. ex) session.setAttribute() session.getAttribute() Request scope : http요청을 was가 받아서 변수값을 유지하며 웹 브라우저에..

JSP, SERVLET 2023.01.16

HTML CSS 유용한 기능 모음

태그 사용 시 "파일 선택" 표기 임의로 바꾸기 내 맘대로 바꾸기 영문도 자동 줄 바꿈하기 style = "WORD-BREAK:break-all;" style = "WORD-BREAK:keep-all;" //단어 단위로 줄바꿈 테이블 1) 테이블 만들기 ex) 2X5 테이블 만들기 1 2 3 4 5 11 22 33 44 55 ex) 2x5 테이블 만들어서 가로2번째 줄 1칸으로 합치기 (cf.:두꺼운 폰트, :얇은 폰트) 1 2 3 4 5 12345 ex) 테이블 거꾸로 만들기 (5x2) 1 11 2 22 3 33 4 44 5 55 2) 테두리 가로줄만 보이기 ,태그 style="border-bottom:1px solid;" (solid는 실선을 의미한다) 버튼 1) 버튼 두개 일렬로 정렬 A영역 B영역..

HTML,CSS 2023.01.15

JSP

:JavaServer Pages jsp는 servlet으로 바뀐 후 서블릿과 같은 방식으로 실행된다.(서블릿 소스가 생성되고 실행된다.) (by tomcat) 1. 실행순서 브라우저가 jsp로 웹서버에 요청을 한다. -> 서버는 jsp에 해당하는 서블릿이 있는지 찾는다. 존재한다면 서블릿 엔진이 요청을 받아 실행한다. 존재하지 않는다면, 즉 처음으로 요청한다면 jsp 엔진이 요청을 받는다. jsp를 최초로 요청할때 jsp 코드가 서블릿 코드로 변환된다. (.jsp 파일을 실행하면 이클립스 워크 스페이스 안에 .java 파일이 생성된다. _jspService() 메소드에 jsp 파일에 입력한 내용이 변환돼서 들어있다.) -> java는 서블릿 소스로 컴파일되어 실행가능한 bytecode로 변환된다(clas..

JSP, SERVLET 2023.01.12

SERVLET

: 동적으로 응답결과를 만들어내는 (동적인 처리를 하는 프로그램) 역할을 한다. WAS에서 동작하는 Java 클래스이다. servlet은 HttpServlet 클래스를 상속받는다. 1. 작성 방법 2가지 servlet 3.0 이상 web.xml파일(배포기술자)을 사용하지 않고 자바 annotation을 사용한다. ex) @WebServlet("/ten") public class TenServlet extends HttpServlet { servlet 3.0 미만 web.xml파일에 servlet을 등록한다. ex) [web.xml] TenServlet ~~~ 2. HTTP프로토콜 요청, 응답 : 클라이언트가 요청하면 서버가 응답한다. 이때 서버는 요청을 받아내는 객체와 응답하기위한 객체를 만들어낸다. e..

JSP, SERVLET 2023.01.11

JAVA Map 컬렉션, Set 컬렉션, Iterator

Collection Framework : 객체를 수집해서 저장하는 역할을 한다. 컬렉션 사용법을 정의한 인터페이스들을 통해 다양한 컬렉션 클래스를 이용할 수 있다. 1. Map 컬렉션 대표 구현 클래스 HashMap Map map = new HashMap(); put(K key, V value) : 키와 값 추가 get(Object key) : 해당 키의 값 리턴 2. Set 컬렉션 : like 집합, 주머니 : List와 달리 저장 순서가 유지되지 않고 중복해서 저장할 수 없다. Iterator(반복자) : 자바 컬렉션 프레임워크(Java Collection Framework)에 포함되는 클래스와 인터페이스(List, Set, Map 등)를 순회하며 저장된 요소를 읽어오는 인터페이스이다. Iterato..

JAVA 2023.01.06

오류 Unhandled exception type IOException

상황 파일 업로드 구현 중 file.getInputStream();에 빨간줄이 떴다. 해결방법 2가지 방법1. 이클립스의 안내에 따라 try catch블록으로 감싸준다. try { InputStream is = file.getInputStream(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 방법2. 메소드에 throws IOException를 붙여 예외처리를 해준다. public String Upload(@RequestParam("file") MultipartFile file) throws IOException{

ERROR RESOLVING 2023.01.05

JAVA 클래스

1. 클래스 구성 멤버 : 필드, 생성자, 메소드로 이루어져 있다. 1) Field : 객체의 데이터가 저장된다. 생성자와 메소드 전체에 사용된다. 2) Constructor : 객체 생성 시 초기화 역할을 담당하는 중괄호 블록이다. new 연산자로 호출할 수 있으며, 이때 생성된 객체들는 해당 클래스의 인스턴스들로 각각 독립되어 있다. new 연산자로 생성된 객체는 메모리 heap영역에 생성된 후 객체의 주소를 리턴하는데, 이 주소를 참조타입인 클래스변수에 저장하면 stack영역의 변수가 객체를 참조하게 된다. 3) Method : 객체의 동작에 해당하 중괄호 블록이다. 객체 간의 데이터 전달의 수단으로 사용된다. 2. 예제로 알아보기 1) 예제 Car [라이브러리용 클래스] public class C..

JAVA 2023.01.03

오류 부적합한 열 유형: 1111

상황 쿼리문은 정상적으로 작동하는데 값이 페이지로 전달되지 않았다. HTTP 상태 500 – 내부 서버 오류 타입 예외 보고 메시지 Request processing failed; nested exception is org.springframework.jdbc.UncategorizedSQLException: Error setting null for parameter #1 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 부적합한 열 유형: 1111 해결방법 CommandMa..

ERROR RESOLVING 2023.01.01