当前位置:文档之家› jsp自定义标签实例

jsp自定义标签实例

jsp自定义标签实例
jsp自定义标签实例

jsp自定义标签实例

JSP自定义标签。在自定义标签的起始和结束标签之间的部分为标签体(Body)。

标签处理程序类:定义标签的行为,并在JSP引擎遇到自定义标签时调用执行。

标签库描述符(TLD)文件:描述标签库的XML文档,向JSP引擎提供有关自定义标签的标签处理程序的信息。tag标签相关属性:实现简单标签处理程序标签处理程序是一个在运行时调用的Java类,它包含在JSP文件中使用的自定义标签的实现代码.标签处理程序必须实现或扩展javax.servlet.jsp.tagext包中的类和接口.javax.servlet.jsp.tagext含有允许标签处理程序类与JSP容器通信的接口和类。

最近在项目中要用到这种技术,所以自己就写一个经典的HelloWorld实例:其实对自定义标签已经早有接触了(Struts中使用了很多自定义标签,如html、bean等)使用这种技术的优点:取代了JSP中的Java程序,并且可以重复使用,方便不熟悉Java编程的网页设计人员。

实现步骤:

首先启动eclipse,新建一个web项目(废话...)

1、修改web.xml文件,增加自定义标签支持。

Java代码

2、创建标签库TLD文件tlds\helloworld.tld 。

Java代码

这里注意:web.xml和xxx.tld这两个XML文件的头信息的版本匹配很重要,否则会导致页面报错找不到标签。

3、创建标签处理程序类HelloWorldTag(重写doStartTag和doEndTag方法)。

Java代码

补充:

doStartTag()方法是遇到标签开始时会呼叫的方法,其合法的返回值是EVAL_BODY_INCLUDE与

SKIP_BODY,前者表示将显示标签间的文字,后者表示不显示标签间的文字。

doEndTag()方法是在遇到标签结束时呼叫的方法,其合法的返回值是EVAL_PAGE与SKIP_PAGE,前者表示处理完标签后继续执行以下的JSP网页,后者是表示不处理接下来的JSP网页。

doAfterBody(),这个方法是在显示完标签间文字之后呼叫的,其返回值有EVAL_BODY_AGAIN与

SKIP_BODY,前者会再显示一次标签间的文字,后者则继续执行标签处理的下一步。

EVAL_BODY_INCLUDE:把Body读入存在的输出流中,doStartTag()函数可用。

EVAL_PAGE:继续处理页面,doEndTag()函数可用。

SKIP_BODY:忽略对Body的处理,doStartTag()和doAfterBody()函数可用。

SKIP_PAGE:忽略对余下页面的处理,doEndTag()函数可用。

EVAL_BODY_BUFFERED:申请缓冲区,由setBodyContent()函数得到的BodyContent对象来处理tag的body,如果类实现了BodyTag,那么doStartTag()可用,否则非法。

EVAL_BODY_AGAIN:请求继续处理body,返回自doAfterBody(),这个返回值在你制作循环tag的时候是很有用的。

预定的处理顺序是:doStartTag()返回SKIP_BODY,doAfterBodyTag()返回SKIP_BODY,doEndTag()返回EVAL_PAGE。如果继承了TagSupport之后,如果没有改写任何的方法,标签处理的执行顺序是:doStartTag() ->不显示文字->doEndTag()->执行接下来的网页。如果您改写了doStartTag(),则必须指定返回值,如果指定了EVAL_BODY_INCLUDE,则执行顺序是:doStartTag()->显示文字->doAfterBodyTag()->doEndTag()->执行下面的网页。

4、最终测试页面hello.jsp 。

Java代码

实例完成,HelloWorld再现江湖!!!

jsp-servlet题库(附答案)

