尝试将变量从servlet传递到jsp

时间:2020-02-16 15:29:20

标签: java jsp servlets

请不要关闭,没有重复 首先,我搜索了所有位置,但找不到解决方案。 我试图将样本int变量从servlet传递到jsp,但是我遇到了java.lang.NullPointerException

此错误使我疯狂!!! 试图更改tomcat版本没有任何作用

我正在使用eclipse 2019

这是servlet代码

package presentation;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class testServlet
 */
@WebServlet("/testServlet")
public class testServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public testServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        //response.getWriter().append("Served at: ").append(request.getContextPath());
        int b = 5;

        try {
            request.setAttribute("b", b);
            request.getRequestDispatcher("index.jsp").forward(request, response);
            System.out.println("ezrzerzer");
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }

    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

这是我的JSP代码

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="ISO-8859-1">
        <title>Insert title here</title>
    </head>
    <body>
        <% int c = (int)request.getAttribute("b"); %>
        <h1><%= c %></h1>
    </body>
</html>

这是错误代码

HTTP Status 500 – Internal Server Error


Type Exception Report

Message An exception occurred processing [index.jsp] at line [10]

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception
org.apache.jasper.JasperException: An exception occurred processing [index.jsp] at line [10]

7:      <title>Insert title here</title>
8:  </head>
9:  <body>
10:         <% int c = (int)request.getAttribute("b"); %>
11:         <h1><%= c %></h1>
12:     </body>
13: </html>


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:626)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:515)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)


Root Cause
java.lang.NullPointerException
    org.apache.jsp.index_jsp._jspService(index_jsp.java:125)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)


Note The full stack trace of the root cause is available in the server logs.


Apache Tomcat/9.0.30

我需要为考试使用setAttribute和getAttribute,我不能使用其他方法,因为我使用此方法进行考试

0 个答案:

没有答案
相关问题