Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从servlet在jsp中显示图像_Java_Jsp_Servlets_Scriptlet - Fatal编程技术网

Java 从servlet在jsp中显示图像

Java 从servlet在jsp中显示图像,java,jsp,servlets,scriptlet,Java,Jsp,Servlets,Scriptlet,我对java web应用程序非常陌生。我正在进行一个项目,我必须从mysql接收一组特定的图像,并在jsp中显示 下面是我的servlet代码(我在其中设置属性,toppings包含存储在我的计算机中的所有图像的路径),当我尝试在.jsp页面上检索它们时,它给我一个错误,如下所示: HTTP Status 500 - An exception occurred processing JSP page /CustomerBrowseScreen.jsp at line 115 typ

我对java web应用程序非常陌生。我正在进行一个项目,我必须从mysql接收一组特定的图像,并在jsp中显示

下面是我的servlet代码(我在其中设置属性,toppings包含存储在我的计算机中的所有图像的路径),当我尝试在.jsp页面上检索它们时,它给我一个错误,如下所示:

  HTTP Status 500 - An exception occurred processing JSP page /CustomerBrowseScreen.jsp at line 115

    type Exception report

    message An exception occurred processing JSP page /CustomerBrowseScreen.jsp at line 115

    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 /CustomerBrowseScreen.jsp at line 115

    112:             <%
    113:                 String[] display = (String[])request.getAttribute("images");
    114:                 
    115:                for(int i=0; i<display.length; i++)
    116:                {
    117:                    out.println(display);
    118:                }


    Stacktrace:
        org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:575)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    root cause

    java.lang.NullPointerException
        org.apache.jsp.CustomerBrowseScreen_jsp._jspService(CustomerBrowseScreen_jsp.java:193)
        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    note The full stack trace of the root cause is available in the Apache Tomcat/7.0.69 logs. 

     - .jsp Code
<%
                String[] display = (String[])request.getAttribute("images");

               for(int i=0; i<display.length; i++)
               {
                   out.println(display);
               }
%>

 - Servlet

                    String[] toppings = new String[size];

                    while(rs.next())
                    {  
                        toppings[i] = rs.getString(5); 
                        i++;
                    }

                    request.getSession().setAttribute("images", toppings);
                     request.getRequestDispatcher("CustomerBrowseScreen.jsp").forward(request, response);
HTTP状态500-在第115行处理JSP页面/CustomerBrowseScreen.JSP时发生异常
类型异常报告
消息在第115行处理JSP页面/CustomerBrowseScreen.JSP时发生异常
说明服务器遇到内部错误,无法满足此请求。
例外
org.apache.jasper.jaspereException:在第115行处理JSP页面/CustomerBrowseScreen.JSP时发生异常

112:我这里有几个问题: 1.我假设您需要发送带有附件(即图像)的响应。但代码显示您正在存储字符串:

String[] toppings = new String[size];

                    while(rs.next())
                    {  
                        toppings[i] = rs.getString(5); 
                        i++;
                    }
  • 请添加指向toppings[]的调试指针以检查其内容。我相信它可能包含负值
  • 你正在使用

    request.getAttribute("images")
    
    在JSP和

    request.getSession().setAttribute("images", toppings);
    
    在Servlet中。将JSP更改为

    session.getAttribute("images")
    


    这是一件很容易混淆的事情。

    您好,先生,我从数据库中获取的是图像的路径,而不是图像本身。请检查CustomerBrowseScreen_jsp.java中第193行的哪个值为null。是否有方法将此路径从servlet发送到jsp页面上的图像标记。。我在toppings中有多个路径。[Ljava.lang.String;@76c12282[Ljava.lang.String;@76c12282[Ljava.lang.String;@76c12282][Ljava.lang.String;@76c12282当我在servlet中应用调试指针时,我得到了我要查找的精确值。我认为当数组字符串从servlet传输到jsp时出现了问题,我不知道是什么。您好,我做了如下两个更改:[Ljava.lang.String;@76c12282[Ljava.lang.String;@76c12282[Ljava.lang.String;@76c12282][Ljava.lang.String;@76c12282当我在servlet中应用调试指针时,我得到了我所寻找的精确值。我认为当数组字符串从servlet传输到jsp时出现了一些问题,我不知道是什么。也许在jsp中,你想迭代n不要每次都打印数组-即display[i]。哦,我很笨..非常感谢,先生。下一个问题是:我们如何在scriplet中使用。我在下面尝试了,但给出了一个错误:if(display!=null&&display.length!=0){for(int i=0;i
    request.getSession().getAttribute("images")