猿问

您好,请问一下在httpservlet中的dopost方法中为什么要包含doget方法?有什么作用?

package com.itheima.filter.app2;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletDemo2 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String content = request.getParameter("content");
response.getWriter().write(content);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);-------为什么doPost()方法中要包含 doGet(request, response)方法???
}
}

千万里不及你
浏览 342回答 2
2回答

慕无忌1623718

在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);}扩展资料: &nbsp;&nbsp;&nbsp;doPost用于客户端把数据传送到服务器端,也会有副作用。但好处是可以隐藏传送给服务器的任何数据。Post适合发送大量的数据。例:jsp页代码:<form action="/doPostt_servlet" method="post">………<textarea cols="50" rows="10"></textarea>………</form>servlet代码:public class doPostt_servlet extends HttpServlet {&nbsp; public void doPost(HttpServletRequest request,HttpServletResponse esponse) throws IOException,ServletException {&nbsp; &nbsp; &nbsp; request.setCaracterEncoding(“gb2312”);//汉字转码&nbsp; &nbsp; &nbsp; PrintWriter out = response.getWriter();&nbsp; &nbsp; &nbsp; out.println("The Parameter are :"+request.getParameter("name2"));&nbsp; }}

PIPIONE

因为前台页面请求的时候有两种方式:<form method="get"></form>这个提交到后台请求的就是doget方法<form method="post"></form>这个提交到后台请求的就是dopost方法两个方法里面的内容是一样的,之所以这样调用,是避免代码重复使用。
随时随地看视频慕课网APP

相关分类

Java
Go
我要回答