JSP作业四

习题4_3

编写两个JSP页面,使用一个页面输入一个字符串,另一个页面显示该字符串长度

inputString.jsp

    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<p>input the Strings:
<form action="" method=post name=form>
	<input type="text" name=str>
	<input type="submit" value="output" name="submit">
</form>
<%	
	String s=request.getParameter("str");
	if(s!=null){
	session.setAttribute("str1",s);
	response.sendRedirect("computer.jsp");
	} %>
</body>
</html>

computer.jsp

    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<%	String str=(String)session.getAttribute("str1");
%>
<p> 字符串长度为:<%=str.length() %>
</body>
</html>

结果图

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

习题4_6

编写一个猜英文26个小字母的WEB游戏

4_6.jsp

    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<%	char letter=(char)(int)(Math.random()*(123-97)+97);
	session.setAttribute("count",new Integer(0));
	session.setAttribute("save",new Character(letter));
%>
<BR><A HREF="guess.jsp">去猜测这个字母</A>
</body>
</html>

guess.jsp

<html>
<body>
<% String str=request.getParameter("guessNumber");
	if(str==null)
		str="*";
		if(str.length()==0)
		str="*";
%>
<guessNumber:GuessTag number="<%=str %>"/>
当前猜测结果:<%= message %>
<%if(message.startsWith("你猜对了")){
	%> <br><A HREF="4_6.jsp">重新获得随机字母</A>
<% }
else {
	%><BR>输入你的猜测:
	<form action="" method="post" name=form>
	<input type="text" name="guessNumber">
	<input type="submit" value="送出" name="submit">
	</form>
<% }
%>
</body>
</html>

GuessTag.tag

<%@ attribute name="number" required="true"%>
<%@ variable name-given="message" scope="AT_END"%>
<%	String mess="";
	Character c=(Character)session.getAttribute("save");
	Character realc=c.charValue();
	Character guessNumber='A';
	boolean boo=true;
	try{ guessNumber=number.charAt(0);
}
catch(Exception exp){
	boo=false;
	}
	if(boo){
	if(guessNumber==realc){
	int n=((Integer)session.getAttribute("count")).intValue();
	n=n+1;
	session.setAttribute("count",new Integer(n));
	mess="你猜对了,这是第"+n+"次猜测";
	}
	else if(guessNumber>realc){
		int n=((Integer)session.getAttribute("count")).intValue();
		n=n+1;
		session.setAttribute("count",new Integer(n));
		mess="你猜大了,这是第"+n+"次猜测";
		}
		else if(guessNumber<realc){
			int n=((Integer)session.getAttribute("count")).intValue();
			n=n+1;
			session.setAttribute("count",new Integer(n));
			mess="你猜小了,这是第"+n+"次猜测";
			}
		else if(number.equals("你还没开始猜测")){
		mess="你还没开始猜测";
		}
		jspContext.setAttribute("message",mess);
		}
		else{
		jspContext.setAttribute("message","请输入你的猜测");
		}
		%>

结果图

在这里插入图片描述
!](https://img-blog.csdnimg.cn/20190406111432539.png)
在这里插入图片描述
在这里插入图片描述

产出一个随机字母时,需要注意Math.random的用法
比较字母时,可利用ASCII值直接比较

猜你喜欢

转载自blog.csdn.net/Lxin12138/article/details/89053476