作业问题
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//接收数据 ,把接收的数据强制转换成int
int num=Integer.parseInt(request.getParameter("num"));
int sum=0;
//进行for循环,累加和
for(int i=1;i<=num;i++) {
sum=sum+i;
}
//对数据进行保存到request中,进行二次请求转发 ,sum是属性名,sum是值;num是请求接收的数据
request.setAttribute("sum", sum);
request.setAttribute("num", num);
//进行二次转发方法
request.getRequestDispatcher("/TestTwo2-6").forward(request, response);
}
}
int num=Integer.parseInt(request.getParameter("num"));不可以这样写吗?报错了。。
问题2:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//对数据进行接收,因为返回的是Obj类型,所以需要进行强制转换
Integer num=(Integer)request.getAttribute("num");
Integer sum=(Integer)request.getAttribute("sum");
//对内容进行响应输出;
response.setContentType("text/html;charset=utf-8");
response.getWriter().println("<h1>"+num+"的累加和:"+sum+"</h1>");
}
}
为什么不可以写String num=(String)request.getAttribute("num"); 这个方法返回的不是Obj吗,String是ojb的子类,为什么不可以强制转换了,只能转换Integer?
问题3:
为什么这个映射要写2个/ 呢?
正在回答 回答被采纳积分+1
同学你好,关于同学的问题,有如下回答:
1、int num=Integer.parseInt(request.getParameter("num"));可以这么写并且不会报错,如:
如果同学的代码报错,请将报错信息贴一下。
2、String num=(String)request.getAttribute("num"); 代码本身并没有什么问题,getAttribute()返回的是Object类型。但是存入request中的num是int类型,这里取出数据后应该转换为int类型,强转为String就会报错。如:
3、可以拥有区分不同的映射,比如说/book/add,/book/update是对图书的添加和修改。/category/add,/category/update是对分类的添加和修改。
祝学习愉快~
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星