Java Web 入门学习3:请求Request

请求Request

  • 基础知识:get和post请求
  • 新建HTML文件
  • 修改servlet
  • 测试

前一篇: Java Web 入门学习2:创建第一个Java Servlet
在前一篇,我们已经学会了创建一个HttpServlet,并成功发送了一个测试请求,本文将细分发送get和post请求

基础知识:get和post请求

首先需要了解,什么是http?
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
HTTP 协议的有8 种请求类型:OPTIONS,HEAD,GET,POST,PUT,DELETE,TRACE,CONNECT。
在实际应用中最常用的就是 POST和GET,两者都是向服务器提交数据,并且都会从服务器获取数据。
对于区别,最明显的就是传送方式的不同,get通过url传输,post通过报文传输。下面我们就来模拟这两种请求。

新建HTML文件

在WebContent下新建一个html文件:new→HTML File,起名为Login.html,在标签中新增如下代码

<body>
	<form action="Testservlet" method="get">
		用户名:<input type="text" name="username1"/>
		密码:<input type="text" name="password1"/>
		<input type="submit" value="登录">
	</form>
	<form action="Testservlet" method="post">
		用户名:<input type="text" name="username2"/>
		密码:<input type="text" name="password2"/>
		<input type="submit" value="登录">
	</form>
</body>

保存后,打开Tomcat服务器,通过浏览器访问地址:http://localhost:8080/mytestwebproject/Login.html
可以看到如下页面,第一个登录是get请求,第二个登录是post请求
Java Web 入门学习3:请求Request_第1张图片

修改servlet

打开之前编写的Testservlet,修改doGet方法,获取输入的用户名和密码,并打印出来

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("This is doGet");
		String username=request.getParameter("username1");
		String password=request.getParameter("password1");
		System.out.println("用户:"+username+",密码:"+password+",登录!");
	}

修改doPost方法,获取输入的用户名和密码,并打印出来

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("This is doPost");
		String username=request.getParameter("username2");
		String password=request.getParameter("password2");
		System.out.println("用户:"+username+",密码:"+password+",登录!");
	}

测试

回到登录的页面上,输入用户名、密码
在这里插入图片描述
点击第一行的登录,控制台输出:
在这里插入图片描述
在地址栏能够发现,"?"后就是这次请求传递的信息,并且是明文显示,这样就带来信息泄露的风险
在这里插入图片描述
查看浏览器F12开发者工具,Network中可以看到Request Method:GET,这是一个get请求
Java Web 入门学习3:请求Request_第2张图片
点击第二行登录,这是一个post请求,控制台输出:
在这里插入图片描述
观察这次的地址栏变化,并没有出现用户名和密码信息,安全性相对更高,所以一般更建议使用post请求。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200205183228842.png
查看浏览器F12开发者工具,Network中可以看到Request Method:POST,这是一个post请求,同时这个请求包含了Form Data,就是这次请求传递的信息
Java Web 入门学习3:请求Request_第3张图片
本章内容实现了get和post请求,但是只有在控制台才可以看到输出,页面并没有得到响应,下章将解决这个问题,Java Web 入门学习4:响应Response

你可能感兴趣的:(Java,Web,java,http,web)