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工作原理的关键,它们分别对应HTTP协议中的GET和POST请求方式,下面将详细阐述这两个方法的特点及其应用场景。 ### 一、`doGet`与`doPost`的基本概念 `...
doGet 和 doPost 是 Servlet 中两个重要的方法,它们都是 HttpServlet 中定义的抽象方法,分别对应着 HTTP 的 GET 和 POST 请求。了解 doGet 和 doPost 之间的区别对于 Servlet 的开发和应用非常重要。 参数编码...
在本文中,我们将深入探讨Servlet的访问流程、生命周期以及doGet和doPost方法的工作原理。 首先,让我们了解Servlet的访问流程。当用户在浏览器中输入URL并提交请求时,这个请求会被发送到服务器。Tomcat这样的Web...
标题与描述概述的知识点主要集中在GET与POST请求方法的区别,以及它们在Web开发,特别是Java Servlet环境中的应用。为了深入理解和掌握这些知识点,我们可以从以下几个方面进行详细探讨: ### 安全性差异 GET请求...
这里我们深入探讨这两个方法以及如何使用它们来实现文件下载。 首先,`doGet`是Servlet中处理HTTP GET请求的方法。GET请求通常用于获取资源,如HTML页面、图片等。在描述中提到,`doGet`可以用来打印网页,这可能...
doGet()和doPost()方法是Servlet类中定义的两个主要方法,它们分别对应HTTP协议中的两种请求方式:GET和POST。了解这两种方法的区别对于编写高效、安全的Web应用程序至关重要。 首先,GET是HTTP请求中最常见的一种...
在Servlet中实现九九乘法表,开发者通常会创建一个二维数组来存储乘积,并在`doGet()`或`doPost()`方法中生成HTML字符串。这个字符串将包含表格的结构,如`<table>`、`<tr>`、`<td>`等标签,以及每个单元格内的乘积...
3. **doGet()** 和 **doPost()**:这两个方法是HTTP请求的具体处理者。doGet()用于处理GET请求,doPost()则处理POST请求。在这些方法中,你可以编写处理请求和生成响应的代码。GET和POST请求的主要区别在于数据的...
在本节中,我们通过两个案例,掌握了实际开发中 Servlet 程序的基本实现和使用,同时也掌握了 HttpServlet 的 doGet() 方法和 doPost() 方法的使用。创建 HttpServlet 程序的步骤包括: 1. 扩展 HttpServlet 抽象类...
开发者可以在`service`方法中放心地使用这两个对象。 7. **异步Servlet**: - 自Servlet 3.0版本开始,Servlet支持异步处理请求。通过`AsyncContext`接口,Servlet可以在完成部分工作后返回,稍后再继续处理,从而...
本实例主要探讨Servlet中的两个关键对象:HttpServletRequest(Request)和HttpServletResponse(Response),它们是Servlet API的核心组成部分,用于处理HTTP请求和构建响应。 Request对象是用于获取客户端发送的...
这个"java servlet 两个小例子"的压缩包显然包含了两个基础的Servlet应用实例,适合初学者用来学习和理解Servlet的工作原理。让我们深入探讨一下Servlet的基本概念以及如何通过这两个例子进行学习。 Servlet是一个...
2. `service(ServletRequest request, ServletResponse response)`: 处理客户端请求,根据请求类型调用`doGet()`或`doPost()`。 3. `destroy()`: 销毁Servlet,服务器在Servlet不再使用时调用,释放Servlet占用的...
在Servlet API中,`javax.servlet`和`javax.servlet.http`是两个关键的包。`javax.servlet`包包含Servlet的基本接口和类,如`Servlet`、`ServletConfig`和`ServletContext`,而`javax.servlet.http`包则包含了专门...
在项目的压缩包中,"两张表员工管理录入jspServlet"可能包含了两个数据库表的JSP页面和Servlet实现,一个用于员工信息,另一个可能是其他相关数据,比如部门信息。每个页面都可能有对应的添加、编辑、删除和查看操作...
在实际开发中,只需重写这两个方法即可,不需要覆盖service方法。 Servlet的生命周期包括加载、初始化、服务、销毁四个阶段。每当有请求到达时,Servlet容器(如Tomcat)会调用Servlet的service方法,根据请求类型...
在Servlet开发中,我们通常直接继承HttpServlet,重写doGet或doPost等方法来处理HTTP请求。Servlet容器通过调用Servlet的init方法初始化Servlet,然后在每次请求到来时,通过service方法调度合适的doXxx方法。最后,...
- Servlet容器(如Tomcat)调用Servlet的doGet或doPost方法进行处理。 - Servlet执行逻辑,可能涉及数据库操作或其他服务调用。 - 生成的响应结果通过Servlet容器返回给客户端。 **实例分析** 1. **创建Servlet...
`HttpServlet`类提供了`doGet()`和`doPost()`两个方法,它们分别对应HTTP协议中的GET和POST请求方法。这两个方法接收`HttpServletRequest`和`HttpServletResponse`作为参数,这两个接口分别封装了客户端请求信息和...
在这个实验中,我们将深入理解并实践Servlet的基础知识,包括HttpServlet的doGet()和doPost()方法、ServletConfig对象的使用以及ServletContext接口的数据共享功能。 首先,我们来看HttpServlet的doGet()和doPost()...