Java之JSP教程九大内置对象详解(上篇) |
JSP九大内置对象一览表为了简化页面的开发过程,JSP 提供了一些内置对象 。 JSP 内置对象又称为隐式对象,它们由容器实现和管理 。 在 JSP 页面中,这些内置对象不需要预先声明,也不需要进行实例化,我们可以直接在脚本和表达式中使用 。
九大内置对象JSP 中定义了 9 个内置对象 。 它们分别是:request、response、session、application、out、pagecontext、config、page 和 exception,这些对象在客户端和服务器端交互的过程中分别完成不同的功能 。 JSP 的内置对象主要有以下特点:
四大域对象在 JSP 九大内置对象中,包含四个域对象 。 它们分别是:pageContext(page 域对象)、request(request 域对象)、session(session 域对象)、以及 application(application 域对象) 。 JSP 中的 4 个域对象都能通过以下 3 个方法,对属性进行保存、获取和移除操作 。
JSP 中的 4 个域对象的作用域各不相同,如下 。
JSP request对象JSP request 是 javax.servlet.http.HttpServletRequest 的实例对象,主要用来获取客户端提交的数据 。 request 对象提供了一系列方法,可以获取请求参数信息、表单数据、HTTP 头信息、cookie 和 HTTP 请求方法等 。 示例在 index.jsp 页面使用 getHeaderNames() 方法获取 HTTP 头信息,并遍历输出参数名称和对应值 。 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.*"%> <!DOCTYPE html> <html> <head> </head> <body> <h2>获取HTTP请求头信息</h2> <table width="100%" border="1" align="center"> <tr bgcolor="#949494"> <th>参数名称</th> <th>参数值</th> </tr> <% Enumeration headerNames = request.getHeaderNames(); while (headerNames.hasMoreElements()) { String paramName = (String) headerNames.nextElement(); out.print("<tr><td>" + paramName + "</td> "); String paramValue = request.getHeader(paramName); out.println("<td> " + paramValue + "</td></tr> "); } %> </table> </body> </html> 运行结果如下: JSP response对象JSP response 是 javax.servlet.http.HttpServletResponse 的实例对象 。response 对象和 request 对象相对应,主要用于响应客户端请求,将处理信息返回到客户端 。 response 对象的常用方法如下:
示例下面在 login.jsp 新建表单,在 checkdetails.jsp 接收 login.jsp 提交的用户名和密码,与指定的用户名和密码相比,相同则登录成功,重定向到 success.jsp;反之登录失败,重定向到 failed.jsp 。 login.jsp 代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> </head> <body> <h2>用户登录</h2> <form action="checkdetails.jsp"> 用户名: <input type="text" name="username" /> 密码: <input type="text" name="pass" /> <input type="submit" value="登录" /> </form> </body> </html> checkdetails.jsp 代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> </head> <body> <% String username = request.getParameter("username"); String password = request.getParameter("pass"); if (username.equals("biancheng") && password.equals("bianchengbang")) { response.sendRedirect("success.jsp"); } else { response.sendRedirect("failed.jsp"); } %> </body> </html> success.jsp 代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> </head> <body> <h2>登录成功!</h2> </body> </html> failed.jsp 代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> </head> <body> <h2>登录失败,用户名或密码错误!</h2> </body> </html> 运行结果如下所示: 登录页面(输入正确的用户名和密码) 登录成功页面 登录页面(输入错误的用户名) 登录失败页面 JSP out对象JSP out 是 javax.servlet.jsp.JspWriter 的实例对象 。 out 对象包含了很多 IO 流中的方法和特性,最常用的就是输出内容到 HTML 中 。 out 对象的常用方法如下:
示例out 对象的方法相对比较简单,一般情况下很少使用 。 下面我们使用 out 对象的 print、println 和 newLine 方法将内容输出到 HTML 中 。index.jsp 代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.*"%> <!DOCTYPE html> <html> <head> </head> <body> <% out.print("欢迎来到编程帮,"); out.newLine(); out.println("我们的网址是:"); out.print("www.biancheng.net"); %> </body> </html> 运行结果如下: index.jsp运行结果 注意:这里的 println 与 newLine 换行指的是 HTML 代码换行,并不是页面显示的换行 。页面显示换行需要在代码后面加标签 。 到此这篇关于Java之JSP教程九大内置对象详解(上篇)的文章就介绍到这了,其他两个部分的内容(中、下篇)请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持! |