Java中的动态网页
Servlet动态网页:Java代码(主) + html(辅) ,在Servlet中编写html代码
JSP动态网页:Java代码(辅) + html(主) ,在html中编写java代码
JSP的本质就是Servlet.
一、JSP基本语法1)JSP模版元素
JSP中的静态的标签,遵循的是html语法规则!
2)JSP表达式:其结果会显示在页面中
语法:,字符串用" "号定界,无需分号结束,
类似于Servlet中resposne.getWriter().println("哈哈");
3)JSP中Java脚本片断
语法:
生成的源码位于_jspService()方法中,多个JSP脚本片段可以相互访问,可以和html部分相互嵌套使用。
4)JSP声明属性或者方法
语法:
5)JSP注释
语法:
JSP引擎不会将其翻译成Servlet源码,即忽略,这种注释浏览器端看不到
其它注释会被翻译进Sercvlet源码,这种注释浏览器端看得到,并且可以在里边写jsp脚本代码。
如:
二、JSP中的三大指令
JSP三大指令:page指令、include指令、taglib指令
1、page指令用于设定整个JSP页面的属性和相关功能,page指令共有11个属性:
1)contentType属性和pageEncoding属性:
contentType属性指定JSP页面的MIME(是一个网络标准)和编码格式
pageEncoding属性用来指定JSP文件保存时选择的编码格式
2)import:在JSP中引入Java的包和类,多个包之间以逗号隔开
3)session:指定当前页面是否能获得当前用户的session对象,缺省是true,如果指定为false,那么在该页面中无法使用session,使用的话会提示500错误。
使用默认值,基本不用。
4)errorPage:如果当前页面发生异常,会重定向到errorPage所指定的页面进行处理
当前页面发生异常,并且没有对异常进行捕获的时候,跳转到error.jsp页面,不指定errorPage的话,画面上直接显示异常的相关信息
5)isErrorPage:允许指定的JSP页面为错误处理页面,配合exception,可以获取错误信息输出到jsp页面上。
6)language属性,指定页面中使用的脚本语言种类,目前只支持java
7)extends属性,用于指定该JSP生成的servlet继承自哪个父类,必须指定包名加类名
,基本不用
8)buffer属性和autoFlush属性
buffer属性用来设置输出流缓冲区,缓冲区的作用就是为了提高IO性能,即减少write的次数。
autoFlush属性用来指定当输出流缓冲区满了时,是否自动刷新缓冲区,若为true,自动把缓冲区的内容输出到底层输出流,若为false,缓冲区满时,会抛出IO异常。基本不用
9)isThreadSafe属性,缺省值为true,指定该JSP文件是否支持多线程访问
此时,多个线程共用同一个servlet实例
此时,每个线程都有一个自己的servlet实例,比较消耗内存资源,所以不建议使用。基本不用
10)info属性,用来设置该jsp文件的介绍信息
基本不用
11)isELIgnored属性,用来表示是否支持EL表达式
不支持EL表达式,EL表达式会被当做普通的html文本
支持EL表达式
2、include指令
静态包含:表示在JSP编译时插入一个包含文件或者代码的文件,是一种静态包含,静态包含(统一编译):,file属性的值是相对地址。多个jsp文件会合并起来生成一个jsp_servlet文件。
动态包含:动态include()
1)动态include的jsp文件独立性很强,是一个单独的jsp文件,多个jsp文件各自生成一个jsp_servlet文件。
2)动态包含总是检查被包含页面的变化,静态包含不一定检查被包含页面的变化.
3)动态包含可带参数,静态包含不能带参数.如:
扩展一下jsp标签,除了
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?