1.B 编写一个Filter,需要() A. 继承Filter 类 B. 实现Filter 接口 C. 继承HttpFilter 类 D. 实现HttpFilter接口 2.D 自定义标签的配置文件放在________ A. WebRoot B. lib C. classes D. WEB-INF 3. ABC 有关会话跟踪技术描述正确的是( )(多选) A. Cookie是Web服务器发送给客户端的一小段信息,客户端请求时,可以读取该信息发送到服务器端。 B. 关闭浏览器意味着会话ID丢失,但所有与原会话关联的会话数据仍保留在服务器上,直至会话过期。 C. 在禁用Cookie时可以使用URL重写技术跟踪会话。 D. 隐藏表单域将字段添加到HTML表单并在客户端浏览器中显示。 4.C 在J2EE中,重定向到另一个页面,以下()语句是正确的 A. request . sendRedirect(“http :// www . svse . com . cn”); B. request . sendRedirect(); C. response . sendRedirect(“http: // www . svse . com . cn”); D. response .sendRedirect(); 5.B EL表达式,${10 mod 3},执行结果为( ) A. 10 mod 3 B. 1 C. 3 D. null 6. C 自定义标签的作用是( ) A. 编写和使用方便 B. 规定是这样的,如果不用,别人会说我们不专业 C. 可以减少jsp中的java代码,将代码与界面标签分离,简化前台开发 D. 连数据库 7.B request.getRequestDispatcher().forward(request,response)称之为( ) A. 流转 B. 转发 C. 重定向 D. 导航 8. BCD 有关Servlet的生命周期说法正确的有( ) (多选) A. Servlet的生命周期由Servlet实例控制。 B. init()方法在创建完Servlet实例后对其进行初始化,传递的参数为实现ServletContext 接口的对象。 C. service()方法响应客户端发出的请求。 D. destroy()方法释放Servlet实例。 9.B 在J2EE中,给定某Servlet的代码如下,编译运行该文件,以下陈述正确的是()。(选择一项) Public class Servlet1 extends HttpServlet{ public void init() throws ServletException{ } public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("hello!"); } A. 编译该文件时会提示缺少doGet()或者dopost()方法,编译不能够成功通过 B. 编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中会看到输出文字:hello!

在JSP中用自定义标签实现集合的遍历—山寨版cforeach

【文章标题】在JSP中用自定义标签实现集合的遍历——山寨版 【文章作者】曾健生 【作者邮箱】zengjiansheng1@https://www.doczj.com/doc/3d7679704.html, 【作者QQ】190678908 ******************************************************************************* 在JSTL中,标签可方便地遍历集合或数组,在了解了自定义标签后,可动手实现标签的功能。 在编写自定义标签前,总要把实验环境搭建好^-^ 首先,定义一个Person类,在实验的集合中就是存放这个类的实例,代码如下:package com.javaeye.newjueqi; /** *实验类Person */ public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { https://www.doczj.com/doc/3d7679704.html, = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } 既然是遍历集合,那么集合也是必须的,我们在测试页面TestMyELTag.jsp上写下如下的JSP代码,生成一个测试用途的集合ArrayList,集合中有三个元素 <% //第1个人对象 Person p1=new Person(); p1.setName("Tom"); p1.setAge(23); //第2个人对象 Person p2=new Person(); p2.setName("Mike");

JSP的3个编译指令、7个动作指令

JSP的3个编译指令、7个动作指令 3个编译指令:page、include、taglib JSP的编译指令是通知JSP引擎(Tomcat、WebLogic)的消息,它不直接生成输出。 JSP引擎的工作原理: 当一个JSP页面第一次被访问的时候,JSP引擎将执行以下步骤: (1)将JSP页面翻译成一个Servlet,这个Servlet是一个java文件,同时也是一个完整的java程序 (2)JSP引擎调用java编译器对这个Servlet进行编译,得到可执行文件class (3)JSP引擎调用java虚拟机来解释执行class文件,生成向客户端发送的应答,然后发送给客户端 以上三个步骤仅仅在JSP页面第一次被访问时才会执行,以后的访问速度会因为class文件已经生成而大大提高。当JSP引擎街道一个客户端的访问请求时,首先判断请求的JSP页面是否比对应的Servlet新,如果新,对应的JSP需要重新编译。 编译指令都有其默认值,因此无须为每个指令设置其值。 常见的编译指令有3个: (1)、page:是针对当前页面的指令; (2)、include:用于指定包含另一个页面; (3)、taglib:用于定义和访问自定义标签。 使用编译指定的语法格式如下: <%@ 编译指令名属性1="属性值" 属性2="属性值" ...%>

1、page指令: 是针对当前页面的指令,通常位于JSP页面的顶端,一个JSP页面可以使用多page指令。 常用的page指令如下的格式: <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %> <%@ page import="java.sql.*" %> 常用的page的属性如下: (1)、contentType:用于设定生成网页的文件格式和编码字符集,即MIME类型和页面字符集类型,默认MIME类型是text/html,默认的字符集类型 为:ISO-8859-1; (2)、language:声明当前JSP页面使用的脚本语言的种类,因为页面是JSP页面,所以该属性的值通常都是java。 (3)、errorPage:指定错误处理页面,如果本页面产生了异常或者错误,而该页面没有对应的处理代码,则会自动调用该属性指定的JSP页面; (4)、pageEncoding:指定生成网页的编码字符集; (5)、import:用于导入包。下面几个包是默认自动导入的,不需要显示导入。默认导入的包有:https://www.doczj.com/doc/3d7679704.html,ng.*、javax.servlet.*、javax.servlet.jsp.*、javax.servlet.http.*; 2、include指令: 语法格式为:<%@ include file="要包含的页面路径" %> jsp中有两种包含模式,一种是<%@ include file="要包含的页面路径" %>,这种叫静态包含; 另一种是 ,这叫做动态包含。

java笔试题127

选择器 第1题. 编写一个Filter,需要() A. 继承Filter 类 B. 实现Filter 接口 C. 继承HttpFilter 类 D. 实现HttpFilter接口 正确答案为:B 第2题. 自定义标签的配置文件放在________ A. WebRoot B. lib C. classes D. WEB-INF 正确答案为:D 第3题. 在J2EE中,重定向到另一个页面,以下()语句是正确的 A. request . sendRedirect(“http :// www . svse . com . cn”); B. request . sendRedirect(); C. response . sendRedirect(“http: // www . svse . com . cn”); D. response .sendRedirect(); 正确答案为:C 第4题. 自定义标签的作用是 A. 编写和使用方便 B. 规定是这样的,如果不用,别人会说我们不专业 C. 可以减少jsp中的java代码,将代码与界面标签分离,简化前台开发 D. 连数据库 正确答案为:C 第5题. request.getRequestDispatcher().forward(request,response)称之为 A. 流转 B. 转发 C. 重定向 D. 导航 正确答案为:B

第6题. 在J2EE中,给定某Servlet的代码如下,编译运行该文件,以下陈述正确的是()。(选择一项) Public class Servlet1 extends HttpServlet{ Publicvoid init() throws ServletException{ } Publicvoid service(HttpServletRequest request,HttpServletResponse response) ThrowsServletException,IOException{ PrintWriterout = response.getWriter(); out.println(“hello!”); } } A. 编译该文件时会提示缺少doGet()或者dopost()方法,编译不能够成功通过 B. 编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中会看到输出文字:hello! C. 编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中看不到任何输出的文字 D. 编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中会看到运行期错误信息 正确答案为:B 第7题. 在Servlet中,response.getWriter()返回的是____________ A. JspWriter对象 B. PrintWriter对象 C. Out对象 D. ResponseWriter对象 正确答案为:B 第8题. 在web.xml中使用___________标签配置过滤器 A. B. C. D. 正确答案为:A 第9题. 自定义标签的描述文件在web.xml中配置正确的

JavaEE自定义标签(DOC)

JavaEE自定义标签:标签类的创建、tld配置文件的创建(位置、如何创建)、Web-XML配置、JSP应用 1、标签 以类似于html标签的方式实现的java代码的封装。 第一:形成了开发标签的技术标准---自定义标签的技术标准。 第二:java标准标签库(sun之前自己开发的一系列的标签的集合)jstl,以及表达式语言E L。 2、自定义标签 (1)理解: 可以允许用户自己根据自己的需要,去开发自己的标签的技术规范。 通俗:在Jsp页面上,以简单的标签封装java代码的操作。 //在自定义标签类中,先调用setPageContext()实例化内置对象: //然后是doStartTag()方法,核心代码放在这个方法里面:

//定义变量,变量的Get、Set方法: private String UserName = "";

//tld配置文件放置在WEB-INF目录下,主要的标记如下,主要的配置如下: //前面tlib-version版本号、Jsp-version JSP的版本号、short-name 命名空间、是必须有的 //uri,注意是uri而不是url,url是访问的路径。 //而uri为访问时候的别名,写在JSP页面上的标签的别名。 //name为此标签类的别名,tag-class 为标签类的存放的物理路径 //body-content 为是否有标签体,如果是/子关闭标签设置为EMPTY //如果涉及到标签属性,可以设置attribute,其中name为属性的名称,而不是别名,required 属性是否必须设置,rtexprvalue 是否程序运行时候为属性赋值。 //如果在tld文件中不设置uri,则在web-xml中必须对talib-uri进行设置。

自定义标签库

JSP标签库(也称自定义库)可看成是一套产生基于XML脚本的方法,它经由JavaBeans来支持。在概念上说,标签库是非常简单和可以重用的代码构造。 自定义标签有着丰富的特点,它们可以: 1.可以通过调用页面传递的属性进行自定义; 2.可以访问对于JSP页面可能的所有对象; 3.可以修改由调用页面产生的响应。 4.可以相互间通信。你可以创建并初始化一个JavaBean组件,创建一个变量引用标签中的bean,接着在其它的标签中引用该bean. 5.可以在一个标签中嵌套另一个,可以在JSP页面中进行复杂的交互。自定义标签为在JSP项目中创建易于重用的代码打开了一扇大门。你所需要的只是标签库和它的文档说明。 通过实现接口或者继承现有的类,我们就可以开发自定义的标签。常用的接口有:

TagSupport类 该类是IterationTag的缺省实现。除了实现原有方法外,本身还增加了一些有用的其他方法和成员变量。下表列出其中重要的几个:

BodyTagSupport类 该类同时继承了TagSupport类,并实现BodyTag接口。除了前表所示方法,该类还提供了一些其它方法便于使用。 实现Tag接口 所有的标签处理器都需要间接或直接的实现这个接口。 下面列出Tag接口定义的方法和常量:

setPageContext()方法 setPageContext()方法是一个定制标签声明周期内第一个要被调用的方法。完整写法是: public void setPageContext(PageContext); jsp引擎会将jsp页转换时隐含创建的pageContext对象,作为参数,调用setPageContext方法。 通常的做法会将这个参数保存为本标记处理器的参数。 setParent()和getParent()方法 当标签嵌套使用时,外层的标签被成为父标签,内部的被称为子标签。完整的写法是: public void setParent(Tag); public Tag getParent(); 其中setParent方法对父标签对象进行设置。而getParent方法用以获得父标签对象。

JSP课后习题答案

JSP课后习题答案 单元3 课本60页课后练习 填空题 1、tomcat服务器的默认端口是:8080 2、静态网页的内容是相对固定的,而动态网页的内容是随着访问时间的访问者发生变化。(填:动态网页或静态网页) 3、在tomcat成功安装和启动后,可以在浏览器中输入http://localhost:8080来测试安装配置是否正常。 4、在WEB-INF下必须有一个XML文件是web.xml 选择题 1、B 2、D 3、A 4、D 单元4 课本87页课后练习 填空题 1、脚本程序是一段在客户端请求时需要先被服务器执行的java 代码,它可以产生输出,同时也是一段流控制语句。 2、在jsp的3种指令中,用来定义与页面相关的指令是Page指令;用于在jsp页面中包含另一个文件的指令是Include指令(静态包含);用来定义一个标签库以及其自定义标签前缀的指令是Taglib指令。 3、动作元素允许在页面被请求时包含一些其他资源,如一个静态的HTML文件和动态的JSP文件。

4、Page指令的MIME类型的默认值为text/html,默认字符集是iso-8859-1 。 5、Jsp的隐藏注释格式为<%-- --%>或者<%--comment--%> Jsp的输出注释的格式是。 选择题 1、A 2、A 3、D 4、C 5、B 6、D 简答题(答案在课本79页) 请查阅资料并结合课堂上所讲内容,阐述include静态包含和动态包含指令的区别。 答:动态include指令是在执行时才将对包含的文件进行处理,要进行编译,可以带参数;静态的include的指令是简单的将两个文件进行合并,使其成为一个新的文件。 单元5 课本130页课后练习 填空题 1、在jsp内置对象中,用于请求相关的对象是Request对象。该对象可以使用getParameter(String s)方法来获取表单元素提交的信息。 2、Response对象中用来动态改变contentType 实型的方法是setContentType() 3、Session对象封装了属于客户会话的所有信息,该对象可以使用setAttribute()方法来设置指定名字的属性。

自定义标签(Custom Tag)

一、概述 JSP中有一块重要的技术:自定义标签(Custom Tag),最近这几天在学习Struts的时候发现Struts中使用了很多自定义标签,如html、bean等。所以我就做了个简单的试验,学习一下这种技术。 首先介绍一下这种技术吧! 1.优点: 取代了JSP中的Java程序,并且可以重复使用,方便不熟悉Java编程的网页设计人员。 2.开发流程: (1)编写JSP,在JSP中使用自定义标签。 (2)在web.xml中指定JSP中使用的标签的.tld(标签库描述文件)文件的位置。 (3) .tld文件中指定标签使用的类。 3. 自定义标签的分类: (1)简单标签:如< mytag:helloworld/> (2)带属性标签:如”/> (3)带标签体的标签: 在自定义标签的起始和结束标签之间的部分为标签体(Body)。Body的内容可以是JSP中的标准标签,也可以是HTML、脚本语言或其他的自定义标签。 ”> (4)可以被Script使用的标签: 定义了id和type属性的标签可以被标签后面的Scriptlet使用。 <%oraDB.getConnection(); %> 4.接口及其他

jsp自定义标签实例

jsp自定义标签实例 JSP自定义标签。在自定义标签的起始和结束标签之间的部分为标签体(Body)。 标签处理程序类:定义标签的行为,并在JSP引擎遇到自定义标签时调用执行。 标签库描述符(TLD)文件:描述标签库的XML文档,向JSP引擎提供有关自定义标签的标签处理程序的信息。tag标签相关属性:实现简单标签处理程序标签处理程序是一个在运行时调用的Java类,它包含在JSP文件中使用的自定义标签的实现代码.标签处理程序必须实现或扩展javax.servlet.jsp.tagext包中的类和接口.javax.servlet.jsp.tagext含有允许标签处理程序类与JSP容器通信的接口和类。 最近在项目中要用到这种技术,所以自己就写一个经典的HelloWorld实例:其实对自定义标签已经早有接触了(Struts中使用了很多自定义标签,如html、bean等)使用这种技术的优点:取代了JSP中的Java程序,并且可以重复使用,方便不熟悉Java编程的网页设计人员。 实现步骤: 首先启动eclipse,新建一个web项目(废话...) 1、修改web.xml文件,增加自定义标签支持。 Java代码 2、创建标签库TLD文件tlds\helloworld.tld 。 Java代码 这里注意:web.xml和xxx.tld这两个XML文件的头信息的版本匹配很重要,否则会导致页面报错找不到标签。

3、创建标签处理程序类HelloWorldTag(重写doStartTag和doEndTag方法)。 Java代码 补充: doStartTag()方法是遇到标签开始时会呼叫的方法,其合法的返回值是EVAL_BODY_INCLUDE与 SKIP_BODY,前者表示将显示标签间的文字,后者表示不显示标签间的文字。 doEndTag()方法是在遇到标签结束时呼叫的方法,其合法的返回值是EVAL_PAGE与SKIP_PAGE,前者表示处理完标签后继续执行以下的JSP网页,后者是表示不处理接下来的JSP网页。 doAfterBody(),这个方法是在显示完标签间文字之后呼叫的,其返回值有EVAL_BODY_AGAIN与 SKIP_BODY,前者会再显示一次标签间的文字,后者则继续执行标签处理的下一步。 EVAL_BODY_INCLUDE:把Body读入存在的输出流中,doStartTag()函数可用。 EVAL_PAGE:继续处理页面,doEndTag()函数可用。 SKIP_BODY:忽略对Body的处理,doStartTag()和doAfterBody()函数可用。 SKIP_PAGE:忽略对余下页面的处理,doEndTag()函数可用。 EVAL_BODY_BUFFERED:申请缓冲区,由setBodyContent()函数得到的BodyContent对象来处理tag的body,如果类实现了BodyTag,那么doStartTag()可用,否则非法。

自定义标签的整理(新手教程)

在J2EE项目中,JSP页面常常通过在静态页面模板中嵌入scriptlets来插入动态的内容。 然而,随着复杂程序的增加,JSP页面也变得难于管理。虽然用这种方法开发小形项目唾手可得, 但是scriptlets仍然要面对下面的不利情况: Scriptlet难于阅读和修改。带有Scriptlets的JSP 页面混合了两种语言,这使得阅读和维护变得很困难。 Scriptlets鼓励了将数据表现和逻辑处理的混合。JSP 页面主要功能是数据表现而不是逻辑处理。逻辑处理属于Java类的工作,他们应该由程序员维护并能够重用。 Scriptlets不能够被重用。当scriptlets被重用时,常常是鼓励拷贝-粘贴来达到重用的效果,这是一种危险的维护方法。每一次你拷贝-粘贴scriptlets时,将有更多行多余的代码需要维护。 Scriptlets的参数很难进行确定传递. 无论如何,绝大数人简单的拷贝,粘贴、编辑或者类似的增加,使得大部份的多余的代码需要更多的维护。 与其创建充满了scriptlets的巨大的JSP页面,不如考虑使用用户自定义标签。用户自定义标签允许你创建、在JSP中使用你自己定义的类HTML标签。每当JSP引擎遇到用户自定义标签时,就会自动查找标签处理类,并自动调用他。页面中的自定义标签将会被票签处理类的输出所代替。这就

使得JSP页面不用直接在页面写Java代码,就可以指定生成动态的内容的。 用户自定义标签为你的网页设计提供了N种好处:他提高了页面代码的可读性。页面设计人员而不是程序员,能够使用很比使用Scriptlets更容易的使用标签。维护代码的程序员也只需个性标签库面不是JSP页面,这样他就不要再冒着破坏页面美观的风险。在使用标签的每一处,增强或者固定的标签改变了标签了的表现。标签比Scriptlets更容易确定参数,因为他会被作为一种属性或者在标签体内被传达。最后,标签比Scriptlets高度的可重用性,因为你可以创建共享的、可重用的自定义标签库。 JSTL提供的就是这种标准的自定义标签集。 让我们通过看一个简单的JSP页面例子,来看看如何使用自定义标签。下面这个页面使用scriptlet来得到数据: <%@ page import="java.text.SimpleDateFormat" %> <%@ page import="java.util.Date" %> Sample JSP

The date and time at the server are: <% String sformat = "EEEE, d MMMM yyyy 'at' kk:mm:ss z"; SimpleDateFormat format = new SimpleDateFormat(sformat); Date date = new Date(); String sdate = format.format(date); out.print(sdate); %>

JSP自定义标签详细

JSP标签库 在这篇文章中,我们主要讨论: ·什么是自定义tag标签? ·怎么使用tag标签? o 声明要使用的tag库 o 找到与之对应的tag处理类 o tag标签的类型 ·自定义tag标签 o tag处理类 o tag库描述 o tag标签示例 o 带属性的tag o 带body的tag o 定义了脚本变量的tag o 具有协作关系的tag ·自定义tag标签 o 一个迭代tag的例子 o 一个模板tag库 o tag处理类到底是怎样被调用的? 什么是自定义的tag? 一个自定义的tag标签是用户定义的一种JSP标记。当一个含有自定义的tag标签的JSP页面被jsp引擎编译成servlet时,tag标签被转化成了对一个称为tag处理类的对象进行的操作。于是当JSP页面被jsp 引擎转化为servlet后,实际上tag标签被转化成为了对tag处理类的操作。 自定义tag标签有很多特色,诸如: ·可以在JSP页面中自定义tag标签的属性 ·访问JSP页面中的所有对象 ·可以动态地修改页面输出 ·彼此这间可以相互通信。你可以先创建一个JavaBeans组件,然后在一个tag中调用此JavaBeans 组件,同时可以在另一个tag中调用它。 ·tag允许相互嵌套,可以在一个JSP页面中完成一些复杂的交互。 使用tag标签 本节主要描述怎样在JSP页面中使用tag标签,以及tag标签的不同类型。 要使用tag标签,JSP程序员必须做2件事: ·声明此tag标签的tag库 ·实现此tag标签 声明tag标签所在的tag库 如果要使用tag标签,则应用JSP的taglib指示符来指定其tag库(注意:taglib要在在使用此tag标

jsp页面符号指令

JSP页面的<%@ ...%> 这表示是指令,主要用来提供整个JSP网页相关的信息,并且用来设定JSP 网页的相关属性。例如:网页的编码方式、语法、信息等。 起始符号为:<%@ 终止符号为:%> 目前有三种指令:page、include和taglib,每一种指令都有各自的属性。 page指令是最复杂的JSP指令,它的主要功能为设定整个JSP网页的属性和相关功能。 include指令表示:在JSP编译时插入一个包含文本或代码的文件,这个包含的过程是静态的,而包含的文件可以是JSP网页、HTML网页、文本文件,或是一段Java程序。 taglib指令能够让用户自定义新的标签。 JSP页面的<% ...%> jsp中如果要写java代码就要用<% %>来给括起来。 这是jsp的语法格式,此外还有很多,如: jsp指令<%@ %> jsp声明<%! %> jsp表达式<%= %> jsp注释<%-- --%> jsp里的java代码<%java代码%> request的常用方法 request.getSchema()可以返回当前页面使用的协议,http 或是https; request.getServerName()可以返回当前页面所在的服务器的名字; request.getServerPort()可以返回当前页面所在的服务器使用的端口,就是8080;

request.getContextPath()可以返回当前页面所在的应用的名字。 清除浏览器中的缓存 清除浏览器中的缓存,三行语句合起来用,就可以使你再次进入曾经访问过的页面时,ie浏览器必须从服务端下载最新的内容,达到刷新的效果。meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的与中。 是用于设定禁止浏览器从本地机的缓存中调阅页面内容,设定后一旦离开网页就无法从Cache中再调出;

JSP考试题

针对以下题目请选择正确的答案 1)在JSP中,要定义一个方法,需要用到以下()元素。(选择一项)a) <%= %> b) <% %> c) <%! %> d) <%@ %> 2)JSP页面经过编译之后,将创建一个()。(选择一项) a) applet b) servlet c) application d) exe文件3)当JSP页面执行自定义标签,遇到结束标签时将调用()方法执行处理。 a) doStartTag() b) doEndTag() c) doInitBody() d) doAfterBody() 4) 在J2EE中,test.jsp文件中有如下一行代码:(选择一项) 要使user对象中一直存在于对话中,直至其终止或被删除为止,下划线中应填入()。 a) page b) request c) session d) application 5) 在J2EE中,以下不是JSP隐式对象的是()。(选择一项) a) pageContext b) context c) application d) out 6) Servlet中,HttpServletResponse的()方法用来把一个Http请求重定向到另外的URL。(选择一项) a) sendURL() b) redirectURL() c) sendRedirect() d) redirectResponse() 7) 在JSP中,page指令的()属性用来引入需要的包或类。 a) extends b) import c) languge d) contentType

