0

このコードを呼び出す別のjspコードからの入力としてdatetime1、datetime2、moteidを取得します。これは正常に機能しており、スクリプト1.shは正常に機能しています。このコードを実行すると、HTTPステータス500エラーが表示されます

<%@page import="java.io.BufferedReader"%>
<%@page import="java.io.InputStreamReader"%>
<%@page import="java.io.File"%>
<%@page import="java.util.Map"%>
<%@page import="com.sixpanview.fileReader"%>
<%@page import="java.util.Calendar"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.text.DateFormat"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
        <head>
            <%  
                String id = request.getParameter("moteid");
                String[] temp = id.split(":");
                String moteid = temp[0];
                String datetime1 = temp[1];     
                String datetime2 = temp[2];
                String moteId = temp[3];
                    String sh = "sh";
                    String rep = "/root/NetBeansProjects/JavaApplication/web/1.sh";
                    String cpid = "\"" + moteid + "\"";
                    String mm = datetime1;
                    String nn = datetime2;
                    String kk = moteId;


                    String[] cmdarr = new String[]{sh, rep, moteid, mm, nn, kk};

                    File file=new File("/root/NetBeansProjects/JavaApplication/web");
                    ProcessBuilder pb = new ProcessBuilder(cmdarr);

                    pb.directory(file);
                    Process p = pb.start();
                    p.waitFor();

                           %>



       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                <title>JSP Page</title>
            </head>
            <body>
                <iframe src="report.pdf" width="100%" height="700px"/>

            </body>
        </html>

そのショー

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /pdf1jsp.jsp at line 23

20:     <head>
21:         <%  
22:             String id = request.getParameter("moteid");
23:             String[] temp = id.split(":");
24:             String moteid = temp[0];
25:             String datetime1 = temp[1];     
26:             String datetime2 = temp[2];


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.NullPointerException
    org.apache.jsp.pdf1jsp_jsp._jspService(pdf1jsp_jsp.java:80)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.
4

1 に答える 1

0

22: 文字列 id = request.getParameter("moteid");

ここで id は null であり、それが 23 行で NPE をスローする理由です。

文字列[] temp = id.split(":");

于 2012-10-13T12:21:25.663 に答える