프로그래밍(81)
-
[Intellij] 웹 프로젝트에 라이브러리 경로 적용(WEB-INF에 lib의 jar파일이 적용되지 않는 문제 해결)
Intellij에서 web project를 생성하게 되면 기본적으로 다음과 같은 계층 구조를 가지고 있다. 만약 web 폴더내에 lib폴더가 없다면 생성해서 만들어주도록 한다. 문제는 이 lib폴더에는 jar파일들을 추가해도 소스파일에서 import 하지 못하는 현상이 발생한다. 그러나 server 작동시에는 해당 jar파일이 컴파일 됐는지 정상적으로 동작하는 모습을 보여주는데 이는 다음과 같은 문제를 가지고 있기 때문이다. 1. server를 실행한 후의 lib경로는 자동으로 인식하지만 server 실행전의 물리경로에 있는 lib 폴더의 경로는 인식하지 못한다. -> 별도의 컴파일 에러를 발생시키지 않는다면 서버 실행 후에는 라이브러리를 가져오니 관계없지만 java 소스코드의 경우 import가 되지 ..
2023.07.05 -
[Oracle] 맥북 사용자 SQL Developer IO오류 발생 시
SQL Developer로 db연결 시도시에 IO오류가 발생했다. IO오류는 db name 과 pw의 일치여부와는 관계없이 아예 db의 포트번호와 접속조차 되지 않았음을 뜻한다. 최근에 설치했던 은행용 방화벽 프로그램 때문인가 생각했으나 한가지 사실을 깨달았다. 맥북 사용자는 일반적으로 colima를 실행시킨 후 그 위의 환경에서 docker의 container로 oracle을 동작시키기 때문에 이 두가지 사항을 먼저 확인하기 바란다.
2023.07.04 -
[Servlet] 서블릿에서 클래스를 찾지 못해 404 Not Found가 발생하는 현상
문제상황 : Servlet을 이용해 웹 서버에서 설정해놓은 클래스를 통해 페이지를 이동시키게끔 구현한 실습을 진행중이었다. 그러나 아예 클래스 파일에 접근조차 하지 못하는 문제가 발생했다(이는 클래스 내에 여러가지 메서드에 출력문과 404 Not Found 에러를 통해 유추할 수 있었다.). 즉 매핑방식이라던지 매핑된 URL에 접근하는 방법이 잘못됨을 뜻했다. 그래서 기존에 annotation 매핑으로 진행했던 실습을 xml로 진행해보았음에도 동일했다. RequestDispatcher dis = req.getRequestDispatcher("JSP_MVC/servlet/01_joinView.jsp");// 톰캣서버가 기본경로로 잡고있는 건 제외하고 pacakage이름을 설정해준다. * 주의 : 같은 40..
2023.06.29 -
[Tomcat,JSP]서버에 파일 데이터가 올라가는 원리
HTML코드에서 img태그에서 src 항목에 파일의 경로를 입력한다. 그러나 서버에 파일을 올릴 때 여러가지 의문점과 문제점이 생겼고 다음과 같다. 문제상황 : Tomcat과 JSP를 이용해 서버에 올라온 파일의 경로를 이용해 웹 서버에 띄우는 원리가 이해가 되지 않음. 예를 들어 다음과 같은 소스 폴더 계층구조가 있을 때 참조가 다음과 같았다. 물리 경로(실제 로컬 pc의 경로를 뜻함) : web > JSP_File > bookstore > imageFileSave 여기서 imageFileSave에는 그 어떤 이미지 소스도 포함하고 있지 않은데도 불구하고 다음과 같이 작성시 서버에 올라온 img파일을 사용할 수 있었다. 이것이 어떻게 가능할까? 우선 서버에 올라온 이미지 파일이 어떤 식으로 형성되는지 ..
2023.06.29 -
[JSP] QueryString으로 데이터 넘기는 법(feat. form태그 GET Method)
웹 페이지에서 데이터를 넘기는 데에는 크게 두 가지 방법이 있다. get method와 post method를 사용하는 것이다. 이 중 get method를 통한 데이터 전달 방식의 종류에 대해 정리하겠다. 지금부터 이를 'get 방식'이라고 명명한다. 일반적으로 태그 안에서 데이터를 넘기는 형식을 많이 봐왔고 이제까지 그렇게만 사용해왔다. 이렇게 데이터를 넘길때 method = "post"로 설정하면 내부적으로 데이터를 처리하기 때문에 사용자는 전달 요청된 parameter에 직접 접근할 수 없다. 그러나 get 방식은 다르다. URL 뒤편에 parameter(데이터)의 정보가 출력된다. form태그 내에 있는 submit 버튼을 누를 시 저렇게 name과 value를 가지고 있는 태그들의 데이터가 넘..
2023.06.21 -
[IntelliJ] IntelliJ에서 MySQL과 JDBC를 연동한 웹 프로젝트 생성하기
문제상황 : 기존에 eclipse로 JDBC 실습하던 것을 IntelliJ 환경으로 바꿈. 크게 다를 것이 없어보이긴 했지만 항상 환경 하나 하나 바꾸는 거에 민감했기 때문에 노심초사. 그러나 싨제로 별 문제 없이 잘됐다. 이 글은 JDBC를 처음부터 끝까지 연동하는 방법에 대한 글이 아님. 참고 : 드라이버는 JDBC 내부적으로 존재하는 클래스라고 보면 되고 Connector는 DB에서 제공하는 파일이다. Java의 드라이버와 DB의 커넥터과 연동돼야 web에서 사용할 수 있음. * java 클래스 import 목록 import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; Connection conn ..
2023.06.20