`
阅读更多
工作原理:

1.翻译阶段:当容器接受到客户端的请求后,先判断被请求的jsp是否存在,若不存在返回404错误,如存在,将该jsp先翻译成一个servlet

2.编译阶段:将servlet的源文件编译成一个字节码文件,然后有容器将其装载进虚拟机并构造出一个实例对象(单例)。

3.执行阶段:按照servlet生命周期(init(),service(),destory())的过程来运行servlet。

补充:如果被请求的jsp已经有对应的servlet实例对象,那么直接运行该servlet。如果jsp的源文件发生变化,那么要重新将jsp翻译成servlet,再编译,装载和实例化,最后运行。

-----------------------------------------------------------------------------------------------------------------------------

MVC

1.M(Model)--------------->JavaBeans

2.V(view)----------------->jsp

3.C(Controllor)---------->servlet

-----------------------------------------------------------------------------------------------------------------------------

JSP中的元素

1.脚本元素

a.声明(declaration)

语法:<%!declaration%>

作用:为servlet声明一些成员变量,成员方法和内部类

注意:声明的内容处于jspService()方法之外。另外,在声明中不能使用表达式和隐含对象。

b.表达式(expression)

语法:<%=expression%>

作用:将expression写入到输出流中,expression的内容最终显示在页面上。

expression可以是变量、(算术、逻辑、关系表达式)、带返回值的方法、9种隐含对象。

表达式中的输出值都一律被转换成字符串后再写到输出流out(JspWriter)中

注意:expression中不能出现(;)

c.脚本(scriptlet)

语法:<%java code%>

作用:在jsp中嵌入java代码

注意:脚本(java代码)被翻译进servlet的jspservice()方法中。

2.指令元素

a.page指令

语法:<%@ page attribute="attributeValue"....%>

作用:利用page指令中的这些属性可以和容器进行通信,这些属性的设置对整个jsp都有影响。

b.include指令

语法:<%@ include file="url"%>

称为静态导入。比如:页面的logo和版权信息。

作用:在当前jsp中导入另一页面的内容(这些内容一般不变化)。

特点:在jsp翻译成servlet时就将被导入的页面内容嵌入到jspService()中,发生在编译阶段。

优点:执行效率高。

缺点:若被导入的页面的内容一旦发生变化,那么jsp必须要重新被翻译。

c.taglib指令

语法:<%@ taglib url="/web-inf/a.tlb" predix="**"%>

作用:用于在jsp中制定要使用的标签库描述文件的(*.tld)路径.

3.动作元素

a.动态导入

语法:<jsp:include page="url" flush="true/false"/>或者

<jsp:include page="url" flush="true/false">

[<jsp:param.../>]*

.......

</jsp:include>

作用:在一个页面导入另外一个页面的内容

特点:动态导入发生在执行阶段,也就是在运行servlet的时候才动态生成被导入页面的内容,然后嵌入到调用页面,最后两个页面的内容一起返回给客户端

注意:在翻译阶段并没有导入

缺点:执行效率没有静态导入高。

优点:如果被导入的页面内容发生变化,不必重新编译。

b.forward

语法:<jsp:forward page="url"/>

--------------------------------------------------------------------------------------------------------------------------------

jsp注释

1.html/xml注释

语法:<!----content------>

特点:被注释的内容会出现在翻译后的servlet中,也会出现在客户端的页面的源文件中,但是不会显示在浏览器中。

注意:只能注释html,xml,不能注释java代码。

2.隐藏注释

语法:<%----content----%>

特点:被注释的内容不会出现在翻译后的servlet中,在客户端也不会出现。

注意:可以注释jsp中所有的内容。

3.脚本注释

语法:<%

//java code

/**java code*/

%>

特点:被注释的内容出现在翻译后的servlet中,但是不会出现在客户端。

------------------------------------------------------------------------------------------------------------------------------

JSP内置对象

名称                             类型                                                  注释和范围

request                       javax.servlet.http.httpRequest        request                      

response                    javax.servlet.http.httpResponse      response

pageContext              javax.servlet.jsp.PageContext         page

session                       javax.servlet.http.httpSession        session

application                  javax.servlet.ServletContext           ServletContext

out                             javax.servlet.jsp.JspWriter               output stream

config                         javax.servlet.ServletConfig               ServletConfig

page                          javax.lang.Object                              page

exception                   javax.lang.Throwable                        page

----------------------------------------------------------------------------------------------------------------------------

jsp异常处理

1.jsp中处理异常的方式

a)在有异常出现的jsp中,设置page指令中的属性errorPage="处理异常的目标页面",这样当有异常出现的时候,直接跳转到errorPage指定的目标页面来处理异常。

b)在处理异常的目标页面中,设置page指令中的属性isErrorPage="true",告诉容器自己就是来处理异常的,这样就可以使用隐含对象exception来处理异常。

2.通过容器来处理异常(配置web.xml)

<error-page>

<exception-type>

异常类型

</exception-type>

<location>

处理异常的目标页面

</location>

</error-page>

当系统出现了某种异常,容器会判断这种异常的处理方式是否在web.xml中进行配置,若有就按照指定的处理方式处理;若没有就将异常处理交给虚拟机,虚拟机再抛给用户。

3.对错误代码(如404)的处理,通过容器在web.xml中配置。

<error-page>

<error-code>

404

</error-code>

<location>

404.jsp

</location>

</error-page>



jsp笔记
Jsp总结

Wha
JSP(IAVA SERVER PAGES)是由Sun 公司在java语言上开发出来的一种动态网页制作技术

Why
可以将网页中的动态部分和静态的HTML相分离。您可以使用平常得心应手的工具并按照平常的方式来书写HTML语句。然后,将动态部分用特殊的标记嵌入即可,这些标记常常以“<%”开始并以“%>”结束

How
使用十大对象
request, response, out, session, application, config, pageContext,  page, exception, cookie
out  向客户端输出数据
request 向客户端请求数据
response 封装了jsp产生的响应,然后被发送到客户端以响应客户的请求
application 应用程序级对象(即应用程序上下文),多个用户之间共享信息
config 表示Servlet的配置
pagecontext 为JSP页面包装页面的上下文
session 会话对象
exception 反映运行的异常
page  JSP网页本身
cookie  缓存

他们分别继承于
①request         javax.servlet.http.HttpServletRequest
②response        javax.servlet.http.HttpServletResponse
③pageContext     javax.servlet.http.PageContext
④session         javax.servlet.http.Httpsession
⑤out            javax.servlet.jsp.JspWriter
⑥application      javax.servlet.servletContext
⑦config          javax.servlet.servletConfig
⑧page           java.lang.Object
⑨exception       java.lang.Throwable

Jsp的生命周期
1, 编译为java文件
2, 实例化
3, 初始化
4, 服务
5, 销毁


Jsp的工作原理:
客户端请求jsp页面jsp解析为*.jsp,编译为*.javajavac命令编译为*.class执行class文件响应,返回结果给客户端

jsp的优点
简便性:和一般的静态网页很相似
更新速度快:因为是基于服务器的,时刻保持最新版本

Jsp的缺点:
   性能较低,因为含有html,js,css代码,层次不清晰
   安全性低,源代码会暴露在客户端

分享到:
评论

相关推荐

    有关jsp的网址大全,经典

    本资源集合为“有关jsp的网址大全,经典”,显然,这是一个针对JSP学习者和开发者精心整理的网址集合,包含了丰富的JSP相关教程、文档、论坛和社区资源。 1. **JSP基础知识** JSP页面主要由静态内容(HTML或XML)...

    有关jsp网站方面的毕业论文

    虽然标题提到的是"有关jsp网站方面",但论文描述和部分内容并未直接提及JSP技术,而是提到了ASP.NET作为前台技术来实现B/S(浏览器/服务器)模式的网站应用。这里我们需要理解,尽管论文可能不是专门讨论JSP,但在...

    classpath修改,相关jsp页面

    classpath修改,相关jsp页面classpath修改

    关于jsp的外文文献及翻译

    Java Server Pages(JSP)是Sun Microsystems公司发起的一项动态网页技术标准,由多家公司共同参与...虽然描述中没有提及具体文献内容,但以上是对JSP技术的全面概述,读者如需深入了解,建议参考相关的JSP专业书籍。

    一个网站,用jsp的相关技术

    【标题】:“一个网站,用jsp的相关技术” 【描述】:“一个漂亮的jsp网站” 这个描述意味着我们正在讨论一个使用JavaServer Pages(JSP)技术构建的美观的网站。JSP是一种用于开发动态网页的技术,它结合了HTML、...

    有关JSP的示例小程序

    **JSP(JavaServer Pages)** 是一种动态网页技术,由Sun Microsystems开发,现在由Oracle公司维护。它允许Web开发者将HTML代码与Java代码结合在一起,以创建交互式的Web应用程序。JSP的核心概念包括以下几个方面: ...

    有关jsp的精华文章

    介绍jsp中标簦的使用技巧,动作指令的使用方法等等.

    java-JSP.zip

    在"java-JSP.zip"这个压缩包中,很可能是包含了一系列有关JSP的学习资料或者项目示例。 JSP的核心概念包括以下几个方面: 1. **JSP页面结构**:一个JSP页面由静态内容(如HTML、CSS、JavaScript)和动态元素(Java...

    JSP宝典(PDF)

    JSP宝典PDF电子版下载,JSP宝典全书比较全面地介绍了有关JSP的相关知识,并通过大量实例,循序渐进地教会读者如何构架和开发JSP动态网站、自定义标签开发和标准标签库JSTL使用、以及Ajax等Web2.0新特性。在教程的...

    JSP api html格式

    7. **config对象**:包含有关JSP页面的配置信息,如初始化参数。 8. **exception对象**:如果JSP页面抛出未捕获的异常,这个对象将包含该异常。 9. **page对象**:代表当前JSP页面,通常是一个实现了javax.servlet...

    Jsp宝典 PDF

    JSP宝典PDF电子版下载,JSP宝典全书比较全面地介绍了有关JSP的相关知识,并通过大量实例,循序渐进地教会读者如何构架和开发JSP动态网站、自定义标签开发和标准标签库JSTL使用、以及Ajax等Web2.0新特性。在教程的...

    一些有关jsp的课堂笔记

    根据给定的文件信息,以下是对JSP(JavaServer Pages)相关知识点的详细解析: ### JSP概述 JSP是一种基于Java技术的服务器端网页开发技术,它将动态生成的内容与静态HTML页面相结合,用于创建功能强大的Web应用...

    关于JSP的资料

    **JavaServer Pages(JSP)技术详解** JSP(JavaServer Pages)是Java平台上的一个标准组件,用于创建动态Web内容。它结合了HTML、脚本语言和Java代码,允许开发者在服务器端生成HTML响应,从而提供交互式网页服务...

    JSP发展英文文献

    本章将介绍JSP与数据库以及Java Bean相关的知识,都是基础内容的粗略介绍,可能仅仅是一本指南。如果读者需要更详细的信息,请参阅相关JSP的书籍。 JSP页面的翻译 JSP页面最终会被转换成Servlet,这是JSP的基本...

    《JSP实用教程(第三版)》第二张JSP语法

    《JSP实用教程(第三版)》第二张JSP语法,

    有关jsp编写web的课件及代码

    通过学习和实践这些JSP相关的知识点,你可以创建功能丰富的Web应用程序。提供的"jsp课件"可能包含了JSP的基础概念、语法、生命周期、内置对象、指令和动作元素等内容,通过深入学习和分析这些资料,可以进一步提升你...

    JSP应用开发技术 贾素玲等 课件

    面向JSP实际应用开发,通过大量的实例,循序渐进地为读者介绍了有关JSP开发所涉及的各类知识,同时还包含JDK、Tomcat和Struts等JSP相关知识。全书共分10章,内容依次包含了JSP的基本常识、开发环境、语法、内置对象...

    JSP-Servlet.rar_jsp_jsp综述_servlet_servlet jsp

    在提供的资源中,"有关JSP-Servlet的重定向技术综述.doc"很可能是详细讲解这一主题的文档,包含了实践示例和解释。而"www.pudn.com.txt"可能是一个链接或者引用,提供了更多相关的学习资料。通过阅读这些文档,你...

    猜数字游戏jsp源文件

    描述中提到的“课堂笔记”可能包含有关JSP语法、生命周期、指令、动作、EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)等相关知识的解释。初学者可以通过这些笔记理解JSP的工作原理,并...

    jsp网上商城jsp课程设计

    这表明项目依赖于数据库来存储商品信息、用户数据和其他业务相关的记录,而数据库设计是任何电商系统的重要组成部分。 【标签】"jsp"标识了这个项目的技术栈,JSP是一种Java Web开发技术,允许在服务器端生成动态...

Global site tag (gtag.js) - Google Analytics