用户登陆界面如何组织参数输入及服务器对参数的处理

用户登陆界面如何组织参数输入及服务器对参数的处理,第1张

1.界面如何组织参数输入

用户登陆界面我们可以使用form表单来实现,给出了以下代码





Login


	建议用f12看一下整个请求到响应的过程
用户名:
密 码:

这里我们设置了一个用户登陆界面。账号字段可以用简单文本域 标签来设定,用户在表单中数入字母、数字等内容时,就会显示出来;密码字段通过标签 来定义,密码字段字符不会明文显示,而是以星号或圆点替代。

我们可以看到运行页面的界面情况

代码中的method代表参数传入到服务器的方式,有post和get两种方法,不写默认为Get。

2.参数如何传到服务器上进行相应的处理

通过get或者posy方法参数传入服务器中,再通过request.getParameter () 取得通过容器的实现来取得通过类似post,get等方式传入的数据。我们加上下面的源代码进行理解

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);
	}
}

使用Get方式提交数据,其参数在浏览器的地址栏的url中可见,所以隐私性安全性较差,且参数长度也是有限制的。

而对于Post方式,参数就会以form data的形式传递,浏览器会根据网页的meta标签中的content="text/html; charset=UTF-8"中指定的编码进行对表单中的数据进行编码,然后发给服务器,在服务器端的程序中我们可以通过request.setCharacterEncoding(“charset”)方式(JSP代码) 设置编码,然后通过request.getParameter获得正确的数据,编码方式是我们可以控制的。

下面是用get方法传入参数,参数的url就会被显示出来(用户登录密码):

 而使用Post方式,url不会显示出来

总结

Post方式优于Get方法的原因:

  • 更少的乱码问题。
  • 更加安全(数据不会出现在url中),从上面的实践就可以看出
  • Get传输的数据量小,这主要是因为受url长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post。

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存