j2ee用户登录模拟(详解)与doGet()doPost

j2ee用户登录模拟(详解)与doGet()doPost,第1张

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


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

那现在我们对于源码进行一个观察,运行文件理解代码


源码部分
DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Logintitle>
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文件运行如下,可以在里面随便输入用户名和密码

在输入时,这边的密码是默认隐藏的,你也可以通过点击旁边的小按钮让其显示,确认输入信息



如果你刚在打开了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属性中指定提交的方式。如:

,如果不指定method属性,则会默认该属性为”get”方式。
具体不同点:
不同点一:
通过get方式提交的数据有大小的限制,通常在1024字节左右。也就是说如果提交的数据很大,用get方法就可需要小心;而post方式没有数据大小的限制,理论上传送多少数据都可以。
不同点二:
通过get传递数据,实际上是将传递的数据按照”key,value”的方式跟在URL的后面来达到传送的目的的;而post传递数据是通过http请求的附件进行的,在URL中并没有明文显示(所以一般密码传输用post)
不同点三:
通过Get方式提交的数据安全性不高,而Post方式的更加安全

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/793159.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存