Servlet 教程 之 Servlet 表单数据 6

简介: `HelloForm` Servlet示例处理GET和POST方法,接收表单数据(如中文需用ISO8859-1转UTF-8)。在`doGet`中设置响应类型为HTML并显示表单数据。`doPost`重定向至`doGet`。使用含POST方法的hello.html表单测试,包括站点名和网址字段。点击"提交"后,Servlet显示输入内容。

Servlet 教程 之 Servlet 表单数据 6

Servlet 表单数据

使用表单的 POST 方法实例

让我们对上面的 Servlet 做小小的修改,以便它可以处理 GET 和 POST 方法。下面的 HelloForm.java Servlet 程序使用 GET 和 POST 方法处理由 Web 浏览器给出的输入。

注意:如果表单提交的数据中有中文数据则需要转码:

String name =new String(request.getParameter("name").getBytes("ISO8859-1"),"UTF-8");
package com.baidu.test;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**

  • Servlet implementation class HelloForm
    */
    @WebServlet("/HelloForm")
    public class HelloForm extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**

    • @see HttpServlet#HttpServlet()
      */
      public HelloForm() {
      super();
      // TODO Auto-generated constructor stub
      }

      /**

    • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
      */
      protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      // 设置响应内容类型
      response.setContentType("text/html;charset=UTF-8");

      PrintWriter out = response.getWriter();
      String title = "使用 POST 方法读取表单数据";
      // 处理中文
      String name =new String(request.getParameter("name").getBytes("ISO8859-1"),"UTF-8");
      String docType = "<!DOCTYPE html> \n";
      out.println(docType +

       "<html>\n" +
       "<head><title>" + title + "</title></head>\n" +
       "<body bgcolor=\"#f0f0f0\">\n" +
       "<h1 align=\"center\">" + title + "</h1>\n" +
       "<ul>\n" +
       "  <li><b>站点名</b>:"
       + name + "\n" +
       "  <li><b>网址</b>:"
       + request.getParameter("url") + "\n" +
       "</ul>\n" +
       "</body></html>");
      

      }

      // 处理 POST 方法请求的方法
      public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      doGet(request, response);
      }
      }

现在,编译部署上述的 Servlet,并使用带有 POST 方法的 hello.html 进行测试,如下所示:

<!DOCTYPE html>








网址名:


网址:



下面是上面表单的实际输出,尝试输入网址名和网址,然后点击"提交"按钮

目录
相关文章
|
4天前
|
存储 Java
Servlet 教程 之 Servlet Cookie 处理 1
Servlet教程讲解了如何处理Cookie,用于识别和跟踪用户。服务器发送Cookie(如姓名、年龄)到浏览器,浏览器存储并随后续请求回传。教程涵盖设置、读取和删除Cookie,以及中文编码解码:`URLEncoder.encode()`用于编码,`URLDecoder.decode()`用于解码。
9 0
|
12天前
|
XML 数据格式
Servlet 教程 之 Servlet 表单数据 7
该教程展示了如何使用Servlet处理HTML表单中的复选框数据。示例中,`checkbox.html`包含三个复选框(百度、Google、淘宝),用户可多选。提交表单后,Servlet `CheckBox`通过`doGet`方法获取并显示选定的选项。在`web.xml`中配置了Servlet映射。
7 1
|
12天前
|
机器学习/深度学习 XML 数据格式
Servlet 教程 之 Servlet 表单数据 8
该教程展示了如何使用Servlet读取表单数据。`ReadParams` Servlet演示了通过`getParameterNames()`方法获取所有表单参数名,并遍历这些参数。在`doGet`方法中,它创建HTML响应,显示参数名和值。表单示例包括三个复选框(数学、物理、化学),提交后会调用Servlet。web.xml配置了Servlet映射。
10 0
|
13天前
Servlet 教程 之 Servlet 表单数据 5
Servlet教程展示了如何处理表单数据。一个简单的HTML表单用GET方法提交两个字段:网址名和网址,表单动作指向Servlet &quot;HelloForm&quot;。用户输入后点击&quot;提交&quot;,数据将被发送到Servlet进行处理。示例代码已保存为hello.html。
11 2
|
13天前
|
XML 应用服务中间件 数据处理
Servlet 教程 之 Servlet 表单数据 4
该教程展示了如何使用Servlet处理GET方法的表单数据。示例中,Servlet `HelloForm` 接收来自URL(如http://localhost:8080/TomcatTest/HelloForm?name=百度&url=www.baidu.com)的参数`name`和`url`,通过`getParameter()`方法获取并显示在HTML响应中。Servlet代码包括`doGet()`方法,处理POST请求的`doPost()`方法,并在`web.xml`中配置了相应的映射。要测试,需在运行Tomcat服务器时输入提供的URL。
11 1
|
14天前
|
安全 数据安全/隐私保护
Servlet 教程 之 Servlet 表单数据 2
Servlet教程讲解了浏览器向服务器传递信息的GET和POST方法。GET将信息编码在URL中,适用于不敏感数据,长度限1024个字符,通过doGet()处理。POST方法更安全,信息作为单独消息传递,适合敏感信息,由doPost()处理。
10 0
|
14天前
|
安全 数据安全/隐私保护
Servlet 教程 之 Servlet 表单数据 3
Servlet教程讲解了浏览器向Web服务器传递信息的GET和POST方法。GET方法通过URL传递有限长度(1024个字符)的编码信息,不适合敏感数据;POST方法以独立消息形式发送,更安全且无长度限制。Servlet利用doGet()和doPost()处理相应请求。通过getParameter()、getParameterValues()和getParameterNames()方法,Servlet能获取、解析表单数据。
11 1
|
14天前
|
数据安全/隐私保护
Servlet 教程 之 Servlet 表单数据 1
Servlet教程简述了Web服务器如何通过GET和POST接收表单数据。GET方法将编码的用户数据附加到URL,如`http://www.test.com/hello?key1=value1&key2=value2`,适用于非敏感信息,因它在地址栏可见且有限制(&lt;=1024字符)。GET请求由doGet()方法处理。
8 0
|
3天前
|
XML 数据格式
Servlet 教程 之 Servlet Cookie 处理 5
Servlet教程展示了如何处理Cookie。创建Cookie涉及构造函数(键值对),设置最大生存周期(如24小时)并将其添加到HTTP响应头。给定示例显示了一个Servlet,它从表单接收名字和URL,编码为Cookie,设置过期时间,然后在响应中发送。HTML表单用于触发Servlet。需在web.xml配置Servlet并用HTML页面调用。
7 1
|
3天前
Servlet 教程 之 Servlet Cookie 处理 4
Servlet教程之Cookie处理介绍如何通过Servlet设置Cookie:创建Cookie对象(如`new Cookie(&quot;key&quot;,&quot;value&quot;)`),避免空格和特殊字符;设置最大生存周期,例如`cookie.setMaxAge(60*60*24)`实现24小时有效期;最后,使用`response.addCookie(cookie)`将其添加到响应头。
9 1