Servlet代码:

package com.test;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; @WebServlet(urlPatterns = { "/Test2" })
public class Test2 extends HttpServlet { @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO 自动生成的方法存根
req.setCharacterEncoding("gbk");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out = resp.getWriter();
String user = req.getParameter("user");
String email = req.getParameter("email");
String age = req.getParameter("age");
String time = req.getParameter("time");
String[] language = req.getParameterValues("language");
String jianyi = req.getParameter("jianyi");
out.println("<h1>用户输入的信息:</h1>");
out.println("用户名:" + user);
out.println("<br>用户邮箱:" + email);
out.println("<br>用户年龄:" + age);
out.println("<br>编程时间:" + time);
out.println("<br>编程语言:" + Arrays.toString(language));
out.print("<br>用户建议:" + jianyi);
} @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO 自动生成的方法存根
doPost(req, resp);
} }

html代码:

<!DOCTYPE html>
<html> <head>
<title>Html2.html</title> <meta name="keywords" content="keyword1,keyword2,keyword3">
<meta name="description" content="this is my page">
<meta name="content-type" content="text/html; charset=gbk">
<script type="text/javascript"></script>
<style>
#home {
width: 400px;
height: 500px;
background-color: #FFE4C4;
padding-left: 10px;
padding-top: 20px;
} .dl1 {
clear: both;
} .dl1 dt {
float: left;
height: 30px;
line-height: 30px;
} .dl1 dd {
float: left;
height: 30px;
line-height: 30px;
} #head {
height: 320px;
} #foot {
text-align: center;
}
</style>
</head> <body>
<h1>潜在用户网络调查</h1>
<div id="home">
<form action="Test2" method="post">
<div id="head">
<dl class="dl1">
<dt>姓名:</dt>
<dd>
<input type="text" name="user" />
</dd>
</dl>
<dl class="dl1">
<dt>邮箱:</dt>
<dd>
<input type="text" name="email" />
</dd>
</dl>
<dl class="dl1">
<dt>年龄:</dt>
<dd>
<input type="radio" name="age" id="age1" value="小于18"
checked="checked" /><label for="age1">小于18</label> <input
type="radio" name="age" id="age2" value="18-25" /><label
for="age2">18-25</label> <input type="radio" name="age" id="age3"
value="26-40" /><label for="age3">26-40</label> <input
type="radio" name="age" id="age4" value="大于40" /><label
for="age4">大于40</label>
</dd>
</dl>
<dl class="dl1">
<dt>编程时间:</dt>
<dd>
<select name="time">
<option>不编程</option>
<option value="1年以下">1年以下</option>
<option value="1-2年">1-2年</option>
<option value="2-5年">2-5年</option>
<option value="5年以上">5年以上</option>
</select>
</dd>
</dl>
<dl class="dl1">
<dt>使用的编程语言:</dt>
<dd>
<input type="checkbox" name="language" id="language1" value="C" /><label
for="language1">C</label> <input type="checkbox" name="language"
id="language2" value="C++" /><label for="language2">C++</label>
<input type="checkbox" name="language" id="language3" value="C#" /><label
for="language3">C#</label> <input type="checkbox" name="language"
id="language4" value="JAVA" /><label for="language4">JAVA</label>
<input type="checkbox" name="language" id="language5" value="VB" /><label
for="language5">VB</label>
</dd>
</dl>
<dl class="dl1">
<dt>建议:</dt>
<dd>
<textarea name="jianyi" rows="10" cols="30" name="jianyi">输入建议...</textarea>
</dd>
</dl>
</div>
<div id="foot">
<input type="submit" value="提交" /> <input type="reset" value="重置" />
</div>
</form>
</div>
</body> </html>

运行截图:

遇到问题:

1.显示用户输入信息页面,Servlet输出的汉字乱码

解决方案:将Servlet代码和Html中的编码格式都改为GBK

Servlet:

req.setCharacterEncoding("gbk");

Html:

<meta name="content-type" content="text/html; charset=gbk">

