servlet猜数字游戏
index.jsp
<%@page contentType=”text/html” pageEncoding=”UTF-8″%>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
“http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>
<title>登录页面</title>
</head>
<body>
用户名和口令都为“admin”,否则出错!
<%
String name=request.getParameter(“username”);
String pwd=request.getParameter(“password”);
if(name!=null&&name.equals(“admin”)&&pwd!=null&&pwd.equals(“admin”)){
session.setAttribute(“u”,name);//设置session记录用户名
response.sendRedirect(“GameServlet”);
}
if((name!=null&&name!=”admin”)||(pwd!=null&&pwd!=”admin”)){
out.println(“<h4 style=’color:red’>你输入的信息有误!</h4>”);
}
%>
<form action=”" >
<p>用户名:<input type=”text” name=”username” value=”" /></p>
<p>密 码:<input type=”password” name=”password” value=”" /></p>
<p><input type=”submit” value=”登录”/></p>
</form>
</body>
</html>
GameServlet.java
package 包名;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class GameServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType(“text/html;charset=UTF-8″);
PrintWriter out = response.getWriter();
out.println(“<html>”);
out.println(“<head>”);
out.println(“<title>游戏页面</title>”);
out.println(“</head>”);
out.println(“<body>”);
HttpSession session=request.getSession();
out.println(“系统产生了一个1-100之间的随机数,请猜测!<br/>”);
if(request.getParameter(“number”)==null){
// double d=Math.random()*100+4;//产生一个双精度型的随机数
// int e=(int)d;//把随机数转化成整型
int e=(int)(Math.random()*100)+4;
session.setAttribute(“sysnum”,e);//这里貌似也可以这么写,session.setAttribute(“sysnum”,new Integer(e));
int count=0;
session.setAttribute(“count”,count);//设置一个count会话来记录猜测次数
}
else {//此处一定要检验输入数据是否为空,否则抛出异常!
int sysnumber = (java.lang.Integer) session.getAttribute(“sysnum”);
// out.println(“<h3>系统产生的随机数是:”+e+”</h3></br>”);
Integer guess =Integer.parseInt(request.getParameter(“number”));//这一行是把输入数据转化为整型,以便接下来判断
out.println(“<h3>你猜测的数字是:”+guess+”</h3></br>”);
if(guess<sysnumber){
int n=((Integer)session.getAttribute(“count”)).intValue();
n=n+1;
session.setAttribute(“count”,n);
out.println(“<h3 style=\”color:blue\”>你猜的数字偏小!</h3>”);
}
else if(guess>sysnumber){
int n=((Integer)session.getAttribute(“count”)).intValue();
n=n+1;
session.setAttribute(“count”,n);
out.println(“<h3 style=\”color:blue\”>你猜的数字偏大!</h3>”);
}
else{
int n=((Integer)session.getAttribute(“count”)).intValue();
n=n+1;
session.setAttribute(“count”,n);
out.println(“<h3 style=\”color:red;font-size:18px;\”>恭喜你,猜对了!你总共猜了<span style=\”font-size:20px;\”>”+n+”</span>次!</h3>”);
out.println(“”);
}
}//end if number!=null
out.println(“欢迎你”+(String)session.getAttribute(“u”) //获取登录用户名
+”请输入你猜的数字<br/><span”
+ ” style=\”color:red;font-size:10px;text-decoration:underline;\”>”
+ “(千万不要尝试输入空值或字符,否则后果自负):</span>”);
out.println(” <form><p><input type=’text’ name=’number’ />”);
out.println(“<input type=\”submit\” value=\”查看结果\” />”);
out.println(“<a href=\”LogoutServlet\”>我不想玩了</a></p></form>”);
out.println(“</body>”);
out.println(“</html>”);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}