JSP页面的动态包含和静态包含示例及介绍
一、静态包含
本文介绍JSP静态包含语句,即使用JSP的include指令来完成的包含操作。
JSP中,有两种包含其它文件的方式,一种是静态包含,一种是动态包含。本文介绍其中的静态包含。
所谓静态包含,跟ASP中的包含是一样的效果,即将所有包含的文件,先静态的包含进来,组成一个大的JSP文件,然后再经过编译器统一编译,生成HTML代码。
JSP静态包含的语句为:
<%@ include file="file.jsp" %>
这里的file.jsp就是要包含的文件,这里可以使用目录进行包含,可以是相对目录,可以是绝对路径。
JSP静态包含时,需要注意编码的问题。
在JSP文件中,我们必须指定页面的contentType为GBK、GB2312、UTF-8等才能在文档里面输入中文。如下:
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK" %>
但这里务必注意,当这个文件被静态包含时,它的编码如果跟包含它的文件的编码有一点点不一致,都会报错。所以,如果要静态包含,一定要把这两个文件的编码这一句(即contentType)确保完全一致。
二、动态包含
在ASP中没有动态包含这一说法,所有的包含都是静态包含。而JSP中,动态包含和静态包含有很大的区别。
本文来说一说JSP中的动态包含。
JSP中的动态包含不同于静态包含,它是在将各个JSP页面分别编译执行后,将大家执行的HTML结果,组合到一起向客户端浏览器输出的一种方式。
什么意思呢?
比如a.jsp,包含了b.jsp和c.jsp。a.jsp是无法共享b.jsp和c.jsp中设置的变量和函数的,也无法共享其逻辑结构。各自是分别编译并执行的。比如a执行后输出"a",b.jsp执行后输出"b",c.jsp执行后输出"c",那么最终将输出"abc"。
JSP动态包含的语法:
JSP动态包含不是使用的一个指令,而是使用的一个标签,如下:
<jsp:include page="file.jsp" />
或者:
<jsp:include page="file.jsp">
<jsp:param name="p1" vlaue="v1" />
</jsp:include>
上面两种语句并没有本质的区别,只是前者是一个简单的包含,而后者可以给被包含页面传递参数而已。参数传递到被包含页面时,可以使用request.getParameter("参数名")的方式来获取。
大家知道在asp中,如果使用include包含语句,那么被包含的文件上是不能带参数的。所以,在asp中的包含是跟jsp中的静态包含一样的。
相关推荐
-
动态JSP页生成静态HTML的方法
本文实例讲述了动态JSP页生成静态HTML的方法.分享给大家供大家参考.具体如下: 具体实现: 利用Filter的过滤功能把*.jsp过滤出来,判断是否存在对应的.html文件,如果不存在对应的.html文件,则将其内容读出写入指定的.html文件,再跳转到对应的.html即可.如果存在对应的.html文件,则直接跳转到对应的.html即可. 代码: JspFilter.java: import java.io.BufferedReader; import java.io.File; imp
-
jsp实现将动态网页转换成静态页面的方法
本文实例讲述了jsp实现将动态网页转换成静态页面的方法.分享给大家供大家参考.具体如下: 如果我可以将jsp动态网页转换成静态页面,那么访问的时候就不需要频繁的访问数据库了. jsp 显示内容缓存技巧 前段时间做自己社区的论坛,在jive 的基础上做一个页面显示所有论坛的帖子,可以称之为总版,模仿forum 类的接口做个superforum 并且实现cachable,不过因为这个页面刷新量比较大,虽然被cache 了,我还是想办法进行页面的缓存,感觉用jsp 产生的html静态内容当缓存,页面访
-
JSP生成静态页实践及其设计思想[转]
引子:我们以两个大型网站为例作比较:51job和智联招聘(先声明我不是为他们作广告,仅以他们为例作技术上的比较)51job采用的是比较"先进"的php技术,而智联用的是比较落后的asp.但我们可能会明显的感觉到51job的反应速度相比智联招聘实在是太慢了,为什么会这样?细心的人可能会察觉到了.智联虽然用的是asp,但他采用了另一种更巧妙的技术--asp生成静态页技术.所有的动态页基本上都转换成了html静态页,不用访问数据库,当然反应快了.下面我们讨论一下jsp怎么转换成html??首
-
用JSP生成静态页面
主要原理请参考http://blog.hunan2s.com/article.asp?id=233 经过一翻调试,成功了..呵 附上源码.. JDK 1.5 +ECLIPSE +TOMCAT 5.0.28 + MYSQL 5.0 数据库TEST ,表名news 字段: id int 自动增长 , Title varchar(20) , Content varchar(200) , Author varchar(10) makeFile.jsp <% Connection conn
-
jsp生成静态页面的方法
复制代码 代码如下: import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletContext;
-
jsp中include指令静态导入和动态导入的区别详解
1.什么是静态导入? 静态导入指的是,将一个外部文件嵌入到当前JSP文件中,同时解析这个页面的JSP语句,它会把目标页面的其他编译指令也包含进来.include的静态导入指令使用语法: 复制代码 代码如下: <%@include file="relativeURLSpec"%> 静态导入使用范例include1.jsp: 复制代码 代码如下: <%@ page contentType="text/html; charset=utf-8" langu
-
JSP页面的动态包含和静态包含示例及介绍
一.静态包含 本文介绍JSP静态包含语句,即使用JSP的include指令来完成的包含操作. JSP中,有两种包含其它文件的方式,一种是静态包含,一种是动态包含.本文介绍其中的静态包含. 所谓静态包含,跟ASP中的包含是一样的效果,即将所有包含的文件,先静态的包含进来,组成一个大的JSP文件,然后再经过编译器统一编译,生成HTML代码. JSP静态包含的语句为: 复制代码 代码如下: <%@ include file="file.jsp" %> 这里的file.jsp就是要
-
在JSP页面中动态生成图片验证码的方法实例
在JSP页面中动态生成图片验证码 <%@ page language="java" pageEncoding="UTF-8"%> <%@ page import="java.awt.*,java.awt.image.*,com.sun.image.codec.jpeg.*,java.util.*" %> <%@ taglib http://struts.apache.org/tags-bean">ht
-
JSP中动态include与静态include的区别介绍
动态INCLUDE 用法:<jsp:include page="included.jsp" flush="true" /> 说明:它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数,先编译之后再进行处理. 原因:1.静态include的结果是把其他jsp引入当前jsp,两者合为一体. 2.静态include纯粹是把代码写在外面的一种共享方法,所有的变量都是可以和include它的主文件共享,两者高度紧密结合,不能有变量同名的冲突.而页面设
-
动态库调用静态库示例讲解
生成动态库: 需要的目标文件得用-fPIC选项生成. 而静态库所需的目标文件可以不用-fPIC选项. 例: 复制代码 代码如下: /////// static.h void static_print(); ///////static.cpp #include <iostream> #include "static.h" void static_print() { std::cout<<"This is static_print function&quo
-
使用java将动态网页生成静态网页示例
复制代码 代码如下: package com.tools;import java.io.*;import java.net.URL; /** * Title:动态页面静态化 */public class GoToHtml {/** * * @param page * 存放静态页面的本地文件路径(c,d,e,f,g) * @param url_addr * 所要生成的静态页的URL地址(http://) * @return */public boole
-
用jsp页面生成随机的验证数字码示例
checkNum.jsp 复制代码 代码如下: <%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%> <%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,javax.imageio.*"%>
-
Android的广播Receiver动态注册和静态注册示例
广播接收器注册一共有两种形式 : 静态注册和动态注册. 两者及其接收广播的区别: 1.动态注册的广播 永远要快于 静态注册的广播,不管静态注册的优先级设置的多高,不管动态注册的优先级有多低. 2.动态注册广播不是 常驻型广播 ,也就是说广播跟随activity的生命周期.注意: 在activity结束前,移除广播接收器. 静态注册是常驻型 ,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行. 3.在同一个优先级下,谁先启动的快,谁将先接收到广播. 下面这个Demo,界面如下
-
jsp页面获取服务器时间的简单调用示例
Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int day= c.get(Calendar.DAY); 这三行加在<% %>里面 调用时用<%= year %><%= month%><%= day%>
-
JSP页面的静态包含和动态包含使用方法
JSP中有两种包含:静态包含:<%@include file="被包含页面"%>和动态包含:<jsp:include page="被包含页面"flush="true">.下面以一个例子来说明如何使用包含. 实例: 项目文件树: header.jsp文件中内容: <html> <head> <meta http-equiv="Content-Type" content=&qu
随机推荐
- 详解Spring的核心机制依赖注入
- 浅析正则表达式-替换原则(.NET) 图文
- JSON格式化输出
- JS+CSS实现的经典tab选项卡效果代码
- jQuery学习笔记之 Ajax操作篇(二) - 数据传递
- 基于php实现七牛抓取远程图片
- python中reduce()函数的使用方法示例
- Java多线程中关于join方法的使用实例解析
- C#操作SQLite数据库帮助类详解
- PHP 字符串操作入门教程
- nodejs中简单实现Javascript Promise机制的实例
- js同源策略详解
- Python中的random()方法的使用介绍
- jQuery 常用代码集锦(必看篇)
- 遍历json获得数据的几种方法小结
- 从零学习node.js之模块规范(一)
- 买电脑应当看清数字后面的数字!!
- Python随机生成带特殊字符的密码
- java两种单例模式用法分析
- Android编程图片加载类ImageLoader定义与用法实例分析