묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
선생님 ㅠㅠ 안됩니다.
선생님 제가 지금 [실습2-2] "직접 제작하면서 배우는 JSP 기반의 파일 업로드 기능에 대한 이해" 이 부분을 공부하고 있는데 아파치 톰캣 폴더 안에 webapp 안에 Root 폴더에 index.jsp, upload.jsp 파일 둘 다 만들어서 선생님께서 강의해주신 그대로 코드를 작성하고 톰캣을 실행시켜서 127.0.0.1:8080에 접속해서 "파일 선택 선택된 파일 없음 upload"까지는 정상적으로 되었는데 그 이후에 파일을 선택하고 업로드 버튼을 누르면 "HTTP 상태 500 - 내부 서버 오류"가 발생합니다. 제가 upload.jsp에 작성한 코드는 <%@ page language="java" contentType="text/html; charset=UTF-8" %> <%@ page import="com.oreilly.servlet.MultipartRequest" %> <% String path = request.getRealPath("upload"); MultipartRequest multi = new MultipartRequest(request, path, 1024*10, "UTF-8"); String filename = path + "/" + multi.getFilesystemName("userfile"); %> <li>업로드 성공 : <%=filename%></li> 이것이고 "HTTP 상태 500- 내부 서버 오류"에 써 있던 문구는 org.apache.jasper.JasperException: JSP를 위한 클래스를 컴파일할 수 없습니다.: JSP 파일 [/upload.jsp]의 [6] 행에서 오류가 발생했습니다. The type javax.servlet.http.HttpServletRequest cannot be resolved. It is indirectly referenced from required .class files 3: <% 4: String path = request.getRealPath("upload"); 5: 6: MultipartRequest multi = new MultipartRequest(request, path, 1024*10, "UTF-8"); 7: String filename = path + "/" + multi.getFilesystemName("userfile"); 8: %> 9: JSP 파일 [/upload.jsp]의 [6] 행에서 오류가 발생했습니다. The type javax.servlet.ServletRequest cannot be resolved. It is indirectly referenced from required .class files 3: <% 4: String path = request.getRealPath("upload"); 5: 6: MultipartRequest multi = new MultipartRequest(request, path, 1024*10, "UTF-8"); 7: String filename = path + "/" + multi.getFilesystemName("userfile"); 8: %> 9: JSP 파일 [/upload.jsp]의 [6] 행에서 오류가 발생했습니다. The constructor MultipartRequest(HttpServletRequest, String) refers to the missing type HttpServletRequest 3: <% 4: String path = request.getRealPath("upload"); 5: 6: MultipartRequest multi = new MultipartRequest(request, path, 1024*10, "UTF-8"); 7: String filename = path + "/" + multi.getFilesystemName("userfile"); 8: %> 9: Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:213) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:482) org.apache.jasper.compiler.Compiler.compile(Compiler.java:392) org.apache.jasper.compiler.Compiler.compile(Compiler.java:362) org.apache.jasper.compiler.Compiler.compile(Compiler.java:346) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:400) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:770) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 이것입니다. 선생님께서 말씀하셨던 cos.jar 파일도 잘 아파치 톰캣 폴더 lib에 넣었는데 이럽니다 ㅠㅠ 저는 지금 비주얼 스튜디오 코드를 사용하고 있고 이클립스는 사용하지 않고 있습니다. 아파치 톰캣은 10버전을 사용하고 있고 JDK8버전을 사용하고 있습니다. PHP 기반의 파일은 정상적으로 잘 만들어지는데 JSP 기반의 파일은 안 만들어집니다. 검색을 해도 이클립스 어쩌구 저쩌구만 나오고 미치겠습니다. 6행에서 오류가 발생했다고 해서 계속 확인을 해봤는데 선생님께서 작성해주셨던 코드랑 다를 게 없었습니다. index.jsp 파일에 있는 코드들은 다 색깔이 들어가는데 이상하게 upload.jsp 파일에 있는 코드들은 다 색깔이 안 들어갑니다.
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
안녕하세요 오류 질문입니다.
선생님 강의를 현재까지 그대로 따라했는데 @WebServlet("/memberInsert.do") 으로 줬는데 제 경우에 계속 왜 404 뜨면서 없는 jsp 로 갈까요.. (콘솔창에 에러는 안나옵니다..)그리고 선생님이 실행하는 방식이 아닌 저렇게 run as로 하면 안되나요? 오히려 선생님이 하시는 대로 127.0.0.1 로컬호스트 들어가니까 안되더라구요.. 마지막으로 혹시 소스코드 pdf 파일 말고 zip파일이나 이런거로 올려주실수 있을 까요.. 에러 났을때 비교해보고 확인해보고 싶은데 pdf에서 복사하면 ㅁㅁㅁ 이런식으로 복사가 제대로 안되네요..
-
미해결JSP 웹 쇼핑몰 프로그래밍 기본 과정(JSP WEB Programming)
소스코드말고 강의 ppt 자료를 원합니다.
ppt 자료 제공 부탁드립니다.
-
미해결JSP WEB MVC Model2 Programming(중급 과정)
MVC패턴의 쇼핑몰 수업자료 관련
model1방식에서는 게시판과 쇼핑몰을 모두 진행 하였는데 model2 방식으로는 게시판밖에 강의가 올라오지 않아서 저도 아쉬워하고있었는데 댓글을 보니 수업자료로 올려주셨다고 하는 글을 보았습니다! 수업자료 다운받아봤는데 model2방식 쇼핑몰은 아직 업데이트가 안된건가요 아니면 추후 업데이트 될 예정인가요?
-
미해결실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌
cmd에서 사용자계정 생성하실때 오류뜨시는분들
오라클 12c로 넘어오면서 바꼈다네요 .. https://ngg3319.tistory.com/74 한시간삽질했습니ㅏ ㅋㅋㅋㅋ
-
미해결실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌
세션을 서버에 저장하는 이유는??
쿠키가 보안에 취약해서 세션을 써야 한다는 부분은 이해가 갑니다. 근데, 왜 세션을 서버에 저장하죠?? 쿠키 부분에서 설명할 때 많은 사용자의 쿠키를 서버에 저장하면 다량의 오버헤드가 발생하니깐 쿠키를 client측에 저장한다고 했는데, 세션은 왜 서버에 저장하는 거죠??
-
미해결누구나 따라하면서 배우는 JSP 커뮤니티 게시판 만들기
이클립스에서 jsp 문법 오류를 발견할 수 없는데..
이클립스에서 jsp 문법 오류를 발견할 수 없는데.. (몇번을 검토해도 똑같은데 대체 어디가 틀린지 알 수 없습니다..) 혹시 해당 코드 올라와 있는 github 주소 있을까요?
-
미해결실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌
강의자료 다운로드가 안됩니다ㅠㅠ
강의자료 다운로드를 눌렀는데 밑의 사진처럼 연결할 수 없다는 화면만 뜨네요. 확인 한번만 부탁드립니다 :)
-
미해결누구나 따라하면서 배우는 JSP 커뮤니티 게시판 만들기
login.jsp 전체 코드에 대해 질문을 드립니다
강사님께서 작성하신 login.jsp에서는 header가 회색 계열이며, 그 header 왼쪽에는 검은색 글꼴이 배치되어 있고, 오른쪽에 정상적으로 버튼이 나오는 걸 볼 수가 있습니다. 그러나 저도 강사님께서 작성하신 login.jsp 코드를 똑같이 작성했는데 불구하고, header가 회색 계열이 아닌 흰색 계열이며, header에 구현된 버튼이 강사님께서 만든 버튼과 다른 버튼이 나옵니다. 마지막으로 bootstrap version 3.3.7버전, 그리고 jQuery 3.1.1 version을 사용했는데, 위에 언급된 문제들이 전혀 해결되지 않은듯합니다. 어떻게 하면 해결할 수 있을까요?
-
미해결JSP 강의평가 웹 사이트 개발하기
영어발음이너무구려요..
그냥 한국식영어발음으로 하시는게나을거같아요..
-
미해결실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌
맥은 오라클이 안되는데요..ㅠ
맥은 오라클이 안되는데요..ㅠ
-
미해결실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌
Cookie 선언할때, Cookie[] 와 Cookie의 차이가 있나요??
예제에서 1. Cookie [] cookies = request.getCookies(); 2. Cookie cookie = null 이렇게 두가지 선언이 있는데 Cookie[]는 배열이고 Cookie는 배열이 아닌것 인가요?? 차이가 있다면 어떤점이 다른건지 헷갈립니다.
-
미해결실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌
doPost()가 안되는 이유가 뭘까요?
method="post"로 바꾸고 실행을 해도 doGet()만 실행이 되는데 어떤게 문제일까요? jsp자료 받고 저것 외엔 수정한 내역이 없는데도 그러네요
-
미해결누구나 따라하면서 배우는 JSP 커뮤니티 게시판 만들기
startup.bat 오류 한글깨짐
cmd 창에 startup.bat를 입력하면, 새창이 뜨면서 맨뒤에 unnamed라고 뜨면서 아래는 한글깨짐이 일어납니다. 그리고 곧 있다가 꺼지는데 뭐가 잘못된걸까요?? ㅠㅠ 그리고 localhost8080 도 연결이 안되요
-
미해결실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌
프로젝트 로드 하면 서블릿.java 파일 이 빨갛게 에러문법이라고 나오는건 어떻게 하면 될까요
기존에 이클립스 workspace 에다가 강의실 에 잇는 프로젝트 파일을 복사 해놓고 import 해 보면서블릿 파일이 에러 문법 다수 라고 나오는데용..신규로 project 만들어서 서블릿파일, html 파일 붙여넣으면 이상없구요. 아무래도 컴파일 경로가 잘못된거 같기도 하고 혹시 아세요?첫 import 패키지 부터 에러 인거로 봐선 경로를 못찾음 인거 같아요
-
미해결JSP 강의평가 웹 사이트 개발하기
이 에러 어떻게 해결하나요? 회원가입 버튼 누르니 이런 에러 뜨네요
Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.Thu Jun 14 00:00:33 KST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.java.sql.SQLException: The server time zone value '´???¹?±¹ ???ؽ?' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:127)at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95)at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:87)at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:61)at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:71)at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862)at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:444)at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230)at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226)at java.sql.DriverManager.getConnection(Unknown Source)at java.sql.DriverManager.getConnection(Unknown Source)at util.DatabaseUtil.getConnection(DatabaseUtil.java:14)at user.UserDAO.join(UserDAO.java:14)at org.apache.jsp.userJoinAction_jsp._jspService(userJoinAction_jsp.java:139)at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468)at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Unknown Source)Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value '´???¹?±¹ ???ؽ?' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)at java.lang.reflect.Constructor.newInstance(Unknown Source)at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:59)at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:83)at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:128)at com.mysql.cj.protocol.a.NativeProtocol.configureTimezone(NativeProtocol.java:2201)at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2225)at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1391)at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:993)at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:852)... 36 morejava.lang.NullPointerExceptionat user.UserDAO.join(UserDAO.java:15)at org.apache.jsp.userJoinAction_jsp._jspService(userJoinAction_jsp.java:139)at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:443)at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468)at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Unknown Source)
-
미해결누구나 따라하면서 배우는 JSP 커뮤니티 게시판 만들기
저같은 사람에게 도움을 주고자 남깁니다.
String dbURL = "jdbc:mysql://localhost:3306/BBS?serverTimezone=UTC";Class.forName("com.mysql.cj.jdbc.Driver");저는 계속해서 -2에 걸려 데이터 베이스 오류가 났습니다.MySQL 은 8.~버전을 이용중이고이제는 com.mysql.jdbc.Driver 에서 com.mysql.cj.jdbc.Driver 로 바뀌었고Time Zone 때문에 구글링 해봤더니String dbURL = "jdbc:mysql://localhost:3306/BBS?serverTimezone=UTC";하라고 나옵니다. 저와 같은 증상이신 분에게 도움이 됬으면 합니다.
-
미해결신입 프로그래머를 위한 실전 JSP 강좌
한글이 자꾸 깨집니다..
response.setContentType("text/html; charset=EUC-KR"); PrintWriter writer = response.getWriter(); writer.print(""); writer.print(""); writer.print(""); writer.print(""); writer.print("Post방식입니다. 따라서 doPost메소드가 호출 되었습니다"); writer.print(""); writer.print(""); 분명 보기와 똑같이 쳣는데도 한글만 깨져요.. 실행 결과가 Post?????. ??? doPost???? ?? ????? 이렇게 나옵니다.. 그리구 실행결과 항상 첫줄에 Served at: /hbk0514 이렇게 나오는데 이건 왜 나오는거죠..? 동영상 강의보면 두겟 메소드 아래 안보이는 소스가 재 이클립스 상에서는 존재합니다. response.getWriter().append("Served at: ").append(request.getContextPath()); 위에 소스코드는 신경 안써두 되나요...?