1.创建名为TriangleServlet.java
2.重写init()和sevice()
package myservlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
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 TriangleServlet
*/
@WebServlet("/TriangleServlet")
public class TriangleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public TriangleServlet() {
super();
// TODO Auto-generated constructor stub
}
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out=response.getWriter();
out.println("<html><body bgcolor=lightblue>");
//通过request对象获取JSP页面利用超链接送来的三边的参数,送给字符串a,b,c
String a=request.getParameter("sideA");
String b=request.getParameter("sideB");
String c=request.getParameter("sideC");
//如果a为空,则servlet方法结束,否则将字符串a,b,c通过方法转换为double型数据送给变量sideA,sideB,sideC.
if(a==null||a.length()==0)
return;
double sideA=0,sideB=0,sideC=0;
try {
sideA=Double.parseDouble(a);
sideB=Double.parseDouble(b);
sideC=Double.parseDouble(c);
}
catch(NumberFormatException e) {
return;
}
//求三角形面积要定义area初值为0,半周长p初值也为0,利用海伦公式来求三角形面积
double area=0,p=0;
p=(sideA+sideB+sideC)/2;
area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
out.println("三角形面积为:"+area);
out.println("</body></html>");
}
}
3.配置wev.xml
4.创建servletdemo3.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>通过超链接给servlet送值</title>
</head>
<body>
<a href="TriangleServlet?sideA=3&sideB=4&sideC=5">
三角形(3,4,5)的面积
</a>
</body>
</html>
5.运行
点击链接后: