- 浏览: 91126 次
文章分类
最新评论
不管是JSP还是Servlet,虽然都可以用于开发动态web资源。但由于这2门技术各自的特点,在长期的软件实践中,人们逐渐把servlet作为web应用中的控制器组件来使用,而把JSP技术作为数据显示模板来使用。其原因为,程序的数据通常要美化后再输出:让jsp既用java代码产生动态数据,又做美化会导致页面难以维护。让servlet既产生数据,又在里面嵌套html代码美化数据,同样也会导致程序可读性差,难以维护。因此最好的办法就是根据这两门技术的特点,让它们各自负责各的,servlet只负责响应请求产生数据,并把数据通过转发技术带给jsp,数据的显示jsp来做。
JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。
在JSP 2.0规范中共定义了三个指令:
page指令
Include指令
taglib指令
page指令用于定义JSP页面的各种属性,无论page指令出现在JSP页面中的什么地方,它作用的都是整个JSP页面,为了保持程序的可读性和遵循良好的编程习惯,page指令最好是放在整个JSP页面的起始位置。
JSP 2.0规范中定义的page指令的完整语法:
在JSP中对于包含有两种语句形式:
@include指令
<jsp:include>指令
@include指令
@include可以包含任意的文件,当然,只是把文件的内容包含进来。
include指令用于引入其它JSP页面,如果使用include指令引入了其它JSP页面,那么JSP引擎将把这两个JSP翻译成一个servlet。所以include指令引入通常也称之为静态引入。
语法:<%@ include file="relativeURL"%>,其中的file属性用于指定被引入文件的路径。路径以“/”开头,表示代表当前web应用。
include指令细节注意问题:
被引入的文件必须遵循JSP语法。
被引入的文件可以使用任意的扩展名,即使其扩展名是html,JSP引擎也会按照处理jsp页面的方式处理它里面的内容,为了见明知意,JSP规范建议使用.jspf(JSP fragments(片段))作为静态引入文件的扩展名。
由于使用include指令将会涉及到2个JSP页面,并会把2个JSP翻译成一个servlet,所以这2个JSP页面的指令不能冲突(除了pageEncoding和导包除外)。
很有可能报异常的地方:
1、重复定义变量
使用@include可以包含任意的内容,文件的后缀是什么都无所谓。这种把别的文件内容包含到自身页面的@include语句就叫作静态包含,作用只是把别的页面内容包含进来,属于静态包含。
jsp:include指令为动态包含,如果被包含的页面是JSP,则先处理之后再将结果包含,而如果包含的是非*.jsp文件,则只是把文件内容静态包含进来,功能与@include类似。<jsp:include>标签是动态引入, <jsp:include>标签涉及到的2个JSP页面会被翻译成2个servlet,这2个servlet的内容在执行时进行合并。
而include指令是静态引入,涉及到的2个JSP页面会被翻译成一个servlet,其内容是在源文件级别进行合并。
jsp的内置对象:
1 pageContext javax.servlet.jsp.PageContext
2 request javax.servlet.http.HttpServletRequest
3 response javax.servlet.http.HttpServletResponse
4 session javax.servlet.http.HttpSession
5 application javax.servlet.ServletContext
6 config javax.servlet.ServletConfig
7 out javax.servlet.jsp.JspWriter
8 page java.lang.Object
9 exception java.lang.Throwable
jsp的常用标签有以下三个
<jsp:include>标签
<jsp:forward>标签
<jsp:param>标签
<jsp:forward>标签用于把请求转发给另外一个资源,此跳转属于服务器端跳转。只要是服务器端跳转,则地址栏永远没有变化。
当使用<jsp:include>和<jsp:forward>标签引入或将请求转发给其它资源时,可以使用<jsp:param>标签向这个资源传递参数。
<jsp:param name="parameterName" value="parameterValue|<%= expression %>" />
<jsp:param>标签的name属性用于指定参数名,value属性用于指定参数值。在 <jsp:include>和<jsp:forward>标签中可以使用多个<jsp:param>标签来传递多个参数。
接收parm:
<h2><%=request.getParameter("parm1")%></h2>
<h2><%=request.getParameter("parm2")%></h2>
JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。
在JSP 2.0规范中共定义了三个指令:
page指令
Include指令
taglib指令
page指令用于定义JSP页面的各种属性,无论page指令出现在JSP页面中的什么地方,它作用的都是整个JSP页面,为了保持程序的可读性和遵循良好的编程习惯,page指令最好是放在整个JSP页面的起始位置。
JSP 2.0规范中定义的page指令的完整语法:
<%@ page [ language="java" ] [ extends="package.class" ] [ import="{package.class | package.*}, ..." ] [ session="true | false" ] [ buffer="none | 8kb | sizekb" ] [ autoFlush="true | false" ] [ isThreadSafe="true | false" ] [ info="text" ] [ errorPage="relative_url" ] [ isErrorPage="true | false" ] [ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ] [ pageEncoding="characterSet | ISO-8859-1" ] [ isELIgnored="true | false" ] 15 %>
在JSP中对于包含有两种语句形式:
@include指令
<jsp:include>指令
@include指令
@include可以包含任意的文件,当然,只是把文件的内容包含进来。
include指令用于引入其它JSP页面,如果使用include指令引入了其它JSP页面,那么JSP引擎将把这两个JSP翻译成一个servlet。所以include指令引入通常也称之为静态引入。
语法:<%@ include file="relativeURL"%>,其中的file属性用于指定被引入文件的路径。路径以“/”开头,表示代表当前web应用。
include指令细节注意问题:
被引入的文件必须遵循JSP语法。
被引入的文件可以使用任意的扩展名,即使其扩展名是html,JSP引擎也会按照处理jsp页面的方式处理它里面的内容,为了见明知意,JSP规范建议使用.jspf(JSP fragments(片段))作为静态引入文件的扩展名。
由于使用include指令将会涉及到2个JSP页面,并会把2个JSP翻译成一个servlet,所以这2个JSP页面的指令不能冲突(除了pageEncoding和导包除外)。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 3 <html> 4 <head> 5 <title>jsp的Include指令测试</title> 6 </head> 7 8 <body> 9 <%--使用include标签引入引入其它JSP页面--%> 10 <%@include file="/jspfragments/head.jspf" %> 11 <h1>网页主体内容</h1> 12 <%@include file="/jspfragments/foot.jspf" %> 13 </body> 14 </html>
很有可能报异常的地方:
1、重复定义变量
使用@include可以包含任意的内容,文件的后缀是什么都无所谓。这种把别的文件内容包含到自身页面的@include语句就叫作静态包含,作用只是把别的页面内容包含进来,属于静态包含。
jsp:include指令为动态包含,如果被包含的页面是JSP,则先处理之后再将结果包含,而如果包含的是非*.jsp文件,则只是把文件内容静态包含进来,功能与@include类似。<jsp:include>标签是动态引入, <jsp:include>标签涉及到的2个JSP页面会被翻译成2个servlet,这2个servlet的内容在执行时进行合并。
而include指令是静态引入,涉及到的2个JSP页面会被翻译成一个servlet,其内容是在源文件级别进行合并。
jsp的内置对象:
1 pageContext javax.servlet.jsp.PageContext
2 request javax.servlet.http.HttpServletRequest
3 response javax.servlet.http.HttpServletResponse
4 session javax.servlet.http.HttpSession
5 application javax.servlet.ServletContext
6 config javax.servlet.ServletConfig
7 out javax.servlet.jsp.JspWriter
8 page java.lang.Object
9 exception java.lang.Throwable
jsp的常用标签有以下三个
<jsp:include>标签
<jsp:forward>标签
<jsp:param>标签
<jsp:forward>标签用于把请求转发给另外一个资源,此跳转属于服务器端跳转。只要是服务器端跳转,则地址栏永远没有变化。
当使用<jsp:include>和<jsp:forward>标签引入或将请求转发给其它资源时,可以使用<jsp:param>标签向这个资源传递参数。
<jsp:param name="parameterName" value="parameterValue|<%= expression %>" />
<jsp:param>标签的name属性用于指定参数名,value属性用于指定参数值。在 <jsp:include>和<jsp:forward>标签中可以使用多个<jsp:param>标签来传递多个参数。
接收parm:
<h2><%=request.getParameter("parm1")%></h2>
<h2><%=request.getParameter("parm2")%></h2>
发表评论
-
41、解决HttpServletResponse输出的中文乱码问题
2015-04-12 21:48 1215response返回有两种,一种是字节流outputs ... -
41、轮询
2015-04-12 08:50 0浏览器关闭使session失效 ... -
40、spring ajax/easyui 中文乱码的解决
2015-04-04 14:52 693使用spingmvc,在JS里面通过ajax发送请求,并 ... -
39、.net
2015-03-28 23:12 543熟悉java编程,自然学习c#就会比较容易,有几个点需要说明下 ... -
38、servlet-- JSTL+EL(c标签、${})
2015-03-23 15:57 780参看:http://www.cnblogs.com/xdp-g ... -
36、servlet--防止表单重复提交
2015-03-23 14:33 7101、在网络延迟会或服务器反应过慢的情况下让用户有时间点击多次s ... -
35、servlet--servletContext
2015-03-22 13:41 475servletContext接口是Servlet中最大的一个接 ... -
34、servlet--会话技术/购物车demo/y验证码
2015-03-21 23:40 587会话Session and Cookie 1、session: ... -
33、servlet--转发/web开发指导思想
2015-03-21 12:31 445转发: req.getRequestDispatcher(&q ... -
32、servlet --重定向/下载/缓存/中文乱码
2015-03-20 23:21 1055重定向1、sendRedirect rep.sendRedir ... -
31、servlet--开发方式
2015-03-20 21:55 634servlet:利用java技术开发动态网页的技术,是学习ja ... -
30、servlet---tomcat原理
2015-03-20 18:20 675Servlet出现得早,servlet很强大,但是se ... -
29、servlet--jsp执行过程
2015-03-20 15:08 446J2EE的13种核心技术:JDBC、JNDI、EJBs、 ... -
29、springmvc+spring+mybatis+oracle12的demo
2015-03-15 20:29 0每次搭建都要重头搭建,累~~ 注意:用12c的jdbc 在安 ... -
27、Tomcat多次加载项目问题
2015-03-12 15:30 563错误配置方式: <Host name="lo ... -
26、数据分页(jsp+servlet)
2015-03-12 15:19 472随着数据库中存储的数据的增多,满足用户查询条件的数据也 ... -
llll.文档设计
2015-03-11 13:31 0设计文档与代码实现到 ... -
24、webservice_短信接口
2015-03-11 10:48 801http://blog.csdn.net/sxdtzhaoxi ... -
25、RMI_demo1
2015-03-11 10:48 426Java RMI 指的是远程方法调用 (Remote Meth ... -
23、svn
2015-03-11 10:48 422<参看>http://blog.csdn.net/ ...
相关推荐
Servlet-api.jar和jsp-api.jar是Java Web开发中两个非常重要的库文件,它们包含了Servlet和JSP(JavaServer Pages)的相关API,使得开发者可以构建动态Web应用程序。这两个文件通常由Java EE(Enterprise Edition)...
servlet-api.jar 和jsp-api 工具jar包
这两个API,即`jsp-api.jar`和`servlet-api.jar`,是开发基于Java的Web应用时不可或缺的库文件。 ### JSP API `jsp-api.jar`包含了JSP规范定义的所有接口和类,使得开发者能够创建、管理以及执行JSP页面。以下是...
jsp-api.jar和servlet-api.jar,jsp-api.jar和servlet-api.jarjsp-api.jar和servlet-api.jarjsp-api.jar和servlet-api.jar,实用
Servlet-api.jar是Java Web开发中不可或缺的一个库文件,它包含了Servlet和JSP(JavaServer Pages)规范的API接口。这个库文件主要用于与Web服务器交互,处理HTTP请求,并生成响应。在本文中,我们将深入探讨Servlet...
4. `javax.servlet.jsp.jsp-api`包下的其他接口和类:例如`PageContext`,它为JSP页面提供了一个统一的接口,可以访问Servlet和JSP的上下文对象。 在Tomcat 7.0环境中,servlet-api.jar和jsp-api.jar是运行Java Web...
标题提及的"jsp-api.jar(2.3)与servlet-api.jar (3.1)"指的是两个关键的Java Web开发库,它们是JavaServer Pages(JSP)和Servlet技术的API实现。JSP 2.3是用于创建动态网页的Java平台标准,而Servlet 3.1则是...
JSP-api.jar包含了JSP规范定义的接口和类,比如`javax.servlet.jsp.*`包下的类,这些类和接口提供了页面指令、脚本元素、表达式语言等JSP特性。开发者可以使用这些API来创建自定义标签库或者实现自定义JSP页面生命...
Servlet-API是Java Servlet技术的核心部分,它定义了服务器端与客户端之间交互的一系列接口和类。这个压缩包包含了Servlet-API的多个版本,分别是2.2、2.3、2.4、2.5以及3.0。每个版本的发布都带来了新的功能和改进...
`javax.servlet` 和 `jsp-api` 是Java服务器端编程的重要组成部分,主要用于构建动态Web应用程序。这两个API是Java Servlet和JavaServer Pages(JSP)技术的核心接口和类库,由Java Community Process (JCP)制定并由...
7. `javax.servlet.jsp`包:虽然不是直接包含在Servlet API中,但通常与Servlet一起使用,提供了一个用于创建动态网页的简化的编程模型,如JSP页面。 在实际开发中,`javax-servlet-api-3.0.1.jar`通常作为项目的...
本文将深入探讨如何使用jsp-servlet-service-dao四层架构来实现这样的系统,包括用户信息的增删改查功能,以及权限控制机制。 首先,让我们理解这四层架构的每一层: 1. **JSP(JavaServer Pages)**:JSP是Java ...
《深入理解Java Servlet API 4.0.1与JSP自定义标签》 在Web开发领域,Java Servlet API和JSP(JavaServer Pages)是两个不可或缺的重要组件。本篇文章将聚焦于`javax.servlet-api-4.0.1.jar`这个jar包,它是Servlet...
在本文中,我们将详细介绍如何在IntelliJ IDEA这样的集成开发环境(IDE)中添加`servlet-api.jar`和`jsp-api.jar`的依赖。 首先,`servlet-api.jar`包含了Servlet规范定义的所有接口和类,如`javax.servlet.Servlet...
jsp所需jar包 1.jsp-api.jar; 2.servlet-api.jar
在Java Web开发中,`servlet-api.jar`和`jsp-api.jar`是非常关键的库文件,它们包含了Servlet和JSP(JavaServer Pages)的核心API,是每个Java Web开发者必备的基础工具。这两个jar包通常由Java EE(Enterprise ...
《Jsp-Servlet-JavaBean企业事务管理系统》 在IT领域,JSP(JavaServer Pages)、Servlet和JavaBean是构建Web应用程序的三大核心技术,尤其在企业级应用开发中扮演着重要角色。本系统——"Jsp-Servlet-JavaBean企业...
使用servlet-api-2.5.jar和jsp-api-2.1.jar,开发者可以在不依赖特定应用服务器实现的情况下,编写兼容Servlet 2.5和JSP 2.1标准的Web应用程序。这两个库通常作为依赖项添加到项目中,确保服务器端的正确运行和功能...