JSP指令及九大内置对象
来源:互联网 发布:cctv发现之旅骗局知乎 编辑:程序博客网 时间:2024/05/17 04:38
一.三个编译指令
常见的编译指令:
(1)page 针对当前页面的指令
(2)include 制定包含另一个页面
(3)taglib 定义和访问自定义标签
1. page指令
2. include指令
使用这个指令,将一个外部文件嵌入到当前JSP页面中,同时解析这个页面的JSP语法这是个静态的include语句,他会把目标页面的其他便以指令也包含进来,但动态include则不会
注意:两个页面的编译指令不能相同,会报错
3. taglib指令
目前常用的有两个,一个是c标签库,一个是s标签库
一.七个动作指令
动作指令与编译指令不同,编译指令是通知servlet引擎的处理消息,而动作指令仅仅是运行时的动作,编译指令在将JSP编译成servlet时起作用,而处理指令通常可替换成JSP脚本,他只是JSP脚本的标准化写法。
JSP动作指令如下:
1. forword指令
将页面响应转发到另外一个页面,既可以是静态页面又可以是动态页面,甚至是servlet。
执行此操作不会导致请求参数丢失,使用request.getParameter("###")接收。页面地址并未改变,只是采用了新页面来响应它。
2. include指令
他也用户导入其他页面,只不过不会导入编译指令,只会导入页面body部分插入到当前页面。
##动态导入和静态导入的区别:
静态导入是一种全部导入,合成一个servlet,而动态导入是Servlet中使用include方法来引入被导入页面的内容,动态导入后编译指令失效,只是插入了body部分。动态包含可以增加额外的参数
3. userBean setProperty getProperty
其实就是创建一个页面版本的javaBean,最好是直接去创建类,这样好一些,这里给出这个标签用法:
4. plugin指令
略
5. param指令
结合之前学的使用:
一.九个内置对象
对象名称实例所属含义作用范围常用方法applicationjavax.servlet.ServletContext代表jsp所属应用,可用于JSP页面或servlet之间交换信息Applicationget/setAttribute(String attName)
getInitParameter(String paramName)configjavax.servlet.ServletConfig代表jsp的配置信息,基本在servlet中发挥作用PagegetInitParameter(String paramName)
getInitParameternames()exceptionjavax.lang.Throwable只有当前页面为编译指令page中isError=true时才有用PagegetMessage(),printStackTrace()outjavax.servlet.jsp.JspWriterjsp页面输出流用于输出内容形成html页面Page page 页面本身,也是servlet中的this,能用page的地方就可以用thisPage pageContextjavax.servlet.jsp.PageContextjsp上下文,可以访问页面中的共享数据PagegetServletContext();getServletConfig()requestjavax.servlet.http.HttpServletRequest该对象封装一次客户端请求参数发送到服务器端RequestgetParaqameter(String name);
getParameterValues(String name);
setAttribute("key","value");getAttribute(key);
setCharacterEncoding(String env);responsejavax.servlet.http.HttpServletResponse代表服务器端对客户端的响应PagegetOutputStream();
sendRedirect(java.lang.String Location);sessionjavax.servlet.http.HttpSession代表一次通话(从建立连接到浏览器关闭)SessionsetAttribute("key","value");
getAttribute(key);
getInitParameter(String paramName)configjavax.servlet.ServletConfig代表jsp的配置信息,基本在servlet中发挥作用PagegetInitParameter(String paramName)
getInitParameternames()exceptionjavax.lang.Throwable只有当前页面为编译指令page中isError=true时才有用PagegetMessage(),printStackTrace()outjavax.servlet.jsp.JspWriterjsp页面输出流用于输出内容形成html页面Page page 页面本身,也是servlet中的this,能用page的地方就可以用thisPage pageContextjavax.servlet.jsp.PageContextjsp上下文,可以访问页面中的共享数据PagegetServletContext();getServletConfig()requestjavax.servlet.http.HttpServletRequest该对象封装一次客户端请求参数发送到服务器端RequestgetParaqameter(String name);
getParameterValues(String name);
setAttribute("key","value");getAttribute(key);
setCharacterEncoding(String env);responsejavax.servlet.http.HttpServletResponse代表服务器端对客户端的响应PagegetOutputStream();
sendRedirect(java.lang.String Location);sessionjavax.servlet.http.HttpSession代表一次通话(从建立连接到浏览器关闭)SessionsetAttribute("key","value");
getAttribute(key);
注意,所有jsp页面编译后都有如下信息可以查询:
1. application对象
application对象实现了用户间数据的共享,可存放全局变量。与session对象不同的是,所有客户的application对象都是同一个,即所有客户共享application对象,这样application对象就可以起到一个全局变量的作用
application开始于服务器的启动,终止于服务器的关闭。在用户的前后链接或不同用户之间的连接中,可以对application对象的同一属性进行操作。
在任何地方对application对象属性的操作,都将影响到其他用户对此的访问服务器的启动和关闭决定了application对象的生命。application对象是ServletContext类的实例。
application对象的常用方法如下:
(1)public void setAttribute(String name,Object value)使用指定名称将对象绑定到此会话。
(2)public Object getAttribute(String name)返回与此会话中的指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null
(3)Enumeration getAttributeNames()返回所有可用属性名的枚举。
(4)String getServerInfo():返回JSP(Servlet)引擎名及版本号。
application开始于服务器的启动,终止于服务器的关闭。在用户的前后链接或不同用户之间的连接中,可以对application对象的同一属性进行操作。
在任何地方对application对象属性的操作,都将影响到其他用户对此的访问服务器的启动和关闭决定了application对象的生命。application对象是ServletContext类的实例。
application对象的常用方法如下:
(1)public void setAttribute(String name,Object value)使用指定名称将对象绑定到此会话。
(2)public Object getAttribute(String name)返回与此会话中的指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null
(3)Enumeration getAttributeNames()返回所有可用属性名的枚举。
(4)String getServerInfo():返回JSP(Servlet)引擎名及版本号。
主要两个地方有用到:
(1)在多个jsp、servlet共享数据,比如:
(2)获得web应用配置参数
比如在web.xml中这样写:
在jsp中获得:
2. config对象
config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象),简单点就是你在web.xml中写的init-params都可以用它接收
常用的方法如下:
(1)ServletContext getServletContext():返回含有服务器相关信息的ServletContext对象。
(1)ServletContext getServletContext():返回含有服务器相关信息的ServletContext对象。
(2)String getInitParameter(String name()):返回初始化参数的值。
(3)Enumeration getInitParameterNames():返回Servlet初始化所需所有参数的枚举。
比如在web.xml中这样写:
通常在jsp中这样写:
与application区别:
这里实在每个servlet里面的初始化配置,二application使用的是在全局web.xml的配置
3. exception对象
仅在当前页是错误页才起作用
4. out对象
页面输出流
5. pageContext对象
pageContext是页面上下文的意思,也就是说和页面相关的都可以在这里面找到,我们知道数据存放有四大域,范围分别叫做page、reuqest、session、application,这个对象可以取到这些里面的任意属性或者添加任意属性,主要如下:
试验一下看看详情:
得出的结果是:
除此之外pageContext对象还可以获得其他内置对象:
6.request对象
先粘贴一些方法吧,因为这个太常用了,所以最好都掌握了
GET和POST方式的区别:
get方式显式的将参数放在了url的后面并且对数据量大小有限制,而post方式会放入到HTML HEADER中,传输数据可以无限大,安全性相对较高。
通常解决乱码诀窍:
当我们用其进行页面跳转时:forward会传递请求参数。还有,下面这个path必须以"/"开头
7. response对象
记得要在response中加入cookie,才能在request中去提取出来显示!
cookie存取中文比较麻烦,需要借助一些东西,比如:
主要方法:
8. session对象
session里面存放的数据可以保留到浏览器关闭为止。
阅读全文
0 0
- JSP指令及九大内置对象
- JSP指令及九大内置对象
- JSP九大内置对象及详细信息
- jsp九大内置对象及解析
- JSP九大内置对象
- JSP内置九大对象
- JSP九大内置对象
- JSP九大内置对象
- jsp 九大内置对象
- JSP九大内置对象
- JSP九大内置对象
- JSP九大内置对象
- Jsp九大内置对象
- JSP九大内置对象
- JSP九大内置对象
- JSP九大内置对象
- JSP九大内置对象
- JSP九大内置对象
- 20170707 学习方向改变—算法为主
- Ajax的工作原理
- Html5学习笔记
- ABAP 查询性能提高之我见
- 显存 内存 使用量估计 卷积神经网络 convolution torch finput
- JSP指令及九大内置对象
- 怎么用运行命令mstsc连接到远程计算机
- 1284: 闰年
- realm 文件越来越大?那你需要注意一下了
- Queue CodeForces
- HashSet浅析
- 栈的基本操作(附带一个数据结构、C语言版)
- K-D Tree详解
- 3295: [Cqoi2011]动态逆序对