4_3、编写两个JSP页面inputString.jsp和computer.jsp,用户可以使用inputString.jsp提供的表单输入一个字符串,并提交给computer.jsp页面,该页面通过内置对象获取inputString.jsp页面提交的字符串,并显示该字符串的长度。
inputString.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>习题4_3</title>
</head>
<body>
<% request.setCharacterEncoding("utf-8"); %>
<form action="computer.jsp" method=post name=form>
输入字符串:<input type=text name="string" size=6 >
<input type="submit" value="提交" name="submit">
</form>
</body>
</html>
computer.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>习题4_3</title>
</head>
<body>
<%
String str=request.getParameter("string");
if(str==null) str="";
%>
输入的字符串为:<%= str %>
<br>长度为:<%= str.length() %>
</body>
</html>
运行结果
4_6、参照例4_18编写一个猜英文26个小写字母的Web游戏
hw4_6.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>猜猜猜</title>
</head>
<body>
26个字母猜一猜
<%
String str=new String("abcdefghijklmnopqrstuvwxyz");
int charNum=((int)(Math.random()*100)+1)%26-1;
Character ch=new Character(str.charAt(charNum));
session.setAttribute("count",new Integer(0));
session.setAttribute("TempChar",new Character(ch));
%>
<br><a href="guess.jsp">猜字母游戏开始啦</a>
</body>
</html>
guess.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib tagdir="/WEB-INF/tags/tag" prefix="guessNumber" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>猜字母</title>
</head>
<body>
<%
session.setAttribute("message", "来猜字母吧");
String str=request.getParameter("guessNumber");
if(str==null)
str="*";
if(str.length()==0)
str="*";
%>
<guessNumber:GuessTag charNum="<%= str %>"/>
当前猜测结果:<%= message %>
<%
String s="恭喜你";
if(message.startsWith(s)){
%>
<br><a href="hw4_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
<%@ tag language="java" pageEncoding="utf-8"%>
<%@ attribute name="charNum" required="true" %>
<%@ variable name-given="message" scope="AT_END" %>
<%
String mess="";
Character ch=(Character)session.getAttribute("TempChar");
char realchar=ch.charValue();
char c=(charNum.trim()).charAt(0);
if(c>='a'&&c<='z'){
if(c==realchar){
int n=((Integer)session.getAttribute("count")).intValue();
n++;
session.setAttribute("count", new Integer(n));
mess="恭喜你猜对了,这是第"+n+"次猜测";
}
else if(c>realchar){
int n=((Integer)session.getAttribute("count")).intValue();
n++;
session.setAttribute("count", new Integer(n));
mess="猜大了,这是第"+n+"次猜测";
}
else if(c<realchar){
int n=((Integer)session.getAttribute("count")).intValue();
n++;
session.setAttribute("count", new Integer(n));
mess="猜小了,这是第"+n+"次猜测";
}
}
else{
mess="请输入a-z之间的字母";
}
jspContext.setAttribute("message",mess);
%>
运行结果