javaweb----JSP技术

JSP运行原理

1.客户端访问zhangpeng.jsp

2.服务器读取zhangpeng.jsp内容到内存

3.服务器根据zhangpeng.jsp内容生成servlet程序--存在tomcat/work下

4.servlet编译运行

图解:


JSP中的代码都会被翻译至servlet中的_jspService()方法中

翻译规则:

1.JSP中HTML翻译成out.write()

2.JSP中java代码不会被翻译,会原样不动的放进_jspService()中

JSP程序的翻译过程


JSP脚本元素

1.声明<!%%>   将被翻译成servlet类成员变量和方法以及内部类等

2.表达式<%=%>  用于向页面输出内容  将被翻译成servlet的out.print()方法

3.代码块 <%%>  可以编写任何的java程序。代码块可以和HTML嵌套使用

JSP和servlet的关系

JSP和servlet都是动态网页技术,只是分工不同。

有人恰当的比喻:servlet就是嵌入HTML的java文件,JSP就是嵌入java的HTML文件

JSP技术的企业最佳实践

生成HTML内容


JSTL,全称(jsp standard Taglib Liberary)  JSP标准标签库

JSTL有什么用?

简化页面<%%>与HTML嵌套写法,说白了就是简化JSP开发。


--------------------------------------------------------------------------------------------------------------------------------

JSP基本语法

JSP脚本元素

JSP页面注释

JSP指令元素

JSP内置对象

JSP标签

JSP四种数据范围


JSP中的pageEncoding和contentType的作用

pageEncoding

在编写阶段,当我们编写完jsp文件时,点击"save"时,jsp将保存在硬盘,pageEncoding就是JSP文件

保存在硬盘上的编码格式。

contentType

用来对servlet生成的HTML页面进行编码,同时指定浏览器查看内容的编码。

图解:


错误友好页面的设置

当页面发生错误时不应该给用户看到含有代码的错误页面,应该给一个友好的页面。

通过errorPage 和 isErrorPage控制JSP页面发生错误时的跳转

errorPage在发生错误的jsp中设置发生错误时跳转的页面

isErrorPage设置true ,就是错误页面本身,只有设置了这个属性,才能使用jsp的内置对象

excetion打印出错误信息。

这种方式的配置只能处理一个页面的错误,处理多个页面的时候需要每个页面都要

做如上的配置。

实际开发中,通常用这个方法。

web.xml中配置

<error-page>

<error-code>500</error-code>

<location>/zhangpeng/500.jsp</location>

</error-page>

<error-page>

<error-code>404</error-code>

<location>/zhangpeng/404.jsp</location>

</error-page>

这种方式能处理所有页面的错误,同时它不仅可以处理500,还可以处理404.


JSP 的include指令

用来静态包含页面---将页面的公共部分提取出来,通过include完成页面的布局

include包含目标页面的整个内容,被包含页面不需要一个完整的HTML,只要编写HTML片段就可以了,同时保留它的编码。

静态包含的原理:

index.jsp-------翻译------index_jsp.java

在翻译的过程中,遇到这句时<% include file="/demo6/logo.jsp"%>.翻译logo.jsp将p翻译后的servlet内容嵌入到index_jsp中。

静态包含:包含include中的文件的源代码,将两者的源代码合并至一起,结果就是生成一个servlet。

动态包含的原理:



taglib指令,用来在jsp中引用标签库文件的。

JSP9大内置对象

JSP Servlet

page ---this(HttpServlet)     代表当前jsp生成的servlet对象

pageContext   ---PageContext 页面上下文对象  1.向page范围存储数据  2..可以获得另外8个内置对象

request ---HttpServletRequest

session ---HttpServletSession

application ---ServletContext

response ---HttpServletResponse

out ---JspWriter

config ---ServletConfig

exception ---Throwable


应用上下文:可以获取应用的所有信息

页面上下文可以获取页面中的所有信息

servlet上下文可以获取servlet生命周期中的所有信息


out对象的原理,和response.getWriter()有什么区别

两者都是向浏览器输出内容

但是后者输出的内容在前者的内容之前





什么是内置对象?

JSP翻译为servlet代码时候,有些对象默认在servlet中已经创建好的,这类对象可以直接在JSP中使用。











1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、 1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READmE.文件(md如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值