求各位大神解决页面传值问题java.lang.NumberFormatException: null

这里写自定义目录标题

这是第一个jsp
<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
<%@page import=“java.sql.*” %>

学生信息目录 放回上一页:
<table border="4"cellpadding="10">
<thead> 学生通讯录  </thead>
<tr>
姓名 工作单位 职位 通讯地址 邮编 QQ号 微信号 电子邮箱 手机 单位电话 家庭电话 其他信息 操作

<%

try {
	//加载mysql的jdbc驱动
	Class.forName("com.mysql.cj.jdbc.Driver");
	//获取连接
	Connection conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql?serverTimezone=UTC", "root", "xushiyu??123");
	//用连接创造statement语句
	Statement st= conn.createStatement();
	//用statement执行查询sql
	ResultSet rs= st.executeQuery("select* from book3");
	//遍历结果集resultset		
	while(rs.next()){
		out.println("<tr><td>"+rs.getString("name")+"</td><td>"+rs.getString("unit")+"</td><td>"+rs.getString("position")
				+"</td><td>"+rs.getString("address")+"</td><td>"+rs.getString("zipcode")+"</td><td>"+rs.getInt("qqnumber")
				+"</td><td>"+rs.getString("weixin")+"</td><td>"+rs.getString("email")+"</td><td>"+rs.getString("phone")
				+"</td><td>"+rs.getString("cpphone")+"</td><td>"+rs.getString("homephone")+"</td><td>"+rs.getString("information")+"</td><td><a href='update.jsp?id="+ rs.getString("id") +"'>修改</a></tr>");
}
	rs.close();
	conn.close(); 

}

catch(ClassNotFoundException e){
	out.println("<div style='color:red;'>jdbc驱动找不到</div>");
	e.printStackTrace();

}
catch(SQLException e2){
e2.printStackTrace();
}

%>

这是第二个jsp
<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
<%@page import=“java.sql.*” %>

更新个人信息 放回上一页:
姓名
<td><input type="text" name="name"placeholder="输入姓名"></td>
</tr>
工作单位 职位 通讯地址 邮编 QQ号 微信号 电子邮箱 手机 单位电话 家庭电话 其他信息
</form>

<%

int id= Integer.parseInt(request.getParameter("id"));

try{

	

 
	//加载mysql的jdbc驱动
	Class.forName("com.mysql.jdbc.Driver");
	//获取连接
	Connection conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql?serverTimezone=UTC&characterEncoding=UTF-8", "root", "xushiyu??123");
	//用连接创造statement语句		
	Statement st= conn.createStatement();		
	//用statement执行查询sql·
	String sql="select * from book3 where id ="+id;
	ResultSet rs= st.executeQuery(sql);
			rs.close();
			
	String  name=request.getParameter("name");		
	String  unit=request.getParameter("unit");
	String  position=request.getParameter("position");
	String  address=request.getParameter("address");
	String  zipcode=request.getParameter("zipcode");
	String qqnumber =request.getParameter("qqnumber");
	String  weixin=request.getParameter("weixin");
	String  email=request.getParameter("email");
	String  phone=request.getParameter("phone");
	String  cpphone=request.getParameter("cpphone");
	String  homephone=request.getParameter("homephone");
	String  information=request.getParameter("information");

	
	if(name !=null&& name.trim()!=""){
		String sql2="update book3 set  name  = ' "+  name  + " '  ,unit= '" + unit + "',position='" + position + "',address='" + address + "',zipcode='" + zipcode + "',qqnumber='" + qqnumber + "',weixin='" + weixin + "',email='" + email + "',phone='" + phone + "',cpphone='" + name + "',homephone='" + homephone + "',information='" + information + "'  ";
		st.execute(sql2);
	
	}
	st.close();
	conn.close(); 
	response.sendRedirect("book2.jsp");

}
catch(ClassNotFoundException e){
out.println("<div style='color:red;'>jdbc驱动找不到</div>");
e.printStackTrace();
}
catch(SQLException e2){
e2.printStackTrace();
}

%>

他总是报错那个id是空的。求各位大神,那个应该怎么改?

### 回答1: java.lang.NumberFormatException:null 意味着尝试将空值(null)转换为数字时发生了错误。这通常是因为您在使用Integer.parseInt()或Double.parseDouble()等转换方法时传入了空值。应该在转换之前检查给定值是否为空。 ### 回答2: Java.lang.NumberFormatException: nullJava编程中常见的错误异常之一。这个异常通常发生在程序试图将一个字符串转换为数字类型的时候,而这个字符串不符合数字格式的要。 当程序试图把某个字符串转换成数字类型的时候,Java会根据字符串的内容来判断其是否符合数字格式,如果不符合则会抛出NumberFormatExceptio:null异常。 例如,以下代码中,当将字符串“abc”转换为整数时,会抛出上述的异常: ``` String str = "abc"; int num = Integer.parseInt(str); ``` 这个异常的原因是Java无法将字符串“abc”解析成整数。如果想要解决这个问题,有以下几种办法: 1.检查字符串格式是否正确,确保它只包含数字字符。 2.使用try-catch语句来捕捉异常,然后在catch块中进行处理,例如输出错误信息。 3.对于无法处理的非数字字符串,可以用默认值替代,或者返回错误提示给用户,让其重新输入正确的值。 总之,当开发Java程序的时候,遇到java.lang.NumberFormatException交错应当保持冷静,仔细检查代码,找出问题的根源,然后采取对应的解决措施来避免这个异常的发生。 ### 回答3: java.lang.numberformatexception:nullJava中一个常见的异常(Exception),它通常出现在需要将字符串转换为数字时。当程序尝试将一个空(null)对象转换为数字时,就会出现这个异常。 一般来说,如果一个程序需要进行数字计算,那么输入的数据必须是数字类型。而当用户输入的数据是字符串类型时,需要将其转换为数字类型,这就需要使用Java中的方法来实现。例如,我们可以使用Java中的Integer.parseInt()方法或Double.parseDouble()方法将字符串类型转换为int或double类型。 当我们尝试使用这些方法将一个空的字符串转换为数字时,就会出现java.lang.numberformatexception:null异常。这是因为这些方法要输入的字符串必须是一个有效的数字格式,如果输入的字符串为空,则无法进行转换。 为了避免出现这个异常,我们需要在使用这些方法进行字符串转换时,加入一些判断条件,比如判断输入的字符串是否为空,或者是否是一个合法的数字格式等。在代码中进行这些判断,可以避免程序出现异常,并提高程序的健壮性。 总之,java.lang.numberformatexception:nullJava中常见的一个异常,在处理数字计算时,我们需要特别注意避免出现这个异常,并做好相关的异常处理工作,在程序中加入异常处理代码,可以有效提高程序的稳定性和鲁棒性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值