1、登录页面 设计实现一个登录页面,使用表单进行提交。页面应包含的元素如图 3-1 所 示,注意选取适当的输入元素类型,并对其命名;表单的 action 属性设置应指向 所设计的校验页面。
图 3-1 登录页面元素
login.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>
<form action="check.jsp" method="post">
<table align="center">
<tr>
<td>用户:</td>
<td><input type="text" name="username" placeholder="请输入用户名"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password" placeholder="请输入密码"/></td>
</tr>
<tr>
<td><input type="submit" value="提交查询"/></td>
</tr>
</table>
</form>
</body>
</html>
2、登录校验页面 需要读取前面登录页面中用户输入的用户名和密码,进行验证。验证要求包 括:用户名不为空;密码正确(为了简化设计,可以在 JSP 代码中设置固定的“正 确”密码)。如果用户通过验证,利用适当的 JSP 内置对象保存用户信息。
可在request内置对象设置一个默认密码,我设的为307954028
check.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>
<%
request.setCharacterEncoding("utf-8");
String name=request.getParameter("username");//获取用户名
String password=request.getParameter("password");//获取密码
if((name!=null)&&(password.equals("307954028"))){//设置默认密码
request.setAttribute("username",name);
RequestDispatcher dispatchar=request.getRequestDispatcher("./weclome.jsp");
dispatchar.forward(request,response);//用户名不为空,且密码正确则进入welcome界面
}else{
RequestDispatcher dispatchar=request.getRequestDispatcher("./login.jsp");
dispatchar.forward(request,response);//否则停留在登录界面
}
%>
</body>
</html>
3、登录后主页面 登录成功后,应自动转向主页面,在页面中显示:“欢迎,+用户名”。
welcome.jsp
<%@ 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>
<%
out.print("欢迎你,"+request.getAttribute("username").toString());
%>
</body>
</html>
4、自动跳转要求 应在页面中实现如下自动跳转功能: (1)登录校验页面:验证通过,自动跳转到主页面;验证失败,自动跳转 到登录页面。 (2)主页面:如果没有经过用户验证,自动跳转到登录页面。
(二)实现一个简单留言板 1、留言页面 设计实现一个留言页面,使用表单进行提交。页面应包含的元素如图 3-2 所 示,注意选取适当的输入元素类型,并对其命名;表单的 action 属性设置应指向 所设计的添加留言页面。
register.jsp
<%@ 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="show.jsp" method="post">
<table align="center">
<tr>
<td>用户:</td>
<td><input type="text" name="username" placeholder="请输入用户名"/></td>
</tr>
<tr>
<td>留言:</td>
<td><input type="text" name="message" placeholder="请输入留言"/></td>
</tr>
<tr>
<td><input type="submit" value="提交"/></td>
</tr>
</table>
</form>
</body>
</html>
图 3-2 留言页面元素
2、添加留言页面 需要读取留言页面中用户输入的用户名和留言,并获取用户所使用计算机的 IP 地址,按如下格式生成每条留言信息:“@ 说:”。 利用适当的 JSP 内置对象保存留言信息。 3、查看留言页面 在页面中显示所有留言信息,如图 4-2 所示。 图 4-2 查看留言页面示意 【提示】所有发布的 Web 应用,其他计算机都可以通过 Tomcat 服务器所在 计算机的 IP 地址访问
show.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.List,java.util.ArrayList"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%!
ArrayList<String> list = new ArrayList<String>();//定义一个全局的集合,注意%后一定有!,否则为局部变量,不能储存全部留言
%>
<h1>留言区</h1><br/>
<%
request.setCharacterEncoding("utf-8");
String name=request.getParameter("username");
String message=request.getParameter("message");
String address=request.getRemoteAddr();//获取本机IP地址
list.add(name+"@"+address+"@"+"说:"+message+"<br>");
for(int i=0;i<list.size();i++){
out.println(list.get(i));
}
%>
<br/>
<a href="register.jsp">返回</a>
</body>
</html>
在这里定义一个List集合,就可以把每次留言的用户和内容都储存下来
这里不要图省事把!去掉,把两对jsp标签合并,否则只能显示单次的留言。