j2ee用户登录模拟(详解)与doGet()doPost()差别(第十三天学习j2ee)

这篇博客介绍了HTML表单用于用户登录的实现,包括前端如何组织参数输入,通过form标签向后台提交数据。后端使用Servlet接收请求,通过request.getParameter()获取用户名和密码,并输出响应。讨论了GET和POST方法的区别,强调POST的安全性和数据大小限制。
摘要由CSDN通过智能技术生成

20220504 这几天比较忙,所以没来的及更博客,可能之后也是两天一更吧,努力记得写!!


现在我们已经做到到第九个包了,首先打开readme.jsp,阅读本次war包操作要求,这次的要求是模拟用户登录的页面,观察解释
1 界面如何组织参数输入
2 参数如何传到服务器上进行相应的处理
3 一个servlet从接请求到给响应要做些什么事情?
4学会在前端用html里的form的方式向后台提交数据,提交请求
在这里插入图片描述
那现在我们对于源码进行一个观察,运行文件理解代码


源码部分

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
	<form action="login"> 
	用户名:<input type="text" name="username"> <br> 
	密 码:<input type="password" name="password"> <br> 
	<input type="submit" value="登录"> 
	</form>
</body>
</html>

运行界面

建议大家运行时,用f12看一下整个请求到响应的过程
html文件运行如下,可以在里面随便输入用户名和密码
在这里插入图片描述
在输入时,这边的密码是默认隐藏的,你也可以通过点击旁边的小按钮让其显示,确认输入信息
5
在这里插入图片描述
在这里插入图片描述
如果你刚在打开了F12的话,你可以看到以下页面,这边可以显示你所输的用户名与密码
在这里插入图片描述
这边其实也没与什么重要的内容,下面为大家分享java源文件


java文件

package servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginServlet extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response) 
			throws ServletException, IOException {
			
        String username = request.getParameter("username"); 
        String password = request.getParameter("password"); 
       
       
        System.out.println("username = " + username ); 
        System.out.println("password = " + password ); 
        
        response.setContentType("text/html"); 
        response.getWriter().println("Login Success!"); 
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) 
			throws ServletException, IOException {
		doGet(request, response);
	}
}

对于获取参数,输出输入参数的操作,我这边会进行一个介绍

request.getParameter()方法获取参数

我们通过request.getParameter()方法来获取参数
request.getParameter()方法传递的数据,会从web客户端传到web服务器端,代表HTTP请求数据,该方法返回String类型的数据

 String username = request.getParameter("username"); 
 String password = request.getParameter("password"); 

在真实的项目中,接收到参数后要做什么动作

我们这只是一个用户登录的模拟,所以没有什么其他的动作,如果是真实的项目,那还需要对其的密码进行一个保护,管理员后台不能看到用户密码,保护用户隐私,然后内部调用数据库,对用户输入的数据进行验证。

输出参数

在控制台输出相应的参数,这个username和password为上面我所解释过的,通过request.getParameter()方法来获取的参数,然后将获取的参数输出在console中

 System.out.println("username = " + username ); 
  System.out.println("password = " + password );

在这里插入图片描述

给出响应

 response.setContentType("text/html"); 
 response.getWriter().println("Login Success!");

这次代码其实还好,没有什么难以理解的地方,最后一个问题需要给大家介绍

doGet()与doPost()的差别

这次还有一个较为重要的点,就是这里从前端输入数据,选择了两种方法,这两种方法具有一定差别
protected void doGet()
protected void doPost()
在使用表单提交数据到服务器的时候有两张方式可共选择,一个是post,一个是get。可在中的method属性中指定提交的方式。如:<form action="inputForm"method=“get”>,如果不指定method属性,则会默认该属性为”get”方式。
具体不同点:
不同点一:
通过get方式提交的数据有大小的限制,通常在1024字节左右。也就是说如果提交的数据很大,用get方法就可需要小心;而post方式没有数据大小的限制,理论上传送多少数据都可以。
不同点二:
通过get传递数据,实际上是将传递的数据按照”key,value”的方式跟在URL的后面来达到传送的目的的;而post传递数据是通过http请求的附件进行的,在URL中并没有明文显示(所以一般密码传输用post)
不同点三:
通过Get方式提交的数据安全性不高,而Post方式的更加安全

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值