【Javaweb——tomcat常见错误】java.lang.NullPointerException_向过去说再见的博客-程序员秘密

技术标签: # javaWEB  java  后端  

参考:java.lang.NullPointerException出现的几种原因以及解决

运行程序时,发生错误:
在这里插入图片描述
错误类型:java.lang.NullPointerException
错误的地方:两个doPost

java.lang.NullPointerException出现的几种原因:
1、字符串变量未初始化
2、接口类型的对象没有用具体的类初始化,比如:
Map map // 会报错
Map map = new Map(); //则不会报错了
3、当一个对象的值为空时,你没有判断为空的情况。
4、字符串与文字的比较,文字可以是一个字符串或Enum的元素,如下会出现异常
String str = null;
if(str.equals(“Test”)){
//这里的代码将不会被触发,因为会抛出java.lang.NullPointerException异常。
}
5、优先使用String.valueOf()方法代替toString()
当程序代码需要对象的字符串表示形式时,请避免使用该对象的toString方法。如果你的对象的引用等于null,NullPointerException则会抛出,使用静态String.valueOf方法,该方法不会抛出任何异常并打印"null"
6、class被声明了类型, 默认 class = null; 这样在调用class中方法的时候系统只能给你个空指针异常, 给其实例化就好了:class = new Class();
7、返回null,方法的返回值不要定义成为一般的类型,而是用数组。这样如果想要返回null的时候就能避免许多不必要的NullPointerException

我怀疑是传送的参数有错误

发送的servlet参数为“student”

request.setAttribute("student", student);
		RequestDispatcher rd=request.getRequestDispatcher("/GetServlet");

然后接收的servlet准备接收的参数却为"Student",接口类型的对象没有用具体的类初始化

Student student=(Student)request.getAttribute("Student");
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_44308180/article/details/108937450

智能推荐

Oracle裁员,N+6赔偿,你只看到幸福感?_程序新视界的博客-程序员秘密

你好,我是二师兄。上周Oracle中国区的裁员事件引起了业内从业者的垂涎,只因Oracle给出N+6的补偿。但如果你只看到这些,说明你的职场生涯也岌岌可危了。在这波“潮流”下,Oracle裁员给出如此的补偿,也算是良心操作了。但为什么被裁的员工却拉起横幅,表示无助和抗议呢?能在Oracle工作的人可都是曾经的天之骄子,高学历高文凭,还有企业背书,他们找到下一家工作很难么?其实,更难的是无法接受...

文件数据云计算学习笔记---Hadoop HDFS和MapReduce 架构浅析_weixin_30354675的博客-程序员秘密

本文是一篇关于文件数据的帖子媒介 Hadoop是一个基于Java的分布式麋集数据处理和数据分析的软件框架。Hadoop在很大程度上是受Google在2004年白皮书中论述的MapReduce技术的启发。MapReduce工作原理是将任务分解为成百上千个小任务,然后发送到计算机集群中。每台计算机再传送自己那部份信息,MapReduce则迅速整合这些反馈并形成谜底。简略...

Android 分析system_server CPU高的方法_小纸箱的博客-程序员秘密

Android 分析system_server CPU高的方法查看长时间运行的线程busybox ps wlT| grep system_serverR 1000 4201 801 4848m 276m 0:0 14:59 02:41:35 {Thread-147} system_serverR 1000 4202 801 4848m 276m 0:0 14:59 02:41:41 {Thread-148} system_server查看线程循环打印的内容s

DevExpress中进度条(ProgressBarControl、ProgressPanel、MarqueeProgressBarControl)操作_牛奶咖啡13的博客-程序员秘密

一、实现效果二、操作进度条的核心/**** Title:"数据采集项目" 项目* 主题:进度条操作* Description:* 功能:* 1、初始化ProgressBarControl、启动progressBarControl* 2、初始化ProgressPanel、启动ProgressPanel* 3、初始化MarqueeProgressBarControl、启动MarqueeProgressBarControl* Date:2021*

零基础学习Linux(二)网页乱码问题_浏览器乱码 linux_二三四的博客-程序员秘密

上次的博文中我们已经将Linux环境搭建完毕了,接下来我们就可以进行相关的操作了,在进行操作之前,我们先来看一下大家在安装过程中可能遇到的中文网页乱码问题。

打造属于自己的量化投资系统10——基于tick数据进行backtrader回测_backtrader基于tick进行回测_觉醒2020的博客-程序员秘密

1.环境安装:在backtrader目录下,新建文件夹,并且命名为juexing2020.com下载download.py和interface.py文件,并保存到juexing2020.com文件夹2.实时数据回测运行download.py:从服务端实时下载股票交易数据,以csv格式保存数据到本地目录运行backtrader,加载csv数据,进行股票实时回测# -*- coding: utf-8 -*-"""Created on Thu Jun 4 16:20:54 2020文件名:d

随便推点

usaco 3.1 Contact_fenrir1205的博客-程序员秘密

//usaco 3.1 Contact/*由于1<=A,B<=12所以二进制字符串转换为十进制也就是0-4048而已由于0 和 00 等不同0值转换出来的十进制是一样的,所以在所有字符串子串的头部加上1之后再转换即原子串000,1011和00.看做1000,11011和100来看待转换为十进制后作为下标映射到整型数组上累加liweijie2013/4/11*/#include

Frangi2D滤波详解_frangi滤波_小铭同学的博客的博客-程序员秘密

我打算把算法分析文章转到:https://www.cnblogs.com/isYiming/p/11111087.html这里啦利用Hessian矩阵的滤波函数Frangi,网上的文章只是把论文中的公式贴出来了。我感觉分析下滤波函数是怎么起作用,还是挺有意思的一件事情。Frangi滤波方法的论文是:  Frangi A F, Niessen W J, Vincken K ...

Vue+Express 实现跨域方法_vue express 跨域_MINO吖的博客-程序员秘密

1.设置代理:  -- config/index.js 中,找到dev:{ }, 在这里面设置一个proxyTable proxyTable: { '/api/':{ target:'http://210.16.188.194:8090', changeOrinin:true, pathRewrite...

北大青鸟汉字注释机内码_消防维修北大青鸟消防主机汉字注释如何书写?_LinuxStory的博客-程序员秘密

北大青鸟消防主机有两种汉字注释。一种是用编程和调试软件编写文本注释,另一种是直接检查消防主机上的汉字内部代码并进入系统进行编辑。下面简要介绍使用编程和调试软件进行文本注释的方法。1.序列号项目是自动生成的,不需要用户填写。2、loop,address item1)V2.0a) loop item应为1 ~ 64b)address item detection component为1 ~ 127,l...

LCS(最长公共子序列)_数据结构 邓俊辉 最长公共子序列_敲行代码的博客-程序员秘密

题意描述求两个字符串的最长公共子序列的长度动态规划用二维数组 C[i][j] 记录串x1x2⋯xi与y1y2⋯yj 的 LCS长度,则可得到状态转移方程:代码实现:#include&lt;iostream&gt;#include&lt;cstring&gt;#include&lt;string&gt;#include&lt;algorithm&gt;#define MAXN 1...

art-template入门(四)之调试_茅坤宝骏氹的博客-程序员秘密

转载自  art-template调试template.defaults.debugart-template 内建调试器,能够捕获到语法与运行错误,并且支持自定义的语法。在 NodeJS 中调试模式会根据环境变量自动开启:process.env.NODE_ENV !== 'production'设置 template.defaults.debug=true 后,等同于: {...

推荐文章

热门文章

相关标签