jsp简答题

1.JSP的特点及工作原理(执行过程) JSP运行原理解释:JSP 的执行过程主要包括以下步骤: 1.客户端发出Request请求; 2.JSP 容器将JSP 转译成Servlet 的源代码; 3.将产生的Servlet 的源代码经过编译后,并加载到内存执行; 4.把结果Response 响应至客户端。 5. JSP页面首次访问速度慢,之后访问速度快(直接将内存中首次加载的结果返回) 2.JSP指令标签有哪些及作用 指令标记是为JSP引擎而设计的,它向JSP引擎发送消息,告诉引擎如何处理其余JSP页面,它并不会直接产生任何看得见的输出。 指令的语法形式为:<%@ 指令%> 指令主要包括:page 指令、include 指令和taglib指令。 (1<%@page %>指令用来设置整个JSP页面的相关属性和功能 page指令可以在JSP页面的任何地方、以任何顺序出现,而且一个页面可以包含任意数量的page指令。 为了程序的可读性以及好的编程习惯,最好还是把它放在JSP页面的顶部。 (2 include指令的语法形式为: <%@ include file="relativeURL" %> 该指令的作用是在JSP页面中该指令出现的位置静态插入一个文件。 所谓静态插入,是指当前的JSP页面和被嵌入的文件合并成一个新的JSP页面,然后JSP 引擎再将这个新页面转换成Servlet。 include指令能让页面内容分成几个组成部分分别管理。实现多个文件共享同一个文件。(3taglib指令:代码复用是衡量软件可维护性的重要标志之一。 一个web应用中可能有许多JSP页面需要使用某些相同的信息 JSP页面可以通过自定义标记使用一种特殊的文件Tag文件(标记文件),将需要重复使用的代码编写成Tag文件就可以实现代码复用 Tag文件的结构和JSP文件相同,只是文件扩展名为.tag 3.在JSP文件中注释种类及区别 (1)客户端注释使用HTML标签“”创建的 语法形式: 客户端注释类似于普通的HTML注释,唯一的不同在于,可以在这种JSP注释中加入特定

JSP的三大指令 七大动作 九大对象

JSP的三大指令七大动作九大对象 JSP的三个编译指令 Page:该指令是针对当前页面的指令<%@ page [Attribute="Value"] %> language:声明当前jsp页面使用的脚本语言的种类,通常是java,默认是java,无需设置 extends:指定jsp编译产生的类继承的父类,或者实现的接口 import:用于导入包,默认已经导入的包有 https://www.doczj.com/doc/3d7679704.html,ng.*,javax.servlet.*,javax.servlet.jsp.*,javax.servlet.http.* session:设定这个jsp页面是否需要HttpSession buffer:指定输出缓冲区的大小 autoflush:当缓冲区即将溢出时,是否自动强制输出缓冲区的内容 info:设置该JSp程序的信息,采用Servlet.getServletInfo()获取该值 errorPage:指定错误处理页 isErrorPage:设置本JSp是否为错误处理程序 ContentType:用于设定生成网页的文件格式和编码格式 include:用于指定包含另一个页面<%@include file="path"%> taglib:用于定义和访问自定义标签 JSP的7个动作指令 jsp:forward 执行页面转向,将请求的处理交给下一个页面 常和param指令一起 jsp:param 用于传递参数,必须与其他支持参数的标签一起使用 jsp:include 用于动态引入一个jsp页面 也可以在标签内向引用页面传递param jsp:plugin 用于下载javaBean 或Applet到客户端执行 jsp:useBean 创建一个javaBean实例 scope属性:page:该javaBean实例仅在本页面有效 request: 仅本次请求有效 session:在本次session有效

JSP技术基础习题

第一章 JSP技术基础习题 一、选择题 1.当用户请求jsp页面时,JSP引擎就会执行该页面的字节码文件响应客户的请求,执行字节码文件的结果是() A)发送一个JSP源文件到客户端 B)发送一个Java文件到客户端 C)发送一个HTML页面到客户端 D)什么都不做。 2.当多个用户请求同一个JSP页面时,Tomcat服务器为每个客户启动一个()A)进程 B)线程 C)程序 D服务。 3.下列动态网页和静态网页的根本区别描述错误的是。() A)静态网页服务器端返回的HTML文件是事先存储好的 B)动态网页服务器端返回的HTML文件是程序生成的。 C)静态网页文件里只有HTML标记,没有程序代码。 D)动态网页中只有程序,不能有HTML代码。 4.不是JSP运行必须的是() A)操作系统 B)JavaJDK C)支持Jsp的Web服务器 D)数据库 5.URL是Internet中资源的命名机制,URL由三部分构成。() A)协议、主机DNS名或IP地址和文件名 B)主机、DNS名或IP地址和文件名、协议 C)协议、文件名、主机名 D)协议、文件名、IP地址 6.下列说法哪一项是正确的() A)Apache用于ASP技术所开发网站的服务器 B)IIS用于CGI技术所开发网站的服务器 C)Tomcat用于JSP技术所开发网站的服务器 D)WebLogic用于PHP技术所开发网站的服务器 7.Tomcat服务器的默认端口号是:() A)80 B)8080 C)21 D)2121 二、判断题 1.动态网页和静态网页的根本区别在于服务器端返回的HTML文件是事先存储好的还是由动态网页程序生成的。() 2.Internet和intranet的含义意义相同。() 3.互联网起源于美国国防部高级研究计划管理局建立的ARPA网。() 4.Web开发技术包括客户端和服务器端的技术。() 5.Tomcat和JDK都不是开源的。()

