jsp的运行机制:

  1客户端(请求jsp页面)------->JSP页面(转换为java源文件)------->Selvet文件(.java) (编译成相应的字节码文件也就是后缀名是.class的文件)------>(加载Servlet类创建Servlet实例)Servlet------->(实例调用相应的方法完成请求处理,把html格式的相应对象返回给客户端)------>客户端

JSP注释:

HTML注释:<!-- 注释内容 -->

JSP注释:<%-- 注释内容 --%>

JSP指令:<%@指令标记 [属性="值" 属性="值"]%>

jsp指令在整个页面范围内有效

page指令:页面指令,用来定义jsp页面的全局属性,该配置会作用于整个jsp页面,page指令用来定义所使用的脚本语言,导入指定的类及软件包

      语法格式:<%@ page 属性1="属性值1" 属性2="属性值2" .......%>
include指令:是文件加载指令,用于在jsp文件中插入一个包含文本或代码的文件。需要注意的是如果被插入的文件本身发生了变化,那么包含这个文件的jsp文件需要被重新编译

      语法格式:<%@ include file="被包含文件的地址" %>

taglib指令:用来引用标签库,并设置标签库的前缀。

      语法各司:<%@ taglib uri="tagLibraryURI" prefix="taglibPrefix"%>其中uri用来指定标签文件或标签库的存放位置,prefix属性则用来指定该标签库所使用的          前缀

JSP脚本元素:

脚本元素是jsp中使用最频繁的元素,通过jsp脚本可以将java代码嵌入到html页面中。

JSP脚本元素主要包含如下三种类型:jsp声明语句 、 jsp表达式  、jsp Scriptlets

jsp的声明语句用于声明变量和方法。声明语句的语法格式:<%!变量或方法定义%>。使用jsp声明语句声明的变量将来会转换为servlet类中成员变量。这些变量在整个jsp页面内有效。因此也被称为jsp页面的成员变量

  jsp表达式:在jsp中可以在<%=%>标记之间插入一个表达式,这个表达式必须能够求值,并且计算结果会以字符串形式发送到客户端显示出来。jsp表达式的值回作为html页面的内容。如果表达式为字符串会直接显示字符串,如果不是字符串会显示其计算结果。语法格式:<%=表达式%>

  JSP  Scriptlet是一段java代码段,当需要使用java实现一些复杂的操作 或控制时,jsp表达式往往不能满足需求,此时需要用到JSP  Scriptlet。

  在JSP Scriptlet中声明的变量是jsp页面的局部变量,调用JSP Scriptlet时,会为局部变量分配内存空间,调用结束后,释放局部变量占用的内存空间。

  语法格式:<% java代码%> JSP Scriptlet 中可以包含变量方法表达式等内容。

jsp动作元素

<jsp:include>动作元素提供了一种在jsp包含页面的方式,既可以包含静态文件,也可以包含动态文件。

        jsp动态包含某个文件,指的是当jsp页面运行时才会载入该文件。

<jsp:forward  page="转向页面的url地址">是一种用于页面重定向的元素,他的作用是停止当前jsp页面的执行,而将客户端请求转交给另一个jsp页面。

        注意:转发与重定向的区别,转发是在服务器端进行的,不会引起客户端的二次请求,因此浏览器的地址栏不会发生任何变化,效率比重定向要高。

<jsp:param name="参数名字" value=“指定给param的参数值”>是一种提供参数的附属动作元素,它以“名-值”对的形式,为其它动作元素提供附加信息。

<jsp:useBean>动作元素,用来装载一个将在jsp页面中使用的javaBean。

<jsp:setProperty>动作元素,获取大bean实例之后,便可以利用<jsp:setProperty>动作元素,来设置或修改Bean中的属性值。

<jsp:getProperty>动作元素,用来提取Bean属性的值, 并将其转换为字符串,然后输出。

servlet的生命周期

web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do***()方法。结束服务,web容器调用servlet的destroy()方法。

Jsp内置对象(9中内置对象)

request用于封装客户端的请求信息,请求是创建,请求后销毁。

  

