空指针异常的问题
老师你好,我在练习的时候,如果是代码n==null会得到true的结果,为什么会是null呢
类的完整代码如下
package com.imooc.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Add extends HttpServlet{
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String[] n = request.getParameterValues("add");
PrintWriter out = response.getWriter();
out.println(n==null);
out.println(n[0]);
out.println(n[1]);
/*
for(int i = 0; i < n.length; i++) {
out.println(n[i]);
}*/
}
}
HTML的代码如下
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="/FirstServlet/add">
<label>加法计算器</label>
<label>加数1</label>
<input type="text" name="add"/>
<label>加数2</label>
<input type="text" name="add"/><br>
<input type="submit" value="提交"/>
</form>
</body>
</html>
web.xml的部分信息如下
<servlet>
<servlet-name>add</servlet-name>
<servlet-class>com.imooc.servlet.Add</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>add</servlet-name>
<url-pattern>/Add</url-pattern>
</servlet-mapping>
正在回答
同学你好,首先请问同学访问的时候是从页面进行访问的吗?还在浏览器的地址栏中直接访问的额/Add呢?
并且看着同学在web.xml 中写的是 /Add 而 HTML 页面中写的是 /add
如果同学报了空指针异常,应该同学不是使用html的链接访问的吧。
同学需要先访问html,并在表单中添加参数再提交
如果直接从浏览器访问,同学没有携带对应的参数的话,request.getParameterValues("add"); 获取到的自然为null。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 676 份
- 解答问题 9666 个
本阶段将从前端网页搭建入手,到Java Web基础,前后端结合助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星