본문 바로가기

Web (~2022.06)/Java7

[JAVA] [JSP] [SQL] [에러 해결] DB에 image file 저장할 때 (서버경로+로컬파일경로) 겹치는 경로 에러 해결 / FileNotFoundException DB에 이미지 넣고, DB에서 꺼내 이미지 출력하기 진행하려는 플로우 1단계 > productadd.jsp 프런트 화면에서 사용자가 input 하기 위한 jsp문이다. ↓ 2단계 > productadddb.jsp input 내용을 전달받아 DB에 insert하기 위한 jsp문이다. 단, image 파일의 파일명만 가져가서 서버폴더로 따로 저장해줘야 한다. 따라서, 1. 서버 폴더에 저장하기 위해 FileUtil로 경로 다 떼고 이름만 남은 image 파일을 보낸다. 2. DB에 넣을 image파일 또한 경로 다 떼고 이름만 가져간다. (이렇게 하는 이유는, DB에서 꺼내올 때 이런 식으로, 서버 폴더 내에 저장시켜놨던 image를 가져오기 위함이다.) ↓ 3단계 > FileUtil.jsp producta.. 2022. 4. 26.
[JAVA] [디버깅] / Tomcat version 8.5 only supports J2EE 1.2, 1.3, 1.4, and Java EE 어제 포스팅 했던 에러의 연장선 Run on Server에서 Add and Remove 단계를 확인했다. 프로젝트 명 jsp_web_10에서 Tomcat version 8.5 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5, 6, and 7 Web modules 이라는 에러 메세지와 함께 Configured 박스로 옮겨지지 않았다. 에러 원인 서버 버전과 Web Module 버전끼리 호환이 되지 않는 경우, 원하는 서버 버전으로 실행이 불가했다. 나는 톰캣 8.5를 다운받아 사용 중이었고, Tomcat 8.5가 Dynamic Web Module 4.0을 지원하지 않았기 때문에 발생한 오류였다. 해결 방법 첫번째 방법, Dynamic Web Module 4.0을 지원하.. 2022. 4. 8.
[JAVA] [디버깅] / 어쨌든 해결.. 했지만 세상 찝찝 나는 지금 톰캣 서버와 sql을 연결해서 JSP 웹 개발을 공부 중이다. 그러던 중, 프로젝트 하나를 war파일로 묶어 다시 열었는데, 다짜고짜 에러가..... 우리... 좋았잖아..... 자.. run하니 위 같은 상황이 나오는데... 원래는 Tomcat v8.5 Server로 Finish 버튼이 활성화되어야 한다. 뭐가 문젤까. 흠 자.. 프로젝트들을 보자. 위는 내가 공부하면서 만든 Dynamic web Project들이다. 09_1 버전을 war하여 10으로 그대로 다시 만드니, 10은 물론이고 3, 4, 5, 6, 7, 8, 9가 전부 run해도 반응이 없는 (?) 에러가 뜬다. 근데.. 09_1은 잘 된다 !? 1번 방법 상단 Project - properties - Project Facets.. 2022. 4. 7.
[JAVA] Arrays.asList 넌 누구냐 / 마침표를 기준으로 split 하기 오늘의 상황... 사용자에게 입력받고, 마침표를 기준으로 split 하여 ArrayList에 넣으려고 하는데... Arrays.asList를 사용하면 된다고? System.out.print("version1 = "); String v1 = sc.next(); System.out.print("version2 = "); String v2 = sc.next(); String[] v1_array = v1.split("."); String[] v2_array = v2.split("."); ArrayList v1_list = new ArrayList(Arrays.asList(v1_array)); ArrayList v2_list = new ArrayList(Arrays.asList(v2_array)); Arrays... 2022. 4. 4.
[JAVA] (수정 중) 예제를 통한 클래스, 필드, 변수, 메소드 이해하기 My00P 클래스 안에 각각의 프린트 메소드를 사용했음 -> 개수가 많아진다면 변수끼리의 관계도 파악하기 어렵고 복잡해지겠죠? class Print{ public static String delimiter = ""; public static void A() { System.out.println(delimiter); System.out.println("A"); System.out.println("A"); } public static void B() { System.out.println(delimiter); System.out.println("B"); System.out.println("B"); } } public class MyOOP { public static void main(String[] args).. 2022. 3. 12.
자바의 순서, 자료형 프로젝트를 만들고, 패키지를 만들고, 클래스를 만든다. 클래스 안에 우리가 입력하는 것이 메서드가 된다. 패키지의 이름은 대문자로, 클래스의 이름은 소문자로 시작하는 것이 개발자 간의 약속이다. 콘솔은 사용자와 운영체제간의 소통 결과를 나타내는 창이다. 변수는 저장공간의 개념이며 값은 저장공간에 담긴다. type(자료형)은 저장공간의 종류다. 변수와 type이 맞아야 한다. 자료형 type byte 값 논리형 boolean 1byte true, false 정수형 int 4byte 0, 5, 9, 2100000000 (short, long보다 int가 가장 많이 쓰인다.) 실수형 double 8byte 10.0, 9.5, 2.0, 0.0 (float은 4byte이며 double이 많이 쓰인다.) 문자형 c.. 2022. 1. 20.
JAVA, 컴파일 자바는 무엇일까? 객체 지향 프로그래밍 언어? 뛰어난 보안성? 우린 자바로 뭘 할 수 있을까? 자바를 이용하면 웹과 안드로이드에서 인디게임이나 포스기, 채팅기능 만들기가 가능하다. 그러기 위해서는 사람의 언어를 컴퓨터의 언어로 바꾸어주는 작업이 필요하다. 이것을 컴파일이라고 하며, 나는 eclipse photon 버전을 이용한다. 컴파일의 과정은 1. 디버그 2. 빌드 4. 링크 3. 실행 프로그램 이다. 디버그(오류 검사)를 진행하고 빌드를 통해 실행 프로그램을 만드는 작업을 한다. 링크는 실행 프로그램의 경로를 가지고 있다. 우리는 OS(운영체제)를 통해 하드웨어에 적절한 전기신호를 흘려준다. 사용자는 1+1 (RAM CPU RAM)의 명령을 운영체제에게 주고 적절한 응답을 받는다. RAM, 즉 메모.. 2022. 1. 20.