Servlet学习(七):获取请求的参数值(简单的前后端交互)

简介: Servlet学习(七):获取请求的参数值(简单的前后端交互)

写一个简单的代码,获取html页面表单的值,打印在后台。


大家一定一定要注意,导入的包一定要放在web.xml目录下,否则会报500错误


ParamterServlet.html代码:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="http://localhost:8080/draft_war_exploded/ParamterServlet" method="get">
        用户名: <input type="text" name="username"><br>
        密  码: <input type="password" name="password"><br>
        兴趣爱好: <input type="checkbox" name="hobby" value="cpp">C++
        <input type="checkbox" name="hobby" value="java">Java
        <input type="checkbox" name="hobby" value="js">JavaScript
        <br>
        <input type="submit">
    </form>
</body>
</html>


效果:

20210724172622391.png

ParamterServlet.java代码:

package demo01;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Arrays;
public class ParamterServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        //获取多个值使用getParameterValues()
        String[] hobby = request.getParameterValues("hobby");
        System.out.println(username+'\n'+password+'\n'+ Arrays.asList(hobby)+'\n');
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("UTF-8");
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        //获取多个值使用getParameterValues()
        String[] hobby = req.getParameterValues("hobby");
        System.out.println(username+'\n'+password+'\n'+ Arrays.asList(hobby)+'\n');
    }
}


运行起来试一下:

20210724172823753.png

可以看到,后台获取到了值

20210724172900162.png


这样就实现了简单的前后端交互


相关文章
|
7月前
|
XML Java 数据格式
Servlet 教程 之 Servlet 客户端 HTTP 请求 3
该教程展示了如何在Servlet中处理客户端HTTP请求,特别是获取HTTP头信息。示例代码创建了一个名为`DisplayHeader`的Servlet,它扩展了`HttpServlet`并重写了`doGet`方法。在`doGet`中,使用`HttpServletRequest`的`getHeaderNames()`遍历所有头部,显示其名称和对应值。Servlet在TomcatTest项目下,通过`web.xml`配置映射到`/TomcatTest/DisplayHeader`路径。
64 14
|
小程序 Java 应用服务中间件
【JavaWeb学习】—Servlet(十三)
【JavaWeb学习】—Servlet(十三)
|
7月前
|
安全 Java 网络安全
Servlet 教程 之 Servlet 客户端 HTTP 请求 2
Servlet教程介绍了如何在Servlet中处理HTTP请求,包括获取Cookie、头信息、参数、Session等。方法如:`getCookies()`、`getAttributeNames()`、`getHeaderNames()`、`getParameterNames()`等。还能获取身份验证类型、字符编码、MIME类型、请求方法、远程用户信息、URL路径、安全通道状态以及请求内容长度等。此外,可通过`getSession()`创建或获取Session,并以`Map`形式获取参数。
65 8
|
3月前
|
JavaScript Java 容器
servlet过滤器Filter简要回顾-过滤请求字符编码,/和/*和/**的区别
本文简要回顾了Servlet过滤器Filter的概念和使用,通过实例演示了如何创建过滤器以过滤请求字符编码,并解释了在web.xml中配置过滤器时使用`/`、`/*`和`/**`的区别。
servlet过滤器Filter简要回顾-过滤请求字符编码,/和/*和/**的区别
|
6月前
|
API
servlet研究学习总结--OutputStream和PrintWriter的区别
servlet研究学习总结--OutputStream和PrintWriter的区别
243 1
|
7月前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
|
7月前
Servlet 教程 之 Servlet 客户端 HTTP 请求 1
Servlet教程讲解了客户端HTTP请求,包括各种重要头信息:Accept(定义可处理的MIME类型)、Accept-Charset(指定字符集)、Accept-Encoding(处理的编码类型)、Accept-Language(首选语言)、Authorization(身份验证)、Connection(是否支持持久连接)、Content-Length(POST数据大小)、Cookie(返回cookies)、Host(指定URL的主机和端口)、If-Modified-Since(检查页面更新)、If-Unmodified-Since(条件性操作)。
42 0
|
缓存 Java 数据库
Servlet 处理请求的原理
Servlet 处理请求的原理
207 0
|
7月前
|
Web App开发 前端开发 JavaScript
AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
76 0
|
Java 容器
Jsp之四 servlet请求响应
Jsp之四 servlet请求响应
74 0