提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
利用html页面输入两个数,选择运算符,使用Servlet进行编写运算,最后跳转页面jsp
一、Servlet相关知识点
1、获取表单数据:request.getParamter(“name”)
2、将String类型转换成Double类型 :Double num1.parseDouble(name)
3、请求参数中文编码转换
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;carset=utf-8");
4、共享结果到页面
request.setAttribute("?",自定义参数);
5、转发到显示的结果页面
request.getRequestDispatcher("/name.jsp").forward(request,response);
6、jsp知识点:<%=request.getAttribute("Servlet类参数")%>
二、相关代码
1.html表单
代码如下(示例):
<body>
<form action="OperServlet" method="get">
num1<input type="text" name="num1"/> <br>
<select name="oper">
<option>+</option>
<option>-</option>
<option>*</option>
<option>/</option>
</select>
<br>
num2<input type="text" name="num2"/> <br>
<input type="submit" value="计算器">
</form>
</body>
2.Servlet类
代码如下(示例):
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("计算业务开始了!!!");
//获得前台提交数据
Double num1=Double.parseDouble(request.getParameter("num1"));
Double num2=Double.parseDouble(request.getParameter("num2"));
String oper=request.getParameter("oper");
Double result=0.0;
//执行业务处理
switch (oper){
case"+":
result=num1+num2;
break;
case"-":
result=num1-num2;
break;
case"*":
result=num1*num2;
case"/":
if(num2!=0){
result=num1/num2;
}else{
System.out.println("除数不能为0");
break;
}
break;
default:
System.out.println("计算出错!!!");
}
//共享结果到页面
request.setAttribute("result",result);
//转发到显示的结果页面
request.getRequestDispatcher("/result.jsp").forward(request,response);
}
3、Jsp代码
计算结果是<%=request.getAttribute("result")%>>
三、代码调试
1、单调调试
1)断点调试:选择代码出错的地方,单击一下,出现红点,然后进行运行
2)重启服务器
运行Debug进行运行代码
3)单步调试
单步调试,点一下执行一步
4)取消断点
单击红点,取消断点
总结
Servlet类的编写更为清晰,能够在网页上浏览,并且断点调试能够更清晰的了解到代码的错误,便于修改!