分享几道题目及答案,均由本人思考和实践得来,无抄袭。
一、编写一个页面,不允许IP地址为192.开头的客户访问,如果访问,则给它回送一个信息:访问禁止。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String userurl=request.getRemoteAddr();
if(userurl.startsWith("192")){
out.println("禁止访问");
}
%>
</body>
</html>
二、用户访问首页,用一个下拉菜单选择背景颜色,提交,到达欢迎页面,背景颜色为用户选择的颜色。下次用户访问欢迎页面,直接显示那种颜色,无需重新选择。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="Prepare.jsp" method="post">
<select name="color">
<option value="black">black</option>
<option value="red">red</option>
<option value="green">green</option>
<option value="yellow">yellow</option>
</select>
<input type="submit" value="提交">
<%
String color=request.getParameter("color");
if(color!=null){
Cookie cookie=new Cookie("color",color);
response.addCookie(cookie);
response.sendRedirect("Welcome.jsp");
}
%>
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<%
String str=null;
Cookie[] cookies=request.getCookies();
for(int i=0;i<cookies.length;i++){
if(cookies[i].getName().equals("color")){
str=cookies[i].getValue();
break;
}
}%>
</head>
<body bgcolor="<%=str%>">
Hi
</body>
</html>
三、在用户登录界面中,输入账号和密码,让用户选择“是否保存登录状态”,如果账号密码相等,则登录成功,进入欢迎页面。在登录时,如果保存了登录状态,下次登录时,如果访问登录页面,则进入欢迎页面。但是,客户如果没有保存登录状态,也没有经过登录就访问欢迎页面,则跳转到登录页面。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
Cookie[] cookies=request.getCookies();
if(cookies!=null){
String str=null;
for(int i=0;i<cookies.length;i++){
if(cookies[i].getName().equals("login2")){
str=(String)cookies[i].getValue();
if(str.equals("yes2")){
cookies[i].setMaxAge(0);
response.addCookie(cookies[i]) ;
response.sendRedirect("Welcome2.jsp?login=1");
}
}
}
}
String choose=request.getParameter("choose");
String account=request.getParameter("account");
String password=request.getParameter("password");
String chooseresult=null;
if(account!=null&&!account.equals("")&&account.equals(password)){
if(choose!=null&&choose.equals("保存")){
Cookie cookie=new Cookie("login2","yes2");
response.addCookie(cookie);
}
//out.println(choose);
response.sendRedirect("Welcome2.jsp?login=1");
}%>
<form action="Login.jsp" method="post">
账号:<input name="account" type="text"><br>
密码:<input name="password" type="password"><br>
<input name="choose" type="radio" value="保存">是否保存登录状态<br>
<input type="submit" value="提交"></form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
欢迎嘿!<br>
<%
String login=request.getParameter("login");
if(login==null||!login.equals("1"))
response.sendRedirect("Login.jsp");
%>
</body>
</html>
第三题还是有点参考价值的,也可用服务端session来完成,还有一点,在eclipse中运行和打包成war在实际浏览器中运行还是有一定差异的,第三题就是这样,特别是放在eclipse进行回退就会报错。