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. Centos7下配置Python3和Python2共存,以及对应版本Ipython安装配置

    1.查看是否已经安装Python Centos7默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用python -V命令查看一下是否安装Pytho ...

  2. hive问题: For direct MetaStore DB connections, we don't support retries at the client level

    已经配置好hive,mysql作为元数据的数据库.在hive中执行drop语句出错: drop table mytest; 错误提示如下: FAILED: SemanticException Unab ...

  3. 【读书笔记】【深入理解ES6】#10-改进的数组功能

    创建数组 在ES6之前,创建数组的方式主要有两种: 调用 Array 构造函数 用数组字面量语法 为了简化数组的创建过程,ES6新增了两个方法: Array.of() Array.from() Arr ...

  4. mongodb 的进库操作

    mongo show dbs use  xxx show collections db.xxx.find() db.users.update({ "xxx" : ObjectId( ...

  5. mxnet框架样本,使用C++接口

    哇塞,好久么有跟进mxnet啦,python改版了好多好多啊,突然发现C++用起来才是最爽的. 贴一个mxnet中的C++Example中的mlp网络和实现,感觉和python对接毫无违和感.真是一级 ...

  6. [翻译]QT core wallet manual 狗狗币核心钱包使用教程

    译注:比特币没赶上可以玩狗狗币啊,水电厂包不起可以用CPU挖啊.为了顺应时代潮流,了解一下区(fa)块(heng)链(cai)和加密货币技术,准备从研究狗狗币开始.网上找了一圈没有看到很好的入门级教程 ...

  7. 【转】Java中super和this的几种用法与区别

    1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位.   class Base {   Base() {   System.out.println("Base&qu ...

  8. 微信app支付(android端+java后台)

    本文讲解使用微信支付接口完成在android开发的原生态app中完成微信支付功能, 文章具体讲解了前端android如何集成微信支付功能以及后台如何组装前端需要支付信息, 话不多话, 具体看文章内容吧 ...

  9. Git分支-分支简介

    源地址:https://git-scm.com/book/zh/ch3-1.html 几乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线 ...

  10. Python爬虫笔记(一):爬虫基本入门

    最近在做一个项目,这个项目需要使用网络爬虫从特定网站上爬取数据,于是乎,我打算写一个爬虫系列的文章,与大家分享如何编写一个爬虫.这是这个项目的第一篇文章,这次就简单介绍一下Python爬虫,后面根据项 ...