文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java的JSP内置对象怎么使用

2023-07-04 23:28

关注

本文小编为大家详细介绍“Java的JSP内置对象怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java的JSP内置对象怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

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 个方法,对属性进行保存、获取和移除操作。

  • void:setAttribute(String name, Object o)  将属性保存到域对象中

  • Object:getAttribute(String name)  获取域对象中的属性值

  • void:removeAttribute(String name)  将属性从域对象中移除

JSP 中的 4 个域对象的作用域各不相同,如下。

page:如果把属性保存到 pageContext 中,则它的作用域是 page。

该作用域中的属性只在当前 JSP 页面有效,跳转页面后失效。

request:如果把属性保存到 request 中,则它的作用域是 request。

该作用域中的属性只在当前请求范围内有效。服务器跳转页面后有效,例如jsp:forward;客户端跳转页面后无效,例如超链接。

session:如果把属性保存到 session 中,则它的作用域是 session。

该作用域中的属性只在当前会话范围内有效,网页关闭后失效。

application如果把属性保存到 application 中,则它的作用域是 application。

该作用域中的属性在整个应用范围内有效,服务器重启后失效。

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>    <h3>获取HTTP请求头信息</h3>    <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>\n");                String paramValue = request.getHeader(paramName);                out.println("<td> " + paramValue + "</td></tr>\n");            }        %>    </table></body></html>

运行结果如下:

Java的JSP内置对象怎么使用

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>    <h3>用户登录</h3>    <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>    <h3>登录成功!</h3></body></html>

failed.jsp 代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html><html><head></head><body>    <h3>登录失败,用户名或密码错误!</h3></body></html>

运行结果如下所示:

Java的JSP内置对象怎么使用

登录页面(输入正确的用户名和密码)

Java的JSP内置对象怎么使用

登录成功页面

Java的JSP内置对象怎么使用

登录页面(输入错误的用户名)

Java的JSP内置对象怎么使用

登录失败页面

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>

运行结果如下:

Java的JSP内置对象怎么使用

index.jsp运行结果

注意:这里的 println 与 newLine 换行指的是 HTML 代码换行,并不是页面显示的换行。页面显示换行需要在代码后面加标签。

读到这里,这篇“Java的JSP内置对象怎么使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