对于servlet来说,我是一个非常新手,我希望有人能帮助我一点点。
我需要编写一个简单的方法,根据使用的doPost
或doGet
使用不同的信息调用println,例如:
if (doPost was used) {
out.println("The doPost method was used);
}
else if (doGet was used) {
out.println("The doGet method was used);
}
else
{
out.println("Neither doPost nor doGet was used");
}
有人能帮助我吗? :)
提前致谢!
答案 0 :(得分:1)
一个简单的servlet的例子,它可以做你想要的类似的东西:
public class ServletDemo1 extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException{
// do something with GET petitions
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException{
// do something with POST petitions
}
}
此代码根据GET或POST的请求类型执行不同的操作。或者您可以使用服务方法:
protected void service(HttpServletRequest req, HttpServletResponse resp) {...}
并根据请求方法值(request.getMethod()
)进行过滤。您可以管理超过GET或POST(如PUT,DELETE ...)
答案 1 :(得分:0)
servlet通常有两个定义名为doGet(...)和doPost(...)的方法。在客户端,当您向服务器端的servlet发出请求时,通常会指定要将请求信息发送到的方法。例如,如果您正在处理涉及JQuery的Java Server页面,那么您将进行如下的Ajax调用:
$.ajax({
type: "GET",
url: "/ChatEngine/ChatServlet/users/list?roomId=" + roomID,
contentType: "application/json; charset=utf-8",
cache: false,
dataType: "json",
success: process,
error: function(err) {
alert('Get User List Error:' + err.responseText + ' Status: ' + err.status);
}
});
请注意,type属性设置为“GET”。它可以很容易地设置为POST。当服务器端的servlet收到请求时,它将知道将请求数据发送到哪个方法,doGet(...)或doPost(...)。在servlet中,在每个方法doGet(...)和doPost(...)中,您可以编写println语句,表示执行了哪一个。希望这会有所帮助。