根据要求完成表单以及使用servlet处理表单 任务要求 掌握Servlet输出表单和接收表单数据(多值组件的读取)。的更多相关文章

  1. request接收表单提交数据及其中文参数乱码问题

    一.request接收表单提交数据: getParameter(String)方法(常用) getParameterValues(String name)方法(常用) getParameterMap( ...

  2. php 接收表单 方法的区别

    在php中用于接收表单数据的方法有$_REQUEST.$_POST和$_GET.他们作用都是类似的,下面来看一下他们的区别. 一.$_REQUEST能够用于接收post与get方法提交的数据,但是$_ ...

  3. PHP利用超级全局变量$_POST来接收表单数据。

    利用$_POST超级全局变量接收表单的数据,然后利用echo输出到页面. 下面是代码: <!doctype html> <html> <head> <titl ...

  4. [原创作品] Express 4.x 接收表单数据

    好久没有写博客,从现在开始,将介绍用nodejs进行web开发的介绍.欢迎加群讨论:164858883. 之前的express版本在接收表单数据时,可以统一用res.params['参数名'],但在4 ...

  5. struts2自动接收表单数据

    提交页面主要代码: <form method="post" action="messageAction">   <input type=&qu ...

  6. spring mvc 接收表单 bean

    spring MVC如何接收表单bean 呢? 之前项目中MVC框架一直用struts2,所以我也就按照struts2 的思维来思考 页面loginInput.jsp: <?xml versio ...

  7. [.NET Core]ASP.NET Core中如何解决接收表单时的不支持的媒体类型(HTTP 415 Unsupported Media Type)错误呢?

    [.NET Core]ASP.NET Core中如何解决接收表单时的不支持的媒体类型(HTTP 415 Unsupported Media Type)错误呢? 在ASP.NET Core应用程序中,接 ...

  8. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

  9. SpringMVC 接收表单数据、数据绑定、解决请求参数中文乱码

    接收表单数据有3种方式. 1.使用简单类型接收表单数据(绑定简单数据类型) 表单: <form action="${pageContext.request.contextPath}/u ...

随机推荐

  1. 掌握HDFS的Java API接口访问

    HDFS设计的主要目的是对海量数据进行存储,也就是说在其上能够存储很大量文件(可以存储TB级的文件).HDFS将这些文件分割之后,存储在不同的DataNode上, HDFS 提供了两种访问接口:She ...

  2. 301ReidrectPages中重复记录导致的500 server error

    在Umbraco平台开发一个系统时,遇到一个问题,报错500 server error, system is currently unable to handle this request. 按下F1 ...

  3. 2. DVWA亲测CSRF漏洞

    DVWA登陆      用户名:admin   密码:password Low级: 查看源代码: <?php if (isset($_GET['Change'])) { // Turn requ ...

  4. 9. CTF综合靶机渗透(二)

    靶机说明 Welcome to the world of Acid. Fairy tails uses secret keys to open the magical doors. 欢迎来到酸的世界. ...

  5. 20169201 实验三 敏捷开发与XP实践报告

    敏捷开发与XP介绍 敏捷开发(Agile Development)是一种以人为核心.迭代.循序渐进的开发方法."敏捷流程"是一系列价值观和方法论的集合.从2001年开始,一些软件界 ...

  6. Unity 中动态修改碰撞框(位置,大小,方向)

    在Unity中,玩家处于不同的状态,要求的碰撞框的 位置/大小/方向 会有所改变,怎么动态的修改碰撞框呢? 下面是Capsure Collider(胶囊体)的修改: CapsuleCollider.d ...

  7. redis命令集

    查看使用运行服务:ping 关闭服务的连接:quit 切换数据库:select index 连接: redis-cli -h -a myPassword 查看密码: config get requir ...

  8. Python中的矩阵、多维数组:Numpy

    Numpy 是Python中科学计算的核心库.它提供一个高性能多维数据对象,以及操作这个对象的工具.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对 ...

  9. SQL Server远程调试失败

    前言 刚刚打开SQL Server 2008,想要新建一个数据库.发现出现了一个问题,这个问题由于之前没有遇到过,所以这次拿出来记录一些解决方式. 内容 出现上面这个错误的原因可能是由于咱们在装VS2 ...

  10. Oracle表连接(转)

    表之间的连接 Join是一种试图将两个表结合在一起的谓词,一次只能连接2个表,表连接也可以被称为表关联.在后面的叙述中,我们将会使用”row source”来代替”表”,因为使用row source更 ...