老师帮忙看一下错哪了???

老师帮忙看一下错哪了???

package com.addition;

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 CheckLoginServlet2
 */
@WebServlet("/cs")
public class CheckLoginServlet extends HttpServlet {
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public CheckLoginServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String num1 = request.getParameter("num1");
		int num2=0,
			sum=0;
		for(int i=0;i<num2;i++) {
			sum+=i;
		}
		request.setAttribute("sum", "sum");//属性名与值(object对象)
		request.getRequestDispatcher("/add").forward(request, response);
	}

}
package com.addition;

import java.io.IOException;
import java.io.PrintWriter;

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 indexServlet2
 */
@WebServlet("/add")
public class indexServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public indexServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		int sum=(Integer)request.getAttribute("sum");
		String str="累加和为:"+sum;
		PrintWriter out = response.getWriter();
        out.println(str);
	}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>加法计算器</title>
</head>
<body>
<form action="/Servlet_Addition/cs">
        <input name="num1" placeholder="请输入100以内的数字"/>
        <input type="submit" value="求累加和"><br/>
</form>
</body>
</html>

http://img1.sycdn.imooc.com//climg/5dd1582f09a27e4313000565.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
提问者 Ctrlzhao 2019-11-18 17:45:32

太难了吧http://img1.sycdn.imooc.com//climg/5dd267c609284c4918330741.jpg

  • 请同学重新贴一下你修改后的代码老师看一下。注意不要贴在回复里,会失去代码的格式。可以在回答里贴一下。祝学习愉快。
    2019-11-18 17:48:35
好帮手慕阿莹 2019-11-18 17:01:46

同学你好,抱歉之前老师写的有些遗漏,修改后的代码如下所示:

1、这里Integer应该用如下代码来转换String类型的数据

http://img1.sycdn.imooc.com//climg/5dd25d5e0943b69710490477.jpg

2、这里不应该存入sum的字符串儿,应该存的是sum的值,修改后如下图所示

http://img1.sycdn.imooc.com//climg/5dd25d8709dc73bd08680524.jpg

3、

为了不让中文乱码,应该设置一下response的编码格式

http://img1.sycdn.imooc.com//climg/5dd25df40933fd5907980222.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 Ctrlzhao #1
    java.lang.NumberFormatException: null
    2019-11-18 17:43:08
  • 好帮手慕阿莹 回复 提问者 Ctrlzhao #2
    同学是否是先访问这个html,在页面中输入值呢?如果不是,需要先访问这个html并在这里输入值哦。如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
    2019-11-18 17:46:02
  • 提问者 Ctrlzhao 回复 好帮手慕阿莹 #3
    是的,我在重新打一遍
    2019-11-18 18:46:06
好帮手慕阿莹 2019-11-18 14:02:57

同学你好,String类型的,不能强转为Integer类型,可以用如下方法

int sum = Integer.parseInt(request.getParameter("sum")); 来把String转换Integer哦;

http://img1.sycdn.imooc.com//climg/5dd23407094a976408180236.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 Ctrlzhao #1
    还是不行。
    2019-11-18 14:41:23
  • 提问者 Ctrlzhao #2
    老师能贴出具体代码吗
    2019-11-18 14:53:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师