2 回答
TA贡献1744条经验 获得超4个赞
在doPost里面调用doGet而已,协议不同,但是实现逻辑相同,所以直接调用即可。
doGet方法提交表单的时候会在url后边显示提交的内容,所以不安全。而且doGet方法只能提交256个字符(1024字节),而doPost没有限制,因为get方式数据的传输载体是URL(提交方式能form,也能任意的URL链接),而POST是HTTP头键值对(只能以form方式提交)。
通常使用的都是doPost方法只要在servlet中让这两个方法互相调用就行了,例如在doGet方法中这样写:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
扩展资料:
doPost用于客户端把数据传送到服务器端,也会有副作用。但好处是可以隐藏传送给服务器的任何数据。Post适合发送大量的数据。
例:
jsp页代码:
<form action="/doPostt_servlet" method="post">
………
<textarea cols="50" rows="10"></textarea>
………
</form>
servlet代码:
public class doPostt_servlet extends HttpServlet {
public void doPost(HttpServletRequest request,HttpServletResponse esponse) throws IOException,ServletException {
request.setCaracterEncoding(“gb2312”);//汉字转码
PrintWriter out = response.getWriter();
out.println("The Parameter are :"+request.getParameter("name2"));
}
}
TA贡献1829条经验 获得超9个赞
因为前台页面请求的时候有两种方式:
<form method="get">
</form>
这个提交到后台请求的就是doget方法
<form method="post">
</form>
这个提交到后台请求的就是dopost方法
两个方法里面的内容是一样的,之所以这样调用,是避免代码重复使用。
添加回答
举报