运行效果:
运行结果:
文件目录:
CalculateServlet.java中的代码
package com.lyq.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 计算器Servlet
*/
public class CalculateServlet extends HttpServlet {
private static final long serialVersionUID = 7223778025721767631L;
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("GBK");
PrintWriter out = response.getWriter();
// 获取第一个数字
double firstNum = Double.valueOf(request.getParameter("firstNum"));
// 获取第一个数字
double secondNum = Double.valueOf(request.getParameter("secondNum"));
// 获取运算符
String operator = request.getParameter("operator");
// 计算结果
double result = 0;
// 判断运算符
if("+".equals(operator)){
result = firstNum + secondNum;
}else if("-".equals(operator)){
result = firstNum - secondNum;
}else if("*".equals(operator)){
result = firstNum * secondNum;
}else if("/".equals(operator)){
result = firstNum / secondNum;
}
// 输出计算结果
out.print(firstNum + " " + operator + " " + secondNum + " = " + result);
out.print("<br><a href='index.jsp'>返回</a>");
out.flush();
out.close();
}
}
web.xml中的代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<servlet>
<servlet-name>CalculateServlet</servlet-name>
<servlet-class>com.lyq.servlet.CalculateServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CalculateServlet</servlet-name>
<url-pattern>/CalculateServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
index.jsp中的代码
<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>简易Servlet计算器</title>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
function calc(form){
with(form){
if(firstNum.value == "" || secondNum.value == ""){
alert("请输入数字!");
return false;
}
if(isNaN(firstNum.value) || isNaN(secondNum.value)){
alert("数字格式错误!");
return false;
}
if(operator.value == "-1"){
alert("请选择运算符!");
return false;
}
}
}
</script>
</head>
<body>
<form action="CalculateServlet" method="post" onsubmit="return calc(this);">
<table align="center" border="0">
<tr>
<th>简易Servlet计算器</th>
</tr>
<tr>
<td>
<input type="text" name="firstNum">
<select name="operator">
<option value="-1">运算符</option>
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="text" name="secondNum">
<input type="submit" value="计算">
</td>
</tr>
</table>
</form>
</body>
</html>