在写一个简单的jsp页面,作业是一个简单的登陆页面:
第一个页面很简单,就是编写一个登陆界面,使用表单标签可以很容易
设计编写3个网页,在页面1中,输入账号密码,进行登录。如果账号和密码相同,认为登录成功到页面2.页面2中显示一个文本框,用于输入用户姓名以及电话号码信息(限最多3个号码),输入之后提交,在页面3中显示用户的账号、姓名和手机号码。如果账号和密码不相同,认为登录失败,到达页面2给出登录失败提示并提供一个链接返回页面1进行重新登录
第一个页面很简单,就是编写一个登陆界面,使用表单标签可以很容易
<form name="login" action="message.jsp" method="post">
请输入账号:<input name="account" type="text"><br>
请输入密码:<input name="password" type="password"><br>
<input type="submit" value="登录"><br>
</form>//我们用action方法将表单提交到message.jpg这个页面,使用post方法传送表单数据。
来看message这个页面,当我们把表单数据提交到这个页面后,肯定是先要获取数据,jsp中提供了request.getParameter方法获取字符串;然而在jsp中无法使用“==”来判断两个字符串是否相等,这是我们可以采用equals来判断。在if分支语句中,使用捆绑表单元;如果登陆失败,要求的是用一个连接来实现返回登陆页。可以用html中的<a href="(“填写你要返回的地址”)"></a>来实现。代码如下。
<%
String account=request.getParameter("account");
String password=request.getParameter("password");
if(account.equals(password)){%>
<form action="show.jsp" methond="post">
请输入用户名<input type="text" name="name"><br>
请输入电话号码:<br>
<%for(int i=0;i<3;i++){%>
号码<%=i%>:<input type="text" name="phone"><br>
<%}%>
<input type="submit" value="提交">
</form>
<%}else{%>
<form>
登陆失败<a href="index.jsp">返回登陆页面</a>
</form>
<%}%>
第三个页面就很简单了,是提取第二个页面提交的内容,用户名的提取和message页面方一致,剩下的是提取捆绑表单的页面,这些表单都有是同名表单,那么实际在提交表单时,是一个捆绑数组,jsp中同样提供了request.getParameterValus(" ")方法来获取数组元素,最后通过for循环遍历数组.
<body>
<%
String name=request.getParameter("name");
String[] phone=request.getParameterValues("phone");
out.println("用户名是:"+name+"<br/>");
out.print("号码是:");
for(int i=0;i<phone.length;i++)
out.println(phone[i]);
%>
</body>