`
yp307567950
  • 浏览: 104556 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

工作原理:

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>

0
0
分享到:
评论

相关推荐

    JSP 程序设计从入门到精通 PDF 教程

    ### JSP程序设计从入门到精通知识点总结 #### 第1章 JSP概述 技术分析 ##### 1.1 JSP简介与历史背景 - **1.1.1 日新月异的Web技术**:这部分内容简要回顾了Web技术的发展历程,包括早期的静态网页到动态网页的...

    jsp网上商城jsp课程设计

    【标题】"jsp网上商城jsp课程设计"是一个基于JavaServer Pages (JSP) 技术构建的电子商务平台项目。在JSP中,开发者通常利用HTML、CSS和JavaScript来设计用户界面,同时结合Java代码来处理服务器端逻辑。这个课程...

    jsp模板 jsp模板 jsp模板jsp模板jsp模板

    jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp...

    原生jsp进行Web编程—作业3-JSP内置对象-Part2

    一、JSP内置对象练习 1、使用JSP中的session对象,实现用户登陆检验 (1)(1)web目录下的session-login目录中,新建login.jsp(允许用户输入用户名和密码), 在usercheck.jsp中进行验证,成功则显示index.jsp...

    jsp实用教程上机实验

    【JSP实用教程上机实验】是针对JavaServer Pages(JSP)技术的一份实践指导,通常用于加深理解和掌握在实际开发中应用JSP的方法。这份教程基于耿祥义编著的《jsp实用教程》第四版,提供了课后上机实验的代码示例,...

    动态Jsp页面转换成静态Html页面

    动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html页面动态Jsp页面转换成静态Html...

    大学本科JSP课程的期末作业JSP+Servlet+layui实现的博客系统源码.zip

    大学本科JSP课程的期末作业JSP+Servlet+layui实现的博客系统源码。教程 下载使用tomcat就可以使用,数据库语句也有,如果要修改数据库配置就在tool下面的工具类修改即可大学本科JSP课程的期末作业JSP+Servlet+layui...

    JSP图书借阅系统(jsp+SQLServer)

    【JSP图书借阅系统(jsp+SQLServer)】是一个基于Java Server Pages(JSP)技术和SQL Server 2000数据库开发的图书借阅管理应用程序。这个系统旨在提供一个高效、用户友好的平台,方便图书馆管理员进行图书的借阅、...

    JSP登陆验证 实现JSP用户名 密码 验证码验证登陆

    StudentLoginServlet.java就是一个Servlet,它接收来自login.jsp的POST请求,执行登录验证,并将结果发送回loginresult.jsp。 3. **用户名和密码验证**: 在StudentLoginServlet中,你需要从请求参数中获取用户名...

    JSP动态网站源代码

    "JSP动态网站源代码" JSP动态网站源代码是基于Java技术的动态网页开发解决方案。JSP(Java Server Pages)是一种服务器端脚本语言,用于生成动态网页内容。下面是JSP动态网站源代码相关知识点的详细解释: 1. WEB...

    jsp页面生成word或excel

    ### 使用JSP实现Word、Excel格式报表打印 #### 一、使用JSP生成Word文档 在JSP中生成Word文档可以通过设置正确的`content-type`来实现。具体来说,只需要在JSP页面的头部添加以下指令: ```jsp ``` 这样设置后...

    jsp登录页面设计源代码

    jsp登录页面设计源代码 jsp登录页面设计是指使用jsp语言来设计一个登录页面,实现用户的身份验证。下面是jsp登录页面设计的详细知识点: 1. HTML代码设计: 登录页面的静态设计使用HTML语言,通过设计HTML代码来...

    JSP 网上订餐系统,附带完整源码与数据库

    **JSP网上订餐系统详解** 本项目是一个基于JSP技术的网上订餐系统,旨在为程序员朋友们提供一个完整的学习示例,特别是对于正在学习JSP的开发者来说,这是一个非常实用的实践案例。该系统具备完善的订餐功能,且...

    jsp论坛设计与实现

    jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与实现jsp论坛设计与...

    JSP+servlet+mysql网盘系统源码+项目说明.zip

    【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。...JSP+servlet,网盘系统,mysql

    jsp实用案例教程

    《jsp实用案例教程》是一本由冯燕奎和赵德奎等专家共同编著的专业书籍,主要针对Java Server Pages(JSP)技术,为读者提供了丰富的实践案例,帮助学习者深入理解和掌握JSP在实际开发中的应用。本书不仅讲解了JSP的...

    基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统

    基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍管理系统基于 Servlet+jsp+mysql 开发 javaWeb 学生宿舍...

    电影售票系统JSP 电影售票系统JSP

    电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影售票系统JSP电影...

    Head First Servlet & JSP

    《Head First Servlet & JSP》是一本非常受欢迎的IT教程,专为准备SCWCD(Sun Certified Web Component Developer)认证的读者设计。本书以其独特的学习风格,深入浅出地介绍了Servlet和JSP(JavaServer Pages)这两...

Global site tag (gtag.js) - Google Analytics