详细介绍JSP技术的两种架构模型

JSP和JavaBean模型将页面显示和业务逻辑处理分开。JSP实现页面显示,JavaBean对象用来保存数据和实现商业逻辑。 运用JSP/Servlet实现的web动态交互,主要采用JSP和JavaBean模型还有JSP和JavaBean+Servlet模型。本文分别介绍这两种模型,并比较它们的优缺点。 一。JSP和JavaBean模型 模型的结构如下图所示,称之为JSP和JavaBean模型。其工作原理是:当浏览器发出请求时,JSP接收请求并访问JavaBean.若需要访问数据库或后台服务器,则通过JavaBean 连接数据库或后台服务器,执行相应的处理。JavaBean将处理的结果数据交给JSP.JSP提取结果并重新组织后,动态生成HTML页面,返回给浏览器。用户从浏览器显示的页面中得到交互的结果。 JSP和JavaBean模型充分利用了JSP技术易于开发动态网页的特点,页面显示层的任务由JSP(但它也含事物逻辑层的内容)承担,JavaBean主要负责事务逻辑层和数据层的工作。JSP和JavaBean模型依靠几个JavaBean组件实现具体的应用功能,生成动态内容,起最大的特点就是简单。 二。JSP和JavaBean+Servlet模型 JSP和JavaBean+Servlet模型的体系结构如下图所示,称之为JSP和JavaBean和Servlet 模型。它是一种采用基于模型视图控制器(Model和View和Controller)的设计模型,即MVC模型。 该模型将JSP程序的功能分为3个层次:Model(模型)层、View(视图)层、Controller (控制器层)。Model层实现业务逻辑,包括了Web应用程序功能的核心,负责存储与应用程序相关的数据;View层用于用户界面的显示,它可以访问Model层的数据,但不能更改这些数据;Controller层主要负责Model和View层之间的控制关系。 具体实现时,JavaBean作为模型层,Servlet作为控制层,JSP作为视图层。每层的作用如下: 1.JavaBean作为Model层,实现各个具体的应用逻辑和功能。 2.Servlet作为Controller层,负责处理HTTP请求,包括: 对输入数据的检查和转换。 通过JavaBean访问数据库。 初始化JSP页面中要用到的JavaBean或对象。 根据处理中不同的分支和结果,决定转向那个JSP等。 3.JSP作为View层,负责生成交互后返回的界面。它主要通过信息共享,获取Servlet生成的对象或JavaBean,从中取出数据,插入到HTML页面中。 该模型的工作原理是:所有的请求都被发送给作为控制器的Servlet.Servlet接收请求,并

TLD文件配置详解jsp自定义标签

TLD文件配置详解(jsp自定义标签) TLD文件配置详解 write org.apache.struts.taglib.bean.WriteTag empty bundle false true 其中: write:这个Tag的名字 org.apache.struts.taglib.bean.WriteTag:这个Tag 是由那个类实现的(这个class可以在struts.jar包中找到) empty:这个Tag可以直接结尾,不需要填写内容 这里bodycontent有三个可选值 jsp 标签体由其他jsp元素组成 如果其有jsp元素,那么标签会先解释,然后将元素的实际值传入。比如标签体里含有<%=attributeName%>这样子的jsp元素,此时标

签会按attributeName的实际值是什么就传入什么。这个是最常用的一个。 empty 标签体必须为空 在引用这个Tag的时候,可以,而不必 tagdependent 由标签解释,不带jsp转换 这里标识的是这个Tag的一个参数 bundle这个参数的名字 false这个参数是否是必填相 如果为true则必须写这个参数,否则会报错 true是说这个标签的值可以写入 rtexprvalue:"RUN-TIME EXPRESSION VALUE",是否可以动态赋值,在jsp中如value="<%=attributeName%>"

相关主题
文本预览
相关文档 最新文档