JSP 知识梳理

本文详细介绍JSP中的九个内置对象,如Out、Request、Response等的功能及使用方法,并讲解了如何利用这些对象处理用户请求、页面输出、数据交互等常见场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 有九个隐含对象,可以直接使用,已经提前定义好了,html语句均用servlet中的out对象输出,整个在service当中,每当收到用户请求时执行的内容。
  2. Java程序片段在<% %>中,是局部变量,在service方法中,没有线程安全问题。
  3. Java表达式,<%= %>,直接返回表达式的值,相当于把内容放在了out.print()当中。
  4. 声明<%! %>中间的内容为全局变量或方法,但是有线程安全问题。
  5. 指令基本格式:<%@指令 属性=”” %>
    一般把指令放在JSP页面的顶部。
    page 属性:
    language:告知引擎,脚本用的什么语言,默认JAVA,不写也可以。
    import:告知引擎导入哪些包,但是引擎会自动导入java.lang.* ,javax.servlet.http* ,javax.servlet.jsp. *。
    contentType:告知引擎,响应正文的MIME类型。
    常用的很少,通常是:<%@ page pageEncoding=”UTF-8”%>统一代码文件
    include 属性:静态包含
    file,以/开头代表当前应用。导入响应的文件。通常用于导入公共的页面头尾等部分。
    taglib属性:
    uri:外部标签的地址
    prefix:通过这个前缀使用响应的标签。
  6. 转发:相当于
RequestDispatcher rd = request.getRequestDispatcher("");
rd.forward(request,response);
<jsp:forward page="">
    <jsp:param value="abc" name="username"/>//传递参数
</jsp:forward>

7 . 静态包含表示把文本直接嵌入进来,动态包含只申请访问的结果,独享自己的servlet,语法:< jsp:include page=”“/>request会带过去。

8 . Out 对象,字符流。
out.println(“”);
out.getBufferSize()//缓冲区大小
out.getRemainling()//剩余字节数目
out.flush()//强制输出缓冲区数据。
out.clearBuffer()//清空缓冲区数据。
out.clear()//清空缓冲区数据,但是如果用过flush()会抛出异常。
9. Request对象
封装了表单,cookie,主机名等客户端提交的信息。
request.getMethod()//获得请求方法名
request.getRequestURI()//从主机名第一个字符开始。
request.getProtocol()//获得协议
request.getServerName()//获得请求的服务器的IP
request.getServerPort()//获得请求的服务器的端口
request.getRemoteAddr()//获得客户端的IP
request.getRemoteHost()//获得客户端的主机名。
request.getParameter()//获得相应的参数,参数名字和name属性中的值一致
request.getParameterValues()//获得相应的参数对应的数组。
request.setAttribute()//保存到request对象中。
10. Response对象
response.setHeader()//设置字符串头信息
response.setIntHeader()//设置整型值头信息
response.sendRedirect()//重定向到新的网站
response.addCookie()//添加cookie
11. Session对象
session.getId()//获取session的id
session.getCreationTime()//获取session的创建时间
session.getLastAccessedTime()//获取最后访问时间
session.getMaxInactiveInterval()//获取失效时间
session.isNew()//是否是新的session会话
session.invalidate()//彻底清除session会话
12. Application对象
存在于服务器的空间中,除非应用被关闭才会销毁,如果设置了某些属性值,将会共享给所有用户。
application.getServerInfo()//返回服务器信息
application.getServletContextName()//应用名称
application.getVirtualServerName()//获取主机名称
13. Config对象
config.getInitParameter(“”)//获取初始化的信息,在web.xml中进行设置
14. Page对象
就像是this指针
page. getClass()//返回当前的object类
page.hashCode()//返回当前的哈希值
page.equals()//比较是否相等
15. Exception对象
exception.getMessage()//描述异常的信息
exception.toString()//字符串描述
exception.printStackTrace()//打印异常堆栈轨迹到console中
16. PageContext对象,可以操作其它的对象
pageContext.getOut()//类似的返回所有的其它八个对象
pageContext.setAttribute(“”,”“,范围)//在范围内设置键值对
17. 四大域对象:
PageContext:页面范围,开发中很少用。
ServletContext:应用范围,最大,尽量少用,要做同步处理。
ServletRequest:请求范围,不同的资源之间只能转发,适用于一次请求多次使用。
HttpSession:会话范围,多次请求共享数据,但不同的客户端不能共享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值