gpt4 book ai didi

java - 在 portlet .jsp 页面中,我连接了一个小程序,之后它抛出异常

转载 作者:行者123 更新时间:2023-12-02 07:49:52 24 4
gpt4 key购买 nike

在 portlet 的 .jsp 页面中,我连接了一个小程序,之后它抛出异常Portlet系统是Liferay

“‘Portlet 名称’暂时不可用。”显示在页面上。

小程序的 html/jsp 代码:

<APPLET name="SignApplet" mayscript code="SignApplet.class" 
archive="<%=renderResponse.encodeURL(renderRequest.getContextPath() + "/lib/SignApplet.jar")%>,
<%=renderResponse.encodeURL(renderRequest.getContextPath() + "/lib/crypto.tsp.jar")%>,
<%=renderResponse.encodeURL(renderRequest.getContextPath() + "/lib/crypto.gammaprov.jar")%>"
height=500 width=500 style="display:none;">
<PARAM NAME="file" VALUE="<%
byte[] array = (byte[])session.getAttribute("downloadedFile");
out.print(new String(array));
%>" />
</APPLET>

jsp 的名称是 LoadXLS。这是日志:

ApplicationDispatcher[/ExecutePortlet] PWC1231: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at java.lang.String.<init>(String.java:602)
at org.apache.jsp.WEB_002dINF.jsp.LoadXLS_jsp._jspService(LoadXLS_jsp.java:232)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:113)
...

04:18:44,421 ERROR [PortletRequestDispatcherImpl:137] org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.JasperException: java.lang.NullPointerException
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:113)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:785)
...


04:18:44,421 ERROR [PortletServlet:97] javax.portlet.PortletException: org.apache.jasper.JasperException: java.lang.NullPointerException
javax.portlet.PortletException: org.apache.jasper.JasperException: java.lang.NullPointerException
at com.liferay.portlet.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:139)
at com.test.ExecutePortlet.doView(ExecutePortlet.java:249)
at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:328)
at javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:93)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
...


ApplicationDispatcher[/ExecutePortlet] PWC1231: Servlet.service() for servlet ExecutePortlet Servlet threw exception
javax.portlet.PortletException: org.apache.jasper.JasperException: java.lang.NullPointerException
at com.liferay.portlet.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:139)
at com.test.ExecutePortlet.doView(ExecutePortlet.java:249)
at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:328)
at javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:93)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
...

04:18:44,437 ERROR [render_portlet_jsp:154] java.lang.NullPointerException
at java.lang.String.<init>(String.java:602)
at org.apache.jsp.WEB_002dINF.jsp.LoadXLS_jsp._jspService(LoadXLS_jsp.java:232)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
...

最佳答案

从堆栈跟踪来看,您似乎正在使用 tomcat - 在 Tomcat 中查找 NullpointerException 的实际位置的一个好方法是转到 JSP 编译器生成的中间代码,通常在 tomcat 的工作文件夹中 - 转到 tomcat/work/Catalina/localhost/your-web-app-name/org/apache/jsp/... 并在其中找到从 JSP 生成的 Java 代码(从堆栈跟踪中,它被命名为 LoadXLS_jsp.java。(“Catalina/localhost”是默认文件夹 - 您的设置可能有所不同)

堆栈跟踪显示,NullpointerException 发生在第 232 行 ( at org.apache.jsp.WEB_002dINF.jsp.LoadXLS_jsp._jspService(LoadXLS_jsp.java:232)
) - 虽然整个文件是机器生成的并且可读性不好,但将其映射回原始 JSP 应该非常简单。

我的赌注是 - 正如 Dragon66 在您的问题的评论中所说 - session.getAttribute("downloadedFile") 为空,因此您在 out.print(new String(array)); 中使用的构造函数获取传递的空值。专线at java.lang.String.<init>(String.java:602)告诉您 String 构造函数是引起 NullpointerException 的地方,但下一行 - 例如调用方法 - 告诉您字符串构造函数被调用的位置。

关于java - 在 portlet .jsp 页面中,我连接了一个小程序,之后它抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10344777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com