网站首页 > 技术文章 正文
一、JSP的本质就是servlet.
JSP运行规则:先转化成Java文件,然后编译成class文件,最后才可以执行。
了解了servlet之后,好多JSP的知识可以从JSP翻译后的Java文件中看出。
JSP页面转化为Java文件后所在的位置:
Eclipse的工作目录下的
.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\Demo0808\org\apache\jsp
二、JSP中的Java代码段
介绍下我自己的Java学习群:548511899,不管你是小白还是大牛,小编我都挺欢迎,不定期分享干货,包括我自己整理的一份2017最新的Java资料和零基础到学成出山的全套教程,欢迎所有喜欢Java的小伙伴。
JSP中的代码片段,翻译到Servlet的方法中,所以可以写Java方法中允许的代码,
不能写访问标识符等在方法中都不允许的代码。
脚本中的代码要保持结构完整,可以分开写到两个脚本中,比如:
<% for(int I = 0; I < 10; I ++){ %> hello <% } %>
Java片段翻译为Servlet的时候是按照从上向下的顺序的。
三、JSP注释
JSP注释:在JSP源码界面可见,Java文件中不可见,页面源码中不可见。
HTML注释:在各个界面都可见。
Java注释,只有在页面源码中不可见
四、JSP指令
1.page指令
language属性:指示当前的JSP页面会被翻译成何种语言。
ContentType:指定浏览器的编码方式,浏览器使用。
pageEncoding:指定当前页面的编码方式,供浏览器使用。
autoFlush:是否自动刷新,默认true.
errorPage:当前页面发生错误后,转发到的页面,地址栏不变化。
buffer:缓冲的大小
isErrorPage:指定当前页面是否为错误页面,默认是false,此时内置对象Exception不可用。true的时候才可以使用。
isELIgnored:是否忽略El表达式,默认不忽略。
2.include静态加载。
被包含页面的代码完全加到目标页面中,转化为Java文件的时候只转化目标页面,被包含页面在Java文件中也有输出。
file属性
五、JSP动作标签
最终会被翻译成Java代码执行。(Java学习交流群 548511899)
1.forword标签:
只有page属性。此时路径是相对于服务器端的。转发。 这个标签可以访问WEB-INF目录下的文件 不带参数其实标签和结束标签不可以分开。 可以通过param传递参数。
2.include标签:
和指令相比,为动态包含,被包含界面和杰界面都生成Java文件和class文件
3.tablib标签
引入jstl时使用
六、web的四大域对象:
pageContext(page域):作用范围是整个JSP页面,是四大作用域中最小的一个;生命周期是当对JSP的请求时开始,当响应结束时销毁。
Request:作用范围是整个请求链(请求转发也存在);生命周期是在service方法调用前由服务器创建,传入service方法。整个请求结束,request生命结束。
Session:作用范围是一次会话。
servletContext(application域):作用范围是整个Web应用。当Web应用被加载进容器时创建代表整个web应用的ServletContext对象,当服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。
四个域的作用域范围大小:PageContext (page域) < request < session < servletContext(application域)
猜你喜欢
- 2024-09-20 POJO与JavaBean的区别,你知道吗?
- 2024-09-20 JSP的 结构(jsp概述)
- 2024-09-20 Jsp与Servlet如何进行数据交互(jsp和servlet的各自应用范围)
- 2024-09-20 Web服务器、Web容器、servlet的联系
- 2024-09-20 为什么要放弃 JSP?(为什么要放弃喜欢的人)
- 2024-09-20 经典技术回顾和借鉴-JSP编程(jsp技术分析)
- 2024-09-20 关于JSP技术的介绍和相关示例(jsp技术概述)
- 2024-09-20 Servlet 和JSP之间的关系(servlet和jsp的区别)
- 2024-09-20 Javaweb学习(五)JSP技术(jsp+java)
- 2024-09-20 jsp的实质是什么?(jsp的概念是什么)
- 1514℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 564℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 508℃MySQL service启动脚本浅析(r12笔记第59天)
- 486℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 485℃启用MySQL查询缓存(mysql8.0查询缓存)
- 465℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 445℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 442℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)