JSP -java service pages的更多相关文章

  1. jsp(java server pages):java服务器端的页面

    jsp(java server pages):java服务器端的页面 JSP的执行过程1.浏览器输入一个jsp页面2.tomcat会接受*.jsp请求,将该请求发送到org.apache.jasper ...

  2. Jsp (Java Server Pages)相关知识九大内置对象和四大作用域

    一.初识JSP Jsp页面的组成:静态内容.指令.表达式.小脚本.声明.标准动作.注释等元素构成 Url:统一资源定位符 Url组成:协议.主机名(包括端口号).路径 1.注释的方式: 1.HTML注 ...

  3. 什么是jsp(java server pages)

    JSP是一种运行在服务器端的脚本语言,是用来开发动态网页的技术,它是JAVA Web 程序开发的重要技术.本章介绍JSP技术的相关概念以及如何开发JSP程序,主要内容包括JSP技术简介.JSP的处理过 ...

  4. JSP - (Java Server Pages) - Java服务器界面

    JSP简介: 在HTML中嵌入Java脚本代码,由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码,然后将生成的整个页面信息返回给客户端: 一个JSP页面包含:静态内容(HTML静态文本), ...

  5. JSP Java服务器页面

    大家好!好久不见!今日我们开始学习JSP了,一些记录基础性的知识在这里与大家分享. 先说下URL(Uniform Resource Locator 统一资源定位符). URL包括传输协议(http:/ ...

  6. 1.1(学习笔记)JSP(Java Server Pages)基础(脚本元素、指令元素)

    一.JSP简介 JSP全称为Java Server Pages,是一种动态网页开发技术,可以在HTML界面中嵌入java代码, 实现动态的提供数据.访问JSP时服务器会将JSP翻译成Servlet,访 ...

  7. JSP(Java Servlet Page)

    一.简介 HTML HTML擅长显示一个静态的网页,但是不能调用Java程序. Servlet Servlet擅长调用Java程序和后台进行交互,但是它不擅长显示一个完整的HTML页面. 我们希望创建 ...

  8. Java Service Wrapper简介与使用

    在实际开发过程中很多模块需要独立运行,他们并不会以web形式发布,传统的做法是将其压缩为jar包独立运行,这种形式简单易行也比较利于维护,但是一旦服务器重启或出现异常时,程序往往无法自行修复或重启.解 ...

  9. 利用JAVA Service Wrapper把JAVA程序做成windows服务

    今天做了一个读取数据入库的程序.由于读取的数据每天都更新,于是就想把程序做成一个服务,每天定时执行.研究了一下,发现有几种方式可以做.下面我主要记录一下JAVA Service Wrapper方式. ...

随机推荐

  1. 转载自 BotVS 「 珍藏版 」如何搭建一个完整的交易框架

    [img]http://dn-filebox.qbox.me/8c218c119046b2a25df2d9c7b00c1e0fa6899bdd.png[/img]NO:01 交易策略 ≠ 交易系统. ...

  2. 4.variables

    变量在python可以是字符也可以是数字.例如:   x = 2 price = 2.5 word = 'Hello'   变量名在等号左边,值在右边,一旦变量被指定,就可以在程序的其他地方使用它. ...

  3. Git的使用-如何将本地项目上传到Github

    默认你的电脑上已经安装了git. 第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹). 你可以直接右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创建. 现在我通过命令行 ...

  4. 记一个http-proxy-middleware 代理访问nginx映射的接口不通过的问题(connection close)

    工作过程中遇见一个问题,使用Vue-cli 搭建了一个工程,由于跨域的问题 使用了自带的dev-server Express Server(A后台) http-proxy-middleware 去访问 ...

  5. springboot开启access_log日志输出

    由于在调试时需要查看access_log日志,但是springboot默认并没有开启,因此查看了一下文档,在springboot的配置文件中添加如下设置,即可将日志输出当磁盘文件中以供查看. #日志开 ...

  6. MYSQL的REPLACE和ON DUPLICATE KEY UPDATE使用

    REPLACE 我们在使用数据库时可能会经常遇到这种情况.如果一个表在一个字段上建立了唯一索引,当我们再向这个表中使用已经存在的键值插入一条记录,那将会抛出一个主键冲突的错误.当然,我们可能想用新记录 ...

  7. 2017 Multi-University Training Contest - Team 9 1004&&HDU 6164 Dying Light【数学+模拟】

    Dying Light Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Tot ...

  8. Gym 100952B&&2015 HIAST Collegiate Programming Contest B. New Job【模拟】

    B. New Job time limit per test:1 second memory limit per test:64 megabytes input:standard input outp ...

  9. 强连通分量&hdu_1269&Codeforce 369D

    强连通分量 标签: 图论 算法介绍 还记得割点割边算法吗.回顾一下,tarjan算法,dfs过程中记录当前点的时间戳,并通过它的子节点的low值更新它的low,low值是这个点不通过它的父亲节点最远可 ...

  10. in运算符(javascript)

    in的用法,如x in y: 1.如果第二个运算数为对象,则in运算符用来检测第一个运算数是否是第二个运算数的属性名.是,返回true,否则返回false. 例: var obj = {x:1,y:2 ...