抓取jsp网页源代码(动态页面技术(JSP/EL)(/JSTL))
优采云 发布时间: 2021-12-28 22:16抓取jsp网页源代码(动态页面技术(JSP/EL)(/JSTL))
动态页面技术(JSP/EL/JSTL)JSP技术jsp脚本和注释
jsp 脚本:
1) ----- 内部java代码翻译成service方法。
2) ----- 会被翻译成服务方法内部的out.print()局部变量
3) ---- 将翻译成servlet成员变量的内容
jsp 注释:不同注释的可见范围不同
1)Html 注释:---可见范围jsp源代码,翻译后的servlet,页面显示html源代码
2)java comment://single-line comment /*multi-line comment*/ --可见范围jsp源码翻译servlet
3)jsp 注释:----- 可见范围 jsp 源码可见
jsp运行原理----jsp本质就是servlet(面试)
jsp在第一次被访问时会被web容器翻译成servlet,并被执行
过程:
第一次访问---->helloServlet.jsp---->helloServlet_jsp.java---->编译运行
PS:翻译后的servlet可以在Tomcat的工作目录中找到
jsp使用说明(三)
JSP 的指令是指导 JSP 翻译和运行的命令。 JSP包括三大指令:
1)page指令---属性最多的指令(实际开发中默认page指令)
属性最多的命令根据不同的属性引导整个页面的特征
格式:
常用属性如下:
language:可以嵌入jsp脚本的语言类型
pageEncoding:里面可以收录
当前jsp文件的编码-contentType
contentType: response.setContentType(text/html;charset=UTF-8)
session:翻译时jsp是否自动创建session,默认为true
import:导入java包
errorPage:当前页面有错误时,错误500错误后跳转到哪个页面
↓
isErrorPage:当前页面为错误处理页面500错误
404 错误:更改 WEB.xml 中的设置
404
/error.jsp
2)include 指令
页面收录
(静态收录
)指令,可以将一个jsp页面收录
到另一个jsp页面中
格式:
3)taglib 指令
在jsp页面中引入标签库(jstl标签库、struts2标签库)
格式:
jsp内置/隐式对象(9)-----笔试
jsp翻译成servlet后,service方法中定义并初始化了9个对象。我们可以在jsp脚本中直接使用这9个对象。
输出对象
输出类型:JspWriter
out的作用是想让客户端输出内容----out.write()
out buffer的默认8kb可以设置为0(buffer="0kb"),即out buffer关闭,内容直接写入响应buffer
pageContext 对象
有四个jsp域对象
jsp页面的上下文对象有如下功能:
page 对象和 pageContext 对象不是一回事
1)pageContext 是一个域对象
setAttribute(String name,Object obj)
getAttribute(String name)
removeAttrbute(字符串名称)
pageContext 可以访问其他指定域的数据
setAttribute(String name,Object obj,int scope)
getAttribute(String name,int scope)
removeAttrbute(String name,int scope)
例如:
pageContext.setAttribute("name", "文昭",PageContext.REQUEST_SCOPE);
findAttribute(String name)
---依次从pageContext域、请求域、会话域、应用域中获取属性。拿到某个域后,就不会往后看了。
四个范围的总结:
pageContext domain:当前jsp页面范围
请求域:一个请求
会话域:一个会话
应用域:整个网络应用
2)你可以得到另外8个隐式对象
例如:pageContext.getRequest()
pageContext.getSession()
jsp 标签(动作)
1)页面收录
(动态收录
):
2)请求转发:
静态收录
和动态收录
的区别?
静态收录
:一个Servlet(结合成一)静态页面的引入(代码)
动态收录
:两个Servlet(导入地址)