`
hainanhaian
  • 浏览: 39049 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

SERVLET中的doGet与doPost两个方法之间的区别

    博客分类:
  • java
阅读更多
get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串。
post的参数是通过另外的流传递的, 不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。

1.doGet
GET调用用于获取服务器信息,并将其做为响应返回给客户端。当经由Web浏览器或通过HTML、JSP直接访问Servlet的URL时,一般用GET调用。GET调用在URL里显示正传送给SERVLET的数据,这在系统的安全方面可能带来一些问题,比如用户登录,表单里的用户名和密码需要发送到服务器端,若使用Get调用,就会在浏览器的URL中显示用户名和密码。
例:
jsp页代码:
<form action="/doget_servlet" method="get">
………
<input type="text" name="name">
………
</form>
servlet代码:
public class DoGetServlet extends HttpServlet {
    public void doGet(HttpServletRequest req,HttpServletResponse res) throws IOException,ServletException {
          request.setCharacterEncoding("gb2312");
          response.setContentType("text/html;charset=gb2312");
          PrintWriter out = response.getWriter();
          out.println("The Parameter are :"+request.getParameter("name"));
    }
}
web.xml配置Servlet:
<servlet>
    <servlet-name>DoGetServlet</servlet-name>
    <servlet-class>com.fjy.DoGetServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>DoGetServlet</servlet-name>
    <url-pattern>/doget_servlet</url-pattern>
</servlet-mapping>
这样提交表单后,参数会自动添加到浏览器地址栏中,带来安全性问题。

2.doPost
它用于客户端把数据传送到服务器端,也会有副作用。但好处是可以隐藏传送给服务器的任何数据。Post适合发送大量的数据。
例:
jsp页代码:
<form action="/doget_servlet" method="post">
………
<textarea name="name" cols="50" rows="10"></textarea>
………
</form>
servlet代码:
public class DoPostServlet extends HttpServlet {
    public void doPost(HttpServletRequest req,HttpServletResponse res) throws IOException,ServletException {
          request.setCharacterEncoding("gb2312");
          response.setContentType("text/html;charset=gb2312");
          PrintWriter out = response.getWriter();
          out.println("The Parameter are :"+request.getParameter("name"));
    }
}
web.xml配置Servlet:
<servlet>
    <servlet-name>DoPostServlet</servlet-name>
    <servlet-class>com.fjy.DoPostServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>DoPostServlet</servlet-name>
    <url-pattern>/dopost_servlet</url-pattern>
</servlet-mapping>

另外,HttpServlet处理客户端请求方式还有doPut、doDelete、doTrace、doHead、doOptions,但使用的比较少。
分享到:
评论

相关推荐

    Servlet中doGet与doPost的区别

    Servlet中`doGet`与`doPost`方法的区别是理解和掌握Servlet工作原理的关键,它们分别对应HTTP协议中的GET和POST请求方式,下面将详细阐述这两个方法的特点及其应用场景。 ### 一、`doGet`与`doPost`的基本概念 `...

    doGet与doPost之间的区别 doGet与doPost之间的区别

    doGet 和 doPost 是 Servlet 中两个重要的方法,它们都是 HttpServlet 中定义的抽象方法,分别对应着 HTTP 的 GET 和 POST 请求。了解 doGet 和 doPost 之间的区别对于 Servlet 的开发和应用非常重要。 参数编码...

    13-Servlet访问流程以及doGet和doPost.pdf

    在本文中,我们将深入探讨Servlet的访问流程、生命周期以及doGet和doPost方法的工作原理。 首先,让我们了解Servlet的访问流程。当用户在浏览器中输入URL并提交请求时,这个请求会被发送到服务器。Tomcat这样的Web...

    doget和dopost的区别

    标题与描述概述的知识点主要集中在GET与POST请求方法的区别,以及它们在Web开发,特别是Java Servlet环境中的应用。为了深入理解和掌握这些知识点,我们可以从以下几个方面进行详细探讨: ### 安全性差异 GET请求...

    doGet与doPost下载文件的案例

    这里我们深入探讨这两个方法以及如何使用它们来实现文件下载。 首先,`doGet`是Servlet中处理HTTP GET请求的方法。GET请求通常用于获取资源,如HTML页面、图片等。在描述中提到,`doGet`可以用来打印网页,这可能...

    doGet()和doPost()的区别

    doGet()和doPost()方法是Servlet类中定义的两个主要方法,它们分别对应HTTP协议中的两种请求方式:GET和POST。了解这两种方法的区别对于编写高效、安全的Web应用程序至关重要。 首先,GET是HTTP请求中最常见的一种...

    用servlet写的九九乘法表

    在Servlet中实现九九乘法表,开发者通常会创建一个二维数组来存储乘积,并在`doGet()`或`doPost()`方法中生成HTML字符串。这个字符串将包含表格的结构,如`&lt;table&gt;`、`&lt;tr&gt;`、`&lt;td&gt;`等标签,以及每个单元格内的乘积...

    servlet中方法执行次序及API简介(init,service,doservice,doget等)

    3. **doGet()** 和 **doPost()**:这两个方法是HTTP请求的具体处理者。doGet()用于处理GET请求,doPost()则处理POST请求。在这些方法中,你可以编写处理请求和生成响应的代码。GET和POST请求的主要区别在于数据的...

    Servlet基础补充案例 习题.doc

    在本节中,我们通过两个案例,掌握了实际开发中 Servlet 程序的基本实现和使用,同时也掌握了 HttpServlet 的 doGet() 方法和 doPost() 方法的使用。创建 HttpServlet 程序的步骤包括: 1. 扩展 HttpServlet 抽象类...

    servlet是如何同时处理多个请求的

    开发者可以在`service`方法中放心地使用这两个对象。 7. **异步Servlet**: - 自Servlet 3.0版本开始,Servlet支持异步处理请求。通过`AsyncContext`接口,Servlet可以在完成部分工作后返回,稍后再继续处理,从而...

    JAVAEE中Servlet实例Response与Request对象方法调用范例

    本实例主要探讨Servlet中的两个关键对象:HttpServletRequest(Request)和HttpServletResponse(Response),它们是Servlet API的核心组成部分,用于处理HTTP请求和构建响应。 Request对象是用于获取客户端发送的...

    java servlet 两个小例子

    这个"java servlet 两个小例子"的压缩包显然包含了两个基础的Servlet应用实例,适合初学者用来学习和理解Servlet的工作原理。让我们深入探讨一下Servlet的基本概念以及如何通过这两个例子进行学习。 Servlet是一个...

    servlet 中文帮助文档

    2. `service(ServletRequest request, ServletResponse response)`: 处理客户端请求,根据请求类型调用`doGet()`或`doPost()`。 3. `destroy()`: 销毁Servlet,服务器在Servlet不再使用时调用,释放Servlet占用的...

    servlet-api中文文档

    在Servlet API中,`javax.servlet`和`javax.servlet.http`是两个关键的包。`javax.servlet`包包含Servlet的基本接口和类,如`Servlet`、`ServletConfig`和`ServletContext`,而`javax.servlet.http`包则包含了专门...

    jsp+servlet+jdbc原生实现增删改查两张表

    在项目的压缩包中,"两张表员工管理录入jspServlet"可能包含了两个数据库表的JSP页面和Servlet实现,一个用于员工信息,另一个可能是其他相关数据,比如部门信息。每个页面都可能有对应的添加、编辑、删除和查看操作...

    课件学习Servlet课件学习课件学习

    在实际开发中,只需重写这两个方法即可,不需要覆盖service方法。 Servlet的生命周期包括加载、初始化、服务、销毁四个阶段。每当有请求到达时,Servlet容器(如Tomcat)会调用Servlet的service方法,根据请求类型...

    Servlet技术入门 Servlet技术入门Servlet技术入门

    在Servlet开发中,我们通常直接继承HttpServlet,重写doGet或doPost等方法来处理HTTP请求。Servlet容器通过调用Servlet的init方法初始化Servlet,然后在每次请求到来时,通过service方法调度合适的doXxx方法。最后,...

    学习Servlet课程笔记(附源代码)

    - Servlet容器(如Tomcat)调用Servlet的doGet或doPost方法进行处理。 - Servlet执行逻辑,可能涉及数据库操作或其他服务调用。 - 生成的响应结果通过Servlet容器返回给客户端。 **实例分析** 1. **创建Servlet...

    servlet教程ppt讲解

    `HttpServlet`类提供了`doGet()`和`doPost()`两个方法,它们分别对应HTTP协议中的GET和POST请求方法。这两个方法接收`HttpServletRequest`和`HttpServletResponse`作为参数,这两个接口分别封装了客户端请求信息和...

    实验3 Servlet基础.docx

    在这个实验中,我们将深入理解并实践Servlet的基础知识,包括HttpServlet的doGet()和doPost()方法、ServletConfig对象的使用以及ServletContext接口的数据共享功能。 首先,我们来看HttpServlet的doGet()和doPost()...

Global site tag (gtag.js) - Google Analytics