本文章主要是创建一个登录和注册界面,用户需要先注册,注册的内容存放在JavaBean里,而后在登录页面输入账号和密码后调出JavaBean里存入的数据进行比较,如果账号密码正确跳转下一页面,不正确则返回(return)。此处的背景是进入一个成语接龙游戏页面。
这其实是一个作业,做好以后就想着发上来保存一下,如果其中又能帮助到各位的地方那也再好不过了~我是新手页面做的没有那么好,大家可以理解一下其中的逻辑哦( ̄y▽, ̄)╭
ps:本文章里的代码是在eclipse里实现的。
注册界面-register.jsp
<%@ page contentType="text/html" %>
<%@ page pageEncoding = "utf-8" %>
<HTML><body bgcolor = #FFE4B5>
<style>
#ts{
font-family:宋体; font-size:19; color:black
}
</style>
<form action="">
<br>用户注册 </br>
<br>设置账号: <input type=text id=ts name="name" size=15/> </br>
<br>设置密码: <input type=text id= ts name="password" size=15/> </br>
<br><input type="submit" id="ts" value="注册" /> </br>
</form>
<% String aa=request.getParameter("name");
if (aa==null||aa.length()==0)
{
return;
}
else{%>
<jsp:useBean id="user" class="tom.bean.User" scope="session"></jsp:useBean>
<jsp:setProperty property="*" name="user"/>
用户<jsp:getProperty property="name" name="user"/>注册成功!
<br>三秒后跳转至登录页面
<meta http-equiv="refresh" content="3;url=login.jsp">
<%} %>
</body></HTML>
登录界面-login.jsp
<%@ page contentType="text/html" %>
<%@ page pageEncoding = "utf-8" %>
<HTML><body bgcolor = #f0c2a2>
<style>
#ts{
font-family:宋体; font-size:19; color:black
}
</style>
<form action="">
<br>用户登录 </br>
<br>账号: <input type=text id=ts name="name" size=15/> </br>
<br>密码: <input type=text id= ts name="password" size=15/> </br>
<br><input type="submit" id="ts" value="登录" /> </br>
</form>
<% String aa=request.getParameter("name");
if (aa==null||aa.length()==0)
{
return;
}
else{%>
<jsp:useBean id="user" class="tom.bean.User" scope="session"></jsp:useBean>
<% String Name=request.getParameter("name");
String Password=request.getParameter("password");
String name=user.getName(); //useBean后,设置的id就是一个对象,可以通过id.xxx进行对JavaBean里的函数的调用
String password=user.getPassword();
if(Name.equals(name)==false)
{
out.print("账号有误,请重新输入!");
return;
}
else if(Password.equals(password)==false)
{
out.print("密码有误,请重新输入!");
return;
}
else{%>
<br>登录成功!即将跳转至游戏界面...
<meta http-equiv="refresh" content="3;url=inputIdioms.jsp">
<%} %>
<%} %>
</body></HTML>
这里的登录界面是否为空的判断中只引用了账号文本框,按理来说应该是账号、密码两个文本框同时进行判断,这里是因为时间不太够了故而只判断了一个,真实情况下肯定是要两个一起判断的!
JavaBean-User.java
package tom.bean;
public class User
{
String name;
String password;
public void setName(String name)
{
this.name=name;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
public String getName()
{
return name;
}
}
游戏页面-inputIdioms.jsp(放上来是为了大家可以测试一下代码的成功性,这只是个很无聊的需要你自己输入的成语接龙游戏啦~)
<%@ page contentType="text/html" %>
<%@ page pageEncoding = "utf-8" %>
<jsp:useBean id="idioms" class="sea.water.ContinueIdioms" scope="application" />
<style>
#tomStyle{
font-family:宋体;font-size:26;color:blue
}
</style>
<% request.setCharacterEncoding("utf-8");
%>
<jsp:setProperty name="idioms" property="nowIdioms" param ="nowIdioms" />
<HTML><body bgcolor = #a2d2e2>
<p id = tomStyle>
目前的接龙情景:<br>
<textArea id = tomStyle rows=5 cols=38>
<%= idioms.getAllIdioms() %>
</textArea><br>
<form action="" id = tomStyle method = post >
继续接龙,输入成语:<text name="nowIdioms" value = 10 />
<br><input type="text" name ="nowIdioms" id = tomStyle />
<input type="submit" id = tomStyle value="提交"/>
</form>
</p></body></HTML>
游戏页面的JavaBean-ContinueIdioms.java
package sea.water;
import java.util.LinkedList;
import java.util.Iterator;
import java.util.NoSuchElementException;
public class ContinueIdioms {
LinkedList<String> listIdioms ;//存放成语的链表。
public String nowIdioms; //当前参与接龙的成语。
public ContinueIdioms(){
listIdioms = new LinkedList<String>();
}
public synchronized void setNowIdioms(String s){
nowIdioms = s;
try{
String previous = listIdioms.getLast(); //得到上次添加的成语。
//上一个成语的最后一个字符:
char endChar = previous.charAt(previous.length()-1);
char startChar = nowIdioms.charAt(0);//当前成语的第一个字符。
if(startChar == endChar)
listIdioms.add(nowIdioms);
}
catch(NoSuchElementException exp){
listIdioms.add(nowIdioms);
System.out.println(exp);
}
}
public String getAllIdioms(){
StringBuffer buffer = new StringBuffer();
Iterator<String> iterator =listIdioms.iterator();
if(iterator.hasNext() == false)
buffer.append("→");
while(iterator.hasNext()){
buffer.append(iterator.next()+"→");
}
return new String(buffer);
}
}
以下是代码运行后的界面图——分别是:注册、登录和游戏界面(我认为最重要的部分是注册和登录的实现这部分内容)
总之就是这样!我认为代码还有可以大力升级的空间,就等我下午上完课以后再继续研究一下吧!这个升级也留给屏幕前的你,希望这篇文章能帮助到你并且激起你更多的想法哦!
午安!ヾ(•ω•`)o