includejsp是一种动态网页技术:
常见的动态网页技术:jsp(java server page),asp(active server page),php(hypertext preprocessor)超文本预处理语言
jsp实际上是servlet,也是java类通过jsp引擎将jsp转成servlet
jsp:
<%java代码%>局部代码块,但是比较麻烦一般不适用
全局代码块:
<%!代码块%>
<%=调用变量,方法%>方法必须有返回值
include:
静态导入会生成一个servlet文件将原文件和导入文件合并,运行效率高一点但是会出错(比如两个文件中存在相同的变量名时就会出错)
动态导入两个文件都会生成servlet文件,两个文件不会进行合并,但是页面 在最终展示的时候是合并在一起的,不存在耦合
请求转发
九大内置对象:只能在代码块中使用
pagecontext:表示页面的上下文对象,封存了其他的内置对象,封存了当前页面的运行信息,每个页面都有一个pagecontext对象,生命周期跟随页面的开启和关闭
request:封装当前请求的数据,由tomcat创建,一个请求一个request
response:响应对象,用来响应请求数据将处理结果返回给浏览器,可以进行重定向
application:相当于servletcontext一个web项目只有一个对象,存储所有用户的共享数据,从服务器开启到服务器结束
page:代表当前jsp对象,跟java中的this指针类似
session:用来封装用户的不同请求的共享数据,一次会话一个session对象
config:config相当于servletconfig用来获取web.xml中的配置数据,完成对servlet的初始化
exception:封装异常对象 ,存储当前的运行异常信息
out:用来响应
四大作用域
路径问题:
相对路径:相对于当前页面的路径
绝对路径:
el表达式从小的范围开始查找,找到就不在往下找,依次是pagecontext,request,session,appliction,也可以从指定的作用域进行取值${pageScope.key}${requestScope.key},${sessionScope.key},${applicationScope.key}
使用el表达式可以进行简单的算术运算和关系运算以及三目运算: