关于页面传值报错的问题

关于页面传值报错的问题

//页面一
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("用户登录成功!");
		//实现了请求和转发的功能
		//request.getRequestDispatcher("/direct/Index").forward(request, response);
		//响应重定向
	     //response.sendRedirect("/ServletProj/direct/Index");
		
		String num = request.getParameter("num");
		int sum =0;
		for(int i = 1 ;i<=Integer.parseInt(num);i++) {
			sum += i;
		}		
		request.setAttribute("name",sum);
		request.getRequestDispatcher("/direct/Index").forward(request, response);
		//response.sendRedirect("/ServletProj/direct/Index");
	}
	
	
	页面二
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	 String name =(String)request.getAttribute("name");
		response.getWriter().println(name);
	}

为什么我德sum值传到另一个页面的时候就报错?

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

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

3回答
好帮手慕小班 2019-11-07 15:08:15

同学你好,1、ClassCastException-->是JVM(Java虚拟机)在检测到两个类型间转换不兼容时引发的运行时异常。

    2、根据报出的异常信息,测试贴出代码,这里出现数据类型转化异常是因为在Index中接收request传递过来的名称为name的内容是一个int类型的数字值,如果要将这个值转为String类型,可以以使用toString方法,而不是直接强转为String,例如:

String name = request.getAttribute("name").toString();

这里也可以直接将这个值强转为int类型的值。

int name = (int)request.getAttribute("name");

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

提问者 龙丶 2019-11-07 11:38:35

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

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("用户登录成功!");
		//实现了请求和转发的功能
		//request.getRequestDispatcher("/direct/Index").forward(request, response);
		//响应重定向
	     //response.sendRedirect("/ServletProj/direct/Index");
		
		String num = request.getParameter("num");
		int sum =0;
		for(int i = 1 ;i<=Integer.parseInt(num);i++) {
			sum += i;
		}		
		request.setAttribute("name",sum);
		request.getRequestDispatcher("/direct/Index").forward(request, response);
		//response.sendRedirect("/ServletProj/direct/Index");
	}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	 String name =(String)request.getAttribute("name");
		response.getWriter().println(name);
	}

就是这样

好帮手慕柯南 2019-11-06 19:04:02

同学你好!

这么看同学的代码是没有问题的,请问同学是报什么错呢?建议同学贴一下报错信息呢,以及完整的代码,老师测试一下。注意在我要回答中贴出,回复里会改变代码的格式:

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

祝学习愉快~


  • 提问者 龙丶 #1
    报的是500的页面错误。
    2019-11-06 19:29:19
  • 好帮手慕小班 回复 提问者 龙丶 #2
    同学你好,引起500错误的原因有很多,这里老师并不能猜测同学的错误呐,建议同学贴一下报错信息呢,浏览器运行的报错截图,控制台中的报错内容,完整的代码,建议将这些内容贴到"我要回答" 中,回复里会改变代码的格式。 如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
    2019-11-07 10:54:33
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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