老师求解,怎么报500错误了,不知错在哪

老师求解,怎么报500错误了,不知错在哪

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="utf-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Insert title here</title>

</head>

<body>

 <form action="http://localhost:8080/FirstWeb/fs">

<input type="text" placeholder="请输入100以内的数字" name="number" value="number">

<input type="submit" value="求累加和">

 

</form>

</body>

</html>

package com.imooc.servlet;


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 FirstServlet

 */

@WebServlet("/fs")

public class FirstServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

       

    /**

     * @see HttpServlet#HttpServlet()

     */

    public FirstServlet() {

        super();

        // TODO Auto-generated constructor stub

    }


/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

String number=request.getParameter("number");

int number1 = Integer.parseInt(number);

int sum=0;

for(int i=0;i<=number1;i++){

sum=sum+i;

}

request.setAttribute("sum", sum);

    request.getRequestDispatcher("/FirstWeb/ss").forward(request,response);

}


}



package com.imooc.servlet;


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 SecondServlet

 */

@WebServlet("/ss")

public class SecondServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

       

    /**

     * @see HttpServlet#HttpServlet()

     */

    public SecondServlet() {

        super();

        // TODO Auto-generated constructor stub

    }


/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

int sum=(Integer)request.getAttribute("sum");

response.getWriter().println("累加总和为:"+sum);

}


}


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

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

4回答
好帮手慕阿莹 2019-01-07 18:18:58

同学不要灰心哦。首先我们来解释一下这个错误:

由报错信息可知,是FirstServlet这个类中的第31行报错了,同学可以看一下你的这个类中31行处的代码。如果我没猜错,应该是int number1 = Integer.parseInt(number); 这一行代码。

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

错误原因是数字转换异常,值是null

意思是同学要转换成Interger的这个number 是null。null怎么可以转换成Int类型的数字呢?所以它就报错了。

了解原因后我们就要找为什么这个number 是null。

原因有可能是同学先访问的是http://localhot:8080/FirstWeb/fs  

没有从jsp页面上获取number这个参数。所以它是null。

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

也有可能是同学忘记在jsp页面上的输入框中填写数字了。

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


同学先访问你的jsp页面,输入数字再点求累加和,这样跳转到  http://localhot:8080/FirstWeb/fs   中是就能获取到number的值了。

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

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

好帮手慕阿满 2019-01-07 16:03:39

启动tomcat后,在地址栏中输入:http://localhot:8080/FirstWeb/xx.jsp,先显示jsp页面,输入数据,点击提交按钮,会自动跳转到FirstServlet再跳转到SecondServlet中。

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

  • 提问者 慕粉175911202 #1
    算了,不弄了,怎么弄都不行
    2019-01-07 17:23:00
提问者 慕粉175911202 2019-01-07 14:43:07
  • 同学你好,同学是从jsp页面跳转到Servlet中的吗?这个编程中需要从jsp页面携带输入的数据,然后跳转到FirstServelet中再跳转到SecondServlet中,所以启动tomcat后需要先打开jsp页面,输入数据点击提交然后跳转到Servlet中。同学按照上述操作再试试 祝:学习愉快~
    2019-01-07 15:13:45
  • 提问者 慕粉175911202 回复 好帮手慕阿满 #2
    不理解,能示范一下吗
    2019-01-07 15:40:38
好帮手慕阿莹 2019-01-07 13:41:45

1、没有发现500错误,同学的运行顺序是什么呢?500的报错信息是什么呢?

请同学描述一下你的操作顺序以及500的报错信息:

注意不要贴在回复里,会失去格式。可以在回答里贴一下。祝学习愉快。


问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10204    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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