JavaWeb(使用get/setAttribute来获取表单参数)

在JavaWeb当中获取表单参数是很重要的一个步骤,下面我通过使用get/setAttribute来获取表单参数来分析getAttribute和getParameter之间的区别以及加强对javaweb的学习。

一、getParameter和getAttribute之间的区别

  1. request.getParameter() 是通过get/post等方法相当于一个http请求来获取数据,从客户端传到服务器端,且返回的数据是一个String类型,而getAttribute() 是通过web容器内进行流动,且返回的是一个object对象而不是一个String类型的值。
  2. 有setAttribute方法但是没有setParameter方法。
  3. 而不同页面间传值使用request.setAttribute()时,只会从1.jsp到2.jsp传递,之后这个request就会失去它的作用范围(request请求范围),而使用session.setAttribute()会在一个会话中始终保有这个值(注意作用范围)。

例:
当文件1和文件2是链接关系

jsp1

<form name="form1" method="post" action="2.jsp">
请输入用户姓名:<input type="text" name="username">
<input type="submit" name="Submit" value="提交">
</form>
------------
jsp2

可以直接使用getParameter来获取表单中的元素值
< % String username=request.getParameter("username"); %>

当时转发关系时

<%
String username=request.getParameter("username");
request.setAttribute("username",username);	//需要先设置attribute值
%>

<jsp:forward page="2.jsp" />2.jsp中通过getAttribute()方法获得用户名字:
<% String username=(String)request.getAttribute("username"); %>	
//然后在一个request中就可以使用getAttribute来实现获取参数。

二、实现过程

首页核心代码,login.html

<body>
    <form action="check.jsp" method="post">
    	用户名:<input type="text" name="username" />
    	密码:<input type="password" name="passwd" />
    	<input type="submit" value="登录" />
    	
    </form>
  </body>

判断用户名及密码的正确性,check.jsp

<body>
    <%
    	String name = request.getParameter("username");
    	String pass = request.getParameter("passwd");
    	request.setAttribute("user",name);
    	request.setAttribute("passwd",pass);
    	String user = (String)request.getAttribute("user");
    	String passwd = (String)request.getAttribute("passwd");
     %>
     <%
     	if(user.equals("lei") && passwd.equals("123")){
     %>
     	<jsp:forward page="suc.jsp"></jsp:forward>
     <%
     	}else{
     %>
      	<jsp:forward page="err.jsp"></jsp:forward>
     <%} %> 
  </body>

以及一个成功页面和失败页面

三、实验结果截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值