当前位置: 首页 > 知识库问答 >
问题:

Javaservletrequest.get属性()返回null当我设置它

梁磊
2023-03-14

我在AddServlet中设置了一个属性。java使用请求。setAttribute(),但当我尝试使用请求获取属性时。来自SquareServlet的getAttribute()。如果是Java,则返回null

我使用请求调度转发servlet。

AddServlet。爪哇:

package com.example.exampleweb;

import java.io.*;

import jakarta.servlet.RequestDispatcher;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.*;
import jakarta.servlet.annotation.*;

@WebServlet("/add")
public class AddServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
        response.setContentType("text/html");

        int i = Integer.parseInt(request.getParameter("num1"));
        int j = Integer.parseInt(request.getParameter("num2"));

        int k = i + j;


        request.setAttribute("k", k);
        RequestDispatcher rd = request.getRequestDispatcher("square");
        rd.forward(request, response);

    }

平方ervlet.java:

package com.example.exampleweb;

import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.Iterator;

import jakarta.servlet.annotation.WebServlet;

@WebServlet("/square")
public class SquareServlet extends HttpServlet {

    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        response.setContentType("text/html");

        int k = request.getAttribute("k") == null ? -1 : (int) request.getAttribute("k");

        PrintWriter out = response.getWriter();
        out.println("Result is: " + k);
        out.println(Collections.list(request.getAttributeNames()).size());
    }

}

index.jsp:

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
    <form action="square" method="get">
        Enter first number: <input type="text" name="num1"/>
        Enter second number: <input type="text" name="num2"/>
        <input type="submit",/>
    </form>
</html>

我使用tomcat 10.0.16和Java11和jakarta.servlet包

共有1个答案

欧阳元魁
2023-03-14

在我的索引上。jsp中,我将表单的方法设置为square而不是add,因此无法访问AddServlet,因此不会设置任何属性。

 类似资料:
  • 我们有一个基于泽西的web应用程序。我们将Apache Freemarker用于前端网页。我已经创建了一个servlet过滤器,并将其添加到web.xml中。这个过滤器拦截所有的http请求。在该过滤器的doFilter方法中,我从请求对象获取HTTPSession并设置一个属性值。说“Myval”。 尝试了以下访问MyVal的方法: ${request.myval} ${myVal}

  • 我是springboot的新手,我正在尝试从application.properties文件的位置(src/main/resources)读取属性值。但它总是返回NULL。我也需要帮助。附加类和属性文件。请注意:我试过“https://www.baeldung.com/properties-with-spring”如何访问Spring Boot中application.properties文件中定

  • 有一个错误,其中登录的用户将尝试更新他们的帐户用户名,但遇到一个错误。在我的一生中,我无法弄清楚为什么有时(可能有1/20的用户遇到这种情况)找不到当前的用户。只有登录后,用户才能访问此页面。错误有: 投掷;//未处理的“错误”事件 TypeError:无法设置null的属性“username” 错误似乎发生在这里:user.username=req.body.username;

  • 问题内容: 我正在编写一个返回经度和纬度的Android应用,但是location保留Null值。 请看看您是否能了解原因,整天困扰着我。代码如下: 问题答案: 如果自设备启动以来GPS从未获得过位置,则位置对象将为null。您可以做的一件事是尝试获取GPS位置和网络位置,然后检查两个位置是否都很好(或哪个更好)并使用该位置。

  • 我得到了这个转义的JSON 我需要使用Jackson将其转换为Java对象。 然后我创建了一个方法来转换它 Data类中设置为public的变量,那么调用getter时,我将获得。Data类中设置为private的变量,那么调用getter时将得到。 getter和setter总是公共的。

  • 为什么我的异步任务返回NULL?它以前工作得很好。我做错了什么? 这是我的代码。 日志类别08-22 09:51:04.279 113 59-11359/com.example.android.top10Music E/AndroidRuntime:致命异常:主进程:com.example.android.top10Music,PID:11359java.lang.nullPointerExcep