Javaweb学习总结-(六)
来源:互联网 发布:淘宝店铺装修设计方案 编辑:程序博客网 时间:2024/05/17 07:37
JSP简介
一、JSP(Java Server Page):
1)Java EE 组件,本质上是 Servlet。
2)动态生成HTML.XML或其他格式文档的web网页技术。
3)运行在 Web Container(服务器或servlet容器中).接收 Http Request,生成 Http Response(默认协议是 Http 请求和响应)
4)使页面可以混和html代码、Java代码以及JSP标签;允许访问组件
二、JSP的改进:
1)JSP是标签式的文本文件(Servlet是Java文件)
2)JSP不需要编译(其实是由服务器监测JSP文件的变化,再将其翻译成 Servlet 代码)
服务器对其进行编译并在第一次请求时创建一个Servlet实例。所以,第一次访问JSP页面时会有延迟
3)JSP不用写配置文件
4)JSP以静态代码为主,Java代码为辅。Servlet反之。
5)是J2EE蓝图的一部分(Servlet、JSP以及EJB是J2EE的三大组件)
JSP从本质上来说内核还是Servlet,但与Servlet不是替代关系而是一种互补的关系。
JSP适合于写显示层的动态页面,而Servlet则适合写控制层的业务控制(页面转发)。
JSP往纯标签方向发展,Servlet往纯代码方向发展,他们以Servlet内核(请求响应式的工作方式)往两个方向发展。
三、其他的动态网页技术:
ASP
PHP
四、JSP的组成:
静态内容:HTML标签、文本内容
JSP指令: page指令、include指令、taglib指令
脚本:小脚本、声明、表达式
动作: usebean、forword、include等
标签:JSTL、自定义的标签
EL表达式:${}
注释:HTML注释、JSP注释
五、JSP的执行过程
首先用户向servlet容器发出一个访问JSP页面的请求,于是容器会找到对应的JSP页面,找到被请求的页面之后容器首先将JSP页面翻译成一个对应的java文件,然后对此java文件编译,生成一个class文件,最后执行生成的class文件,再将结果返回给客户。这是对一个JSP页面第一次访问时执行的工作。
在第一次访问过后,会生成字节码文件,如果下一次在访问同一个JSP页面时,只需要直接运行对应的class文件,再将结果返回给客户。
由于一般JSP文件的第一次执行都是由该文件的编写者进行的,等到用户使用时已经是第二次或是多次使用了,此时class文件已经存在,所以执行较快,可以大大节省时间提高效率。
- Javaweb学习总结(六)
- Javaweb学习总结-(六)
- javaweb学习总结(六)——servlet学习二
- JavaWeb学习(六)
- Javaweb学习总结(六):使用JavaBean计算圆的周长与面积
- javaweb学习总结(六)log4j xml和properties两种配置
- javaweb学习总结(六)——Servlet开发(二)
- javaweb学习总结(六)——Servlet开发(二)
- javaweb学习总结(六)——Servlet开发(二)
- javaweb学习总结(六)——Servlet开发(二)
- javaweb学习总结(六)——Servlet开发(二)
- javaweb学习总结(六)——Servlet开发(二)
- javaweb学习总结(六)——Servlet开发(二)
- javaweb学习总结(六)——Servlet开发(二)
- javaweb学习总结(六)——Servlet开发(二)
- JavaWeb学习总结(六)---使用kaptcha生成验证码
- javaweb学习总结(六)——Servlet开发(二)
- JavaWeb学习总结(六)——Servlet开发(二)
- [BZOJ3339]Rmq Problem 线段树应用
- 动态规划算法之:最长公共子序列 & 最长公共子串(LCS)
- RMQ算法小结(st实现)
- 8、C#里面的异常处理
- poj1556 The Doors(建图spfa+判断线段交)
- Javaweb学习总结-(六)
- 欢迎使用CSDN-markdown编辑器
- bzoj 1014 [JSOI2008]火星人prefix 哈希+splay
- No Target Architecture
- 计算两个日期之间相差多少天,计算当前日期是星期几
- Apache配置文件详解
- 计蒜客 2017icpc南宁赛区 The Heaviest Non-decreasing Subsequence Problem 最长不递减子序列
- zookeeper 在ubuntu linux虚拟机上的安装
- Centos7下安装mysql