मैं एक वेब ऐप को तैनात करने की कोशिश कर रहा हूं जिसमें 1 एचटीएमएल, 1 जेएसपी, और 3 सर्वलेट (और कुछ सीएसएस और छवियां) शामिल हैं। वेब ऐप एक MySQL डेटाबेस का उपयोग करता है जिसे मैं एडब्ल्यूएस आरडीएस इंस्टेंस में होस्ट कर रहा हूं। मैंने इस गाइड का इस्तेमाल किया< /ए>

मैं वेब ऐप को तैनात करता हूं और कोई त्रुटि नहीं प्राप्त करता है, हालांकि केवल एचटीएमएल पेज लोड होता है। मैं सीधे उपकरण बेल्ट का उपयोग कर ग्रहण से तैनात कर रहा हूँ।

टॉमकैट v9 सर्वर पर स्थानीय रूप से परिनियोजन और परीक्षण ठीक काम करता है और पृष्ठों के बीच प्रवाह ठीक है। हालांकि, जब मैं एक एडब्ल्यूएस लोचदार बीनस्टॉक सर्वर पर तैनात करता हूं जो एक प्लेटफॉर्म चलाता है: जावा 8 के साथ टॉमकैट 8 64 बिट अमेज़ॅन लिनक्स/3.1.5 पर चल रहा है (टोमकैट का नवीनतम संस्करण मुझे इसका उपयोग करने देता है v8 क्या यह एक समस्या हो सकती है?) , तो लोड किया जा सकने वाला एकमात्र पृष्ठ html है। जेएसपी लोड करने या सर्वलेट जमा करने का प्रयास करते समय अंततः यह कहता है कि यह पृष्ठ काम नहीं कर रहा है।

फ़ाइल अवलोकन:

  • ऑर्डरफॉर्म.html

  • request.jsp

  • SendRequest.java

  • fillRequest.java

  • डाउनलोड.जावा

एचटीएमएल सिर्फ एक फॉर्म है जो सर्वलेट sendRequest को सबमिट करता है। Jsp mySQL डेटाबेस में एक तालिका प्रदर्शित करता है और आपको तालिका में एक कॉलम को fillRequest पर भेजकर बदलने देता है, साथ ही यह आपको एक फ़ाइल डाउनलोड करने देता है जो db में एक BLOB के रूप में download.java सर्वलेट का उपयोग करके संग्रहीत है।

यह पहली बार है जब मैं एडब्ल्यूएस बीनस्टॉक में तैनात कर रहा हूं और मुझे यकीन नहीं है कि मैंने इस प्रक्रिया में कुछ गलत किया है। चूंकि कोड स्थानीय रूप से काम करता है, मुझे यकीन नहीं है कि मुझे कौन सा कोड शामिल करना चाहिए, कृपया मुझे बताएं कि कौन सी अन्य जानकारी पोस्ट करने में सहायक होगी और फिर मैं अपना प्रश्न संपादित करूंगा। क्या गलत हो रहा है और मैं इसे कैसे ठीक कर सकता हूं, यह जानने के लिए मुझे कहां देखना चाहिए, इसकी कोई मदद की सराहना की जाती है!

लॉग:

लॉग का सारांश: 1.

17-Jun-2019 09:22:05.095 SEVERE [http-nio-8080-exec-3] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [sendRequest] in context with path [] threw exception
 java.lang.ClassCastException: java.io.ByteArrayInputStream cannot be cast to java.io.FileInputStream
    at requests.sendRequest.doPost(sendRequest.java:65)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
    at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:684)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1152)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)

मैंने इसे ठीक करने की क्या कोशिश की:

मैंने इस पोस्ट को देखा: सर्वलेट. ) सर्वलेट जेएसपी के लिए इस अपवाद को फेंक दें?

परिणामस्वरूप मैंने अपने pom.xml में निम्नलिखित जोड़ा:

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>servlet-api</artifactId>
  <version>2.5</version>
  <scope>provided</scope>
</dependency>
<dependency>
  <groupId>javax.servlet.jsp</groupId>
  <artifactId>jsp-api</artifactId>
  <version>2.1</version>
  <scope>provided</scope>
</dependency>

हालांकि, कुछ भी नहीं बदला। मैंने इस पोस्ट को भी देखा: मुझे कुछ चित्र सहेजने की आवश्यकता है, मैं उस ByteArrayInputStream को FileInputStream में कैसे ठीक कर सकता हूं?

परिणामस्वरूप मैं बदल गया: (ps एक तैयार स्टेटमेंट है)

FileInputStream fileContent = (FileInputStream) filePart.getInputStream();
ps.setBinaryStream(10, fileContent);

प्रति

InputStream fileContent = filePart.getInputStream();
ps.setBinaryStream(10, fileContent);

फिर भी कुछ नहीं बदला...

2.

17-Jun-2019 12:10:59.411 INFO [http-nio-8080-exec-10] org.apache.coyote.http11.AbstractHttp11Processor.process Error parsing HTTP request header
 Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
 java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
    at org.apache.coyote.http11.AbstractNioInputBuffer.parseRequestLine(AbstractNioInputBuffer.java:287)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1065)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)

3.

com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
  1. [प्रॉक्सी: त्रुटि] [पिड ३६५५: tid १३९८०३९५३६९८५६०] [क्लाइंट १७२.३१.३.९३:४८७८२] AH00898: /requests.jsp द्वारा लौटाए गए दूरस्थ सर्वर से पढ़ने में त्रुटि, रेफरर: ...../orderform.html

0
Alfie Danger 17 जून 2019, 12:39

1 उत्तर

सबसे बढ़िया उत्तर

मैं इस मार्गदर्शिका

मैं जो करना भूल गया था वह मेरे वेब ऐप को आरडीएस डेटाबेस से जोड़ना है।

इसलिए इसे ठीक करने के लिए मैंने एक में RDS लॉन्च किया। डिफ़ॉल्ट वीपीसी. फिर मैंने आरडीएस इंस्टेंस के सुरक्षा समूह पर इनबाउंड नियमों को संशोधित किया। मेरे द्वारा किए गए संशोधन लोचदार बीनस्टॉक इंस्टेंस के सुरक्षा समूह के लिए एक नया नियम जोड़ने के लिए थे।

1
Alistair Leslie Graham 26 मई 2020, 23:53