1、九大JSP隐含对象
1、out隐含对象 (输出对象)
直接用于在JSP页面输出内容
2、request内置对象 (请求对象)
主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)作用域为一次请求
3、page对象 (页面对象)
表示对应单个JSP页面, servlet中如下声明:
4、pageContext (页面上下文)
页面上下文可以使用setAttribute(String, String) 设置当前页面中所存储的信息,页面间不共享数据,使用getAttribute(String)方法获取在页面上下文中设置的属性
5、session对象(会话对象)
会话对象可以保存用户的基本信息, 如一个用户登录到一个网站,该网站可以记录此用户的信息,并且用户信息在网站的所有页面间共享,会话信息存储在服务器端(数据库,文件系统,WEB容器本身实现的session存储),在不通页面中使用session对象setAttribute(String, String) 方法存储数据,能在其他页面中直接使用session.getAttribute(String)方法获取数据
6、response:HttpServletResponse的一个实例,代表是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端
7、application:ServletContext的一个实例(表示当前web应用),开始于服务器启动,直到服务器关闭,作用域为当前web应用
8、config:ServletConfig 的一个实例(主要作用是取得服务器的配置信息)
9、exception:显示异常信息
作业:登录验证
界面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登陆</title>
</head>
<body>
<h3 style="text-align: center">用户登录</h3>
<form action="do_login.jsp" method="post">
<table>
<tr>
<td align="center">用户名</td>
<td><input id="username" type="text" name="username"/></td>
</tr>
<tr>
<td align="center">密 码</td>
<td><input id="password" type="password" name="password"/></td>
</tr>
<input type="submit" value="登陆">
<input type="reset" value="取消">
</table>
</form>
</body>
</html>
验证
<%
//获取登陆表单数据
String username = request.getParameter("username");
String password = request.getParameter("password");
//判断是否登录成功
if (username.equals("南极星") && password.equals("123456")){
//采用同一请求转发,跳转到登陆成功的页面
session.setAttribute("message","welcom to China");
request.getRequestDispatcher("success.jsp").forward(request,response);
session.setMaxInactiveInterval(2000);
}else {
//采用同一请求转发,跳转到登陆失败的页面
request.getRequestDispatcher("failure.jsp").forward(request,response);
}
%>
成功界面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登陆成功</title>
</head>
<body>
<h3><%= new String( request.getParameter("username").getBytes("ISO8859-1"),"utf-8")%>登陆成功</h3>
<%
out.print("massage:" + session.getAttribute("message") + "<br />");
out.print("session id" + session.getId() + "<br/>");
out.print("session creation time:" + session.getCreationTime() + "<br />");
out.print("session last accessed time:" + session.getLastAccessedTime() + "<br />");
out.print("session max inactive interval :" + session.getMaxInactiveInterval() + "<br />");
%>
</body>
</html>
登录截图
登陆成功截图
以上便是采用jsp隐含对象做的一个登录及登录验证过程。
就个人而言,jsp隐含对象在切实的使用中确实很有用处。