JSP常见编译及动作指令
来源:互联网 发布:wps for ubuntu 16.04 编辑:程序博客网 时间:2024/05/22 16:06
1、forward
forward是服务器端去访问目标资源,然后将获取的目标资源返回给客户端(浏览器),客户端不知道目标资源的地址,所以客户端的地址栏不会发生变化。forward要访问的资源必须是同一服务器应用程序的资源,是同一次request请求访问,原服务器页面和目标资源页面可以共享request请求中的数据。jsp:forward只有一个page属性用法如下:
<jsp:forward page="相对 URL 地址" />常见应用场景:用户登录的时候,根据用户的角色名转发至不同的模块
和forward有个类似功能的东西是redirect,redirect是服务器端根据逻辑发送包含状态码和新url的response包,客户端根据状态码重新向新的url发送request请求,客户端的地址栏会显示新的url地址。redirect要访问的资源可以是服务器应用程序的内部资源,也可以是服务器下不同应用程序的资源,甚至可以使不同站点的资源。因为redirect相当于是两次独立的request和response,因此Redirect没有共享request数据资源的说法。redirect用法是response.sendRedirect("要跳转的路径"); forward也有类似的用法request.getrequestDispatcher("跳转的路径").forward(响应对象,请求对象);
其中request是jsp内置对象。
2、page
jsp页面通常会被转化为一个Servlet,page 指令允许通过类的导入、servlet 超类的定制、内容类型的设置、以及诸如此类的事物来控制servlet的结构,page指令可以放在文档中的任何地方。page 指令可以定义下面这些大小写敏感的属性(大致按照使用的频率列出):import、contentType、pageEncoding、session、isELIgnored(只限 JSP 2.0)、buffer、autoFlush、info、errorPage、isErrorPage、isThreadSafe、language 和 extends。这些属性的用法可以参见:http://blog.csdn.net/microfhu/article/details/6944368
3、include
jsp中有两个include标签,一个是编译指令,一个是动作指令。
编译指令的用法是:<%@include file="resourcefile"%>
动作指令的用法是:<jsp:include page="resourcefile" flush="true" />(其中flush定义在包含资源前是否刷新缓存区)
使用include编译指令,可以将一个外部文件嵌入到当前JSP文件中,同时解析这个页面中的JSP语句。include既可以包含静态的文本,也可以包含动态的JSP页面。静态的编译指令include,是将被包含的页面加入进来,生成一个完整的页面。静态的include语句不会检查所包含JSP页面的变化。
使用jsp:include动作指令是在主页面被请求时,将次级页面的输出包含进来。尽管被包含的页面的输出中不能含有jsp,但这些页面可以是其他资源所产生的结果。服务器按照正常的方式对jsp:include包含的URL所对应的资源进行解释,因而这个URL可以是Servlet或JSP页面。服务器以通常的方式运行被包含的页面,将产生的输出放到主页面中,这种方式与RequestDispatcher类的include方法一致。它的优点是在被包含的页面发生更改时,无须对主页面做出修改。它的缺点是所包含的是次级页面的输出,而非次级页面的实际代码,所以在被包含的页面中不能使用任何有可能在整体上影响主页面的JSP构造。
include编译指令和include动作指令都可以满足需求的情况下,优先使用include动作指令。因为include编译指令是硬插入,直接将外部文件嵌入到当前页面中,不检查外部文件是否有错,然后将被嵌入的页面一起进行编译,转化为Servlet再转成.class文件,整个过程只有一次编译。include动作指令是将外部文件执行后(编译、转为Servlet、.class文件),将结果插入到当前页面中然后继续执行当前页面后面的操作,相当于有两次编译过程。两种方式在可维护性和执行速度上各有优势,但是通常我们会优先考虑include动作指令。
可参见:http://qingfeng825.iteye.com/blog/231873
- JSP常见编译及动作指令
- JSP编译指令和JSP动作指令
- JSP编译指令和动作指令
- JSP编译指令和动作指令
- 三、JSP编译指令和动作指令
- JSP常见的7个动作指令
- Jsp语法、指令及动作元素
- JSP编译指令和动作指令基本知识点
- JSP include编译指令和include动作指令的区别
- JSP中的编译指令和动作指令的区别
- Jsp包含三个编译指令和七个动作指令。
- jsp三个编译指令和七个动作指令
- 【jsp】 3个编译指令和7个动作指令
- JSP include编译指令和include动作指令区别
- JavaEE jsp的编译指令和动作指令
- JSP动作指令
- JSP动作指令
- jsp动作指令
- js跨域的几种解决方案
- 《OpenCV》Part1 OpenCV3.1.0安装配置与Qt5.5测试
- 每日一个js实例10--回车键
- Random产生随机数,不传入种子和传入种子的区别
- Hello World!
- JSP常见编译及动作指令
- extjs renderer的参数以及对应的值
- struts1的工作原理
- 解决ldap获取数据中的objectGUID乱码问题
- html 边框变粗 margin -1px
- 内江男科医院哪家好,内江三桥医院是骗子
- Android strings 的那些小事
- 11.1 NOIP模拟赛 (afternoon)
- 报错记录