一天中的好时光。我开始学习后端,但 YouTube 上的视频课程还没有完全完成,我还有几个问题。“老师”只使用一个类“MyServlet.java”完成所有课程,该类继承自 HTTPServlet 并具有两个 GET 和 POST 方法(这些方法很清楚)。比如注册的时候,用户传递一些数据
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Регистрация</title>
</head>
<body>
<form method = "POST" action ="MyServlet">
Имя<input type = "text" name = "name">
Возраст<input type ="text" name = "age">
Электронная почта<input type = "text" name = "email">
<input type = "submit" value = "Зарегистрировать">
</form>
</body>
</html>
进一步,在POST方法中,这些参数被取走,用户被注册
String name = request.getParameter("name");
String age = request.getParameter("age");
String email = request.getParameter("email");
如果我们想从另一个 html 页面传递完全不同的参数呢?每个页面是否可以用自己的GET和POST编写自己的java类并在html中指定类和方法?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Информация пользователя</title>
</head>
<body>
<form method = "METHOD" action = "CLASS">
.....
</form>
</body>
</html>
是的,如果您使用纯 servlet,那么您需要为每个地址编写自己的 servlet(类)。这可以
web.xml
在 servlet 上的文件或注释中看到。一个类只能包含一个方法
doGet
,doPost
,doPut
..., 类内方法的重复将不允许编译器。因此,servlet 被写入每个地址。您可以使用弹簧。它使用 servlet,但您不需要创建一堆类。使用 annotation
@RequestMapping
,您可以指定请求方法和该方法将采用的地址。