묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨모의해킹 실무자가 알려주는, 파일 다운로드 취약점 공격 기법과 실무 사례 분석
JasperException
안녕하세요, 코드를 실행시켰을 때 JasperException 오류가 발생하여 문의드립니다. 구글링 했을 때는 jsp 파일이 java로 변환되고 class 생성하는 과정에서 오류가 난다고 합니다. 그래서 WAS에서 오류를 해결할 수 있다고 하는데, 윈도우즈 환경에서 WAS를 어떻게 접근할 수 있는지 모르겠습니다.또한, WAS 말고도 다른 방법이 있는지 궁금합니다.제 코드와 오류를 첨부하겠습니다.감사합니다.<%@ page contentType="text/html; charset=UTF-8"%> <%@ page import="java.util.*;, java.io.*;" %> <% FileInputStream fis = null; <!-- fileInputStream은 1byte씩 부르게 됨 --> BufferedInputStream bis = null; <!-- 그래서 버퍼드 클래스를 사용하면 버퍼를 이용해서 바이트스트림을 쌓아두고 효율적으로 관리 가능능--> BufferedOutputStream bos = null; String path = "C:\\Program Files\\Apache Software Foundation\\Tomcat 9.0\\webapps\\ROOT\\upload\\image\\"; String org_filename = request.getParameter("org_filename"); <!-- get 메소드를 받아오는 게 아님. 그냥 입력값을 받는 것.--> String real_filename = request.getParameter("real_filename"); if(org_filename = null || real_filename = null) { out.println("<script>alert('파일명이 입력되지 않았습니다.');history.back(-1)</script>"); return; } try { File fd = new File(path + real_filename); if(!fd.exists()) { <!-- 파일이 없으면 --> out.println("<script>alert('파일이 존재하지 않았습니다.');history.back(-1)</script>"); return; } response.setHeader("Content-Type", "application/octect-stream"); <!-- 임의의 파일 --> response.setHeader("Content-Disposition", "attachment; filename=" + org_filename); <!-- 다운받을 때 셋팅되는 파일 이름--> <!-- 파일 -> Byte -> Buffer -> user --> fis = new FileInputStream(fd); <!-- 파일 객체가 들어와도 ㄱㅊ--> bis = new BufferedInputStream(fis); bos = new BufferedOutputStream(response.getOutputStream); byte[] buffer = new byte[1024]; int i = 0; <!-- bis에 있는 값을 buffer로 불러왔는데, 이제 옮길게 없다면 -1이 반환됨 --> while((i=(bis.read(buffer))) != -1) { bos.write(buffer, 0, i); } bos.flush(); } finally { <!-- 객체를 중지시키는 곳--> if(fis != null) <!-- 객체 생성이 제대로 되었다면--> fis.close(); if(bis != null) bis.close(); if(bos != null) bos.close(); } %>오류타입 예외 보고 메시지 org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.download1_jsp 설명 서버가, 해당 요청을 충족시키지 못하게 하는 예기치 않은 조건을 맞닥뜨렸습니다. 예외 org.apache.jasper.JasperException: org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.download1_jsp org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:589) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:425) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:376) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:324) javax.servlet.http.HttpServlet.service(HttpServlet.java:623) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 근본 원인 (root cause) org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.download1_jsp org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:197) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:413) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:376) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:324) javax.servlet.http.HttpServlet.service(HttpServlet.java:623) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 근본 원인 (root cause) java.lang.ClassNotFoundException: org.apache.jsp.download1_jsp java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:129) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:58) org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:192) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:413) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:376) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:324) javax.servlet.http.HttpServlet.service(HttpServlet.java:623) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 비고 근본 원인(root cause)의 풀 스택 트레이스를, 서버 로그들에서 확인할 수 있습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
컬렉션 필드에 대한 하이버네이트의 추적
안녕하세요.강의 13:00에서@OneToMany 컬렉션 필드를 하이버네이트가 변경사항을 추적한다는 말씀을 하셨습니다. 연관관계의 주인이 아닌 거울이기 때문에 컬렉션에 요소를 추가/제거 하더라도 테이블에 영향을 주지 않는데요. 즉 더티체킹을 하지 않는 것으로 이해했기 때문에 하이버네이트가 추적을 한다는 말씀이 잘 와닫지 않습니다. 제가 잘못이해한 것이 있는지 궁금합니다~!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Unity를 연동할 때에 서버 OnConnectionFailed 에러가 뜹니다
안녕하세요 저는 Mac을 이용해 강의를 듣고 있습니다. 현재 Visual studio for Mac의 지원중단에 따라 VScode로 따라가고 있습니다. 실행할 때에도 vscode 내에 분할 터미널을 이용해 "dotnet run" 명령어로 Server, Client를 실행시키고 있습니다. 그런데, 유니티 연동#1 강의에서도 같은 방법을 dotnet run으로 Server와 Client를 실행시키고 유니티에서 플레이 버튼을 눌렀을 때 "OnConnectCompleted Fail: ConnectionRefused"이라는 에러가 떠서 Connect가 아예되고 있지 않습니다! Mac 환경의 문제인지 아니면 제가 잘못된 방법으로 진행중인지 알려주시면 감사하겠습니다!
-
해결됨초보자를 위한 BigQuery(SQL) 입문
JOIN 연습문제 3번 답이 다르게 나와요ㅠㅠ
분명 선생님께서 해주신 거랑 똑같이 쿼리 입력했는데왜 저는 28/43개가 아니라 17/18개가 나오는 걸까요...? (혹시 그새 데이터 파일이 바뀌거나 한 걸까요 😂)
-
해결됨FastAPI 완벽 가이드
url_for
중간에 url_for 강의가 누락된 것 같은데 맞나요?
-
미해결김영한의 실전 자바 - 기본편
클래스 개념 이해 확인
Student 클래스를 이렇게 이해한 것이 맞는지 확인 부탁드립니다,, 혹시 틀린 부분이 있다면 알려주세요,, Student student1;student1 = new Student(); 1. Student 클래스의 참조값을 student1이라는 변수에 집어넣는다.2. new Student()는 Student 클래스에 실제로 접근할 수 있는 새로운 인스턴스 값을 생성한다는 의미이다.3. 이를 student1에 대입하여 Student 클래스의 객체(인스턴스)에 실제로 접근하여 클래스 안의 멤버 변수를 활용할 수 있다. 이를 축약하면 Student student1 = new Student();다른 클래스에서 데이터 타입형태로 Student를 넣을 수 있다.(Student student1 같이)
-
미해결FastAPI 완벽 가이드
react
안녕하세요저희는 기존에 react + node를 사용해서 개발을 하고 있었는데요python으로 변경하려는 상황입니다. 강의를 보면서 jinja라는 것을 알게 되었는데요.찾아보니까 react를 사용하면 jinja를 사용하지 않는다고 하더라구요 react를 사용하는게 맞을까요 아니면 jinja를 사용하는게 맞을까요 보통 어떻게 많이 사용하나요?
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
인테리제이 기능 질문 exception 클래스 색깔 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 영한님 강의 영상을 보다가exception 클래스 색깔이 노란색 인것을 보고 괘찮은 기능이라고 생각해서 여쭈어 봅니다.이것은 어떻게 설정해야 이렇게 바꿀수 있나요?답변 부탁드립니다.
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
실습 환경을 google colab + 파이토치로도 가능한가요?
RAG 강의랑 수강해놓고 아직 듣지못하고 있는데실습 환경을 RAG 강의와 더불어colab + 파이토치로 해도 동일하게 실습할수 있나요?
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
강의 듣다가 질문드립니다.
양방향 바인딩 강의 듣다가 @input이 나왔는데요.이게 자바스크립트의 onchange와 같은 역할을 하나요?vue를 처음 접하는지라 사소한것도 질문드리게되네요.vue3 => v-on:input="aaa" => @input="aaa" js => onchange="aaa()" 위처럼 생각해도될까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
새 강의 쿠폰과 관련해서 질문드립니다.
귀찮게 해서 죄송합니다. 혹시 저도 기간을 놓쳐 쿠폰을 사용하지 못했는데 새로운 강의를 수강하기 위한 할인 쿠폰을 받을 수 있을지 문의드립니다. 좋은 강의를 제공해주셔서 감사드립니다 :)
-
해결됨[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
라이브러리 publish 에러 관련
우선 강의를 들어주셔서 감사합니다. 강의 들으시면서 궁금하신 부분을 남겨주세요. 회사 일 관계로 빠른 답변이 어려울 수 있으며, 최대 3일 이내에 답변드리도록 하겠습니다. 이해를 돕기 위해서 스크린샷 이미지, 피그마 파일 링크를 반드시 첨부해주세요. 마지막으로 먼저 유사한 질문이 있는지 한번 찾아보시는 걸 권장 드립니다. 인프런 서비스 운영 관련해서는 1:1 문의하기로 인프런 쪽으로 연락 주시기 바랍니다. 안녕하세요. 섹션5의 "컴포넌트 만들기전 라이브러리 세팅하기"를 듣고 있습니다.Foundation과 UI Kit을 @boldux에서 가져온뒤에 팀프로젝트를 "Design System"으로 넣어주고첫번째로 Foundation으로 들어가서 publish를 하면 아래와 같이 에러가 발생합니다 Publish를 눌러보면 이 대상들이 안되는거 같습니다. 이대로라도 수업을 듣고 싶어서 UI Kit쪽에서 add까지 했었는데, add는 되는데 아이콘들을 눌러봐도 강의와는 달리 연동이 안되어 있는 상태입니다. 검색을 해봤는데도 달리 답을 찾지 못해서 이렇게 올려봅니다. 저와 같은 분들이 계셨을까요?
-
해결됨
아키텍쳐를 공부한다는게 어떤 의미인지 궁금합니다.
서비스의 아키텍쳐를 공부하면 기획 시 도움이 된다는 말을 많이 들었습니다. 개발에 대한 아무런 지식이 없는데, 서비스의 아키텍쳐를 공부하는게 무엇인지,또 어떻게 공부를 시작하면 좋을지 조언을 얻을 수 있을까요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
등호 2개('==')의 의미가 뭐죠?
a=int(input())if a %2==0: print("짝수")else: print("홀수") 위에서 왜 등호("=")가 2개여야 하죠? 하나로 해보니 에러가 나네요.
-
미해결디지털 포렌식 (Digital Forensic) 전문가 과정
섹션7. 강의 내용 중복 여유
안녕하세요.섹션7 강의인 디지털범인을 찾아라 강의 내용중42강 강의가 43~44강 강의랑 같은 내용인데 다시 촬영해서 올려주신걸까요? 앞에 내용을 봤을때 내용이 중복인거 같아서요
-
미해결TensorFlow로 배우는 심층 강화학습 입문 - Deep Reinforcement Learning
코드 첫 라인부터 오류납니다.
코드 첫 라인부터 오류납니다.확인해서 다시 올려주세요. --------------------------------------------------------------------------- CalledProcessError Traceback (most recent call last) <ipython-input-5-4f475c98efa9> in <cell line: 0>() ----> 1 get_ipython().run_cell_magic('bash', '', '# Install additional packages for visualization\nsudo apt-get update\nsudo apt-get install -y xvfb python-opengl > /dev/null 2>&1\npip install pyvirtualdisplay > /dev/null 2>&1\npip install git+https://github.com/tensorflow/docs > /dev/null 2>&1\npip install gym[classic_control]\n') 4 frames<decorator-gen-103> in shebang(self, line, cell) /usr/local/lib/python3.11/dist-packages/IPython/core/magics/script.py in shebang(self, line, cell) 243 sys.stderr.flush() 244 if args.raise_error and p.returncode!=0: --> 245 raise CalledProcessError(p.returncode, cell, output=out, stderr=err) 246 247 def _run_script(self, p, cell, to_close): CalledProcessError: Command 'b'# Install additional packages for visualization\nsudo apt-get update\nsudo apt-get install -y xvfb python-opengl > /dev/null 2>&1\npip install pyvirtualdisplay > /dev/null 2>&1\npip install git+https://github.com/tensorflow/docs > /dev/null 2>&1\npip install gym[classic_control]\n'' returned non-zero exit status 1.
-
해결됨대규모 트래픽 처리를 위한 부하테스트 입문/실전
수평적 확장을 통해 병목 지점 해소를 한 이유가 궁금합니다.
안녕하세요.최근 성능 최적화와 관련되어 병목 지점을 명확히 하고싶어 해당 강의를 수강중인 한 학생입니다. 강의 내용 중, ec2 의 cpu의 사용량이 100% 찍어, 수평적 확장을 통해 병목 지점을 해소하려고 한 내용을 확인하였습니다. 현재 개발되어있는 spring boot 프로젝트에서 tomcat 서버의 pool 사이즈에 대한 설정과 hikari pool 에 대한 사이즈 설정이 default 로 들어가 있어서 문제가 발생할 수도 있을 것 같다라는 생각이 듭니다. (default 가 min : 10 으로 설정되어있어, 이를 처리하기 하기 위한 thread 생성을 하다 보니, 더 늘어났다고 생각) 물론, 해당 spring boot 의 서버의 자원을 모니터링 하기 위한 툴이 적용되어 있지 않아 판단이 어려운 부분이 있긴 할 것 같습니다. 만약, 스카우터 등을 사용해 모니터링 한 결과, cpu 사용량이 100퍼센트까지 치솟는 지점이, 신규 thread 가 막 늘어나고, 요청들이 waiting 되는걸 확인한다면, pool 사이즈 부터 건들여 보는게 맞을까요?
-
미해결[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
React-native-webview가 0.77.0버전에서 작동이 되지 않습니다.(흰화면)
질문이 아닙니다.해당 현재"react-native": "^0.76.6","react-native-webview": "^13.13.2",에서 웹뷰로 카카오 로그인을 접속하려고 했으나.버그가 있어 렌더링 접속이 되지 않습니다.기존 제공해주신 깃허브 코드로 이어가려고 했으나 동일하네요. 원래는 0.77.0이었으나 해당 라이브러리 깃허브 이슈로 등록되어서 다들 동일하게 에러 뱉습니다.++++ 방법을 찾아보니 랩핑하면 안되고 있습니다. +++랩핑을 제거후에 진행하시기 바랍니다. // <ScrollView style={styles.container}> <WebView style={styles.webview} source={{uri: uri}} onMessage={handleOnMessage} /> // </ScrollView>
-
해결됨한국에서 제일 쉬운 리눅스 커널 강의
xshell 와이파이 연결이 안됌.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 자주 묻는 질문에 혹시 답이 있을 수 있어요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이렇게 xshell이 연결이 안됩니다.. 동영상 보고 그대로 따라 했는데 왜 안되는 걸까요,,>?
-
미해결실습으로 손에 잡히는 SQLD의 정석(2과목)
ORA-01017 에러
안녕하세요. DBeaver에서 username과 password에 소문자로 잘 맞게 작성했는데 계속 ORA-01017 에러가 발생합니다.여러 차례 시도했는데도 계속 같은 에러가 뜨는데 어떻게 하나요?