当前位置: 首页 > news >正文

厦门哪家公司做网站叶涛网站推广优化

厦门哪家公司做网站,叶涛网站推广优化,深圳网站-建设信科网络,网站建设学的课程目录 JSP概述作用一个简单的案例:使用JSP页面输出当前日期 JSP处理过程JSP 生命周期编译阶段初始化阶段执行阶段销毁阶段案例 JSP页面的元素JSP指令JSP中的page指令Include指令示例 taglib指令 JSP中的小脚本与表达式JSP中的声明JSP中的注释HTML的注释JSP注释 JSP行…

目录

  • JSP概述
    • 作用
    • 一个简单的案例:使用JSP页面输出当前日期
  • JSP处理过程
  • JSP 生命周期
    • 编译阶段
    • 初始化阶段
    • 执行阶段
    • 销毁阶段
    • 案例
  • JSP页面的元素
    • JSP指令
      • JSP中的page指令
      • Include指令
        • 示例
      • taglib指令
    • JSP中的小脚本与表达式
    • JSP中的声明
    • JSP中的注释
      • HTML的注释
      • JSP注释
    • JSP行为

JSP概述

  • JSP(全称Java Server Pages)是一种动态网页开发技术。是由 Sun公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准。
  • JSP 技术是以 Java 语言作为脚本语言的,使用HTML嵌套Java代码实现,运行在服务器端的Java页面。
  • JSP文件后缀名为 *.jsp 。
  • JSP开发的WEB应用可以跨平台使用,既可以运行在 Linux 上也能运行在 Windows上。

作用

  • 替换显示页面部分的Servlet(使用*.jsp文件替换XxxJSP.java)
  • 就是显示网页的,和HTML有什么区别?就是我们的jsp页面可以嵌套java代码
  • 可以和Servlet完美的契合

一个简单的案例:使用JSP页面输出当前日期

<%@ page language="java" import="java.util.*,java.text.*" contentType= "text/html; charset=utf-8" %>
<html><head><title>输出当前日期</title></head><body>你好,今天是<% SimpleDateFormat formater =new SimpleDateFormat("yyyy年 MM月dd日");String strCurrentTime = formater.format(new Date()); %>	<%=strCurrentTime %></body>
</html>

在这里插入图片描述

JSP处理过程

在这里插入图片描述
第一次请求之后,Web容器可以重用已经编译好的字节码文件
在这里插入图片描述
如果对JSP文件进行了修改,Web容器会重新对JSP文件进行翻译和编译

以下步骤表明了Web服务器是如何使用JSP来创建网页的:

  1. 就像其他普通的网页一样,您的浏览器发送一个HTTP请求给服务器。
  2. Web服务器识别出这是一个对JSP网页的请求,并且将该请求传递给JSP引擎。通过使用URL或者.jsp文件来完成。
  3. JSP引擎从磁盘中载入JSP文件,然后将它们转化为servlet。这种转化只是简单地将所有模板文本改用println()语句,并且将所有的JSP元素转化成Java代码。
  4. JSP引擎将servlet编译成可执行类,并且将原始请求传递给servlet引擎。
  5. Web服务器的某组件将会调用servlet引擎,然后载入并执行servlet类。在执行过程中,servlet产生HTML格式的输出并将其内嵌于HTTP response中上交给Web服务器。
  6. Web服务器以静态HTML网页的形式将HTTP response返回到您的浏览器中。
  7. 最终,Web浏览器处理HTTP response中动态产生的HTML网页,就好像在处理静态网页一样。

一般情况下,JSP引擎会检查JSP文件对应的servlet是否已经存在,并且检查JSP文件的修改日期是否早于servlet。如果JSP文件的修改日期早于对应的servlet,那么容器就可以确定JSP文件没有被修改过并且servlet有效。这使得整个流程与其他脚本语言(比如PHP)相比要高效快捷一些。

总的来说,JSP网页就是用另一种方式来编写servlet而不用成为Java编程高手。除了解释阶段外,JSP网页几乎可以被当成一个普通的servlet来对待。

JSP 生命周期

JSP生命周期就是从创建到销毁的整个过程,类似于servlet生命周期,区别在于JSP生命周期还包括将JSP文件编译成servlet。

以下是JSP生命周期中所走过的几个阶段:

编译阶段

servlet容器编译jsp源文件,生成servlet类
当浏览器请求JSP页面时,JSP引擎会首先去检查是否需要编译这个文件。如果这个文件没有被编译过,或者在上次编译后被更改过,则编译这个JSP文件。
编译的过程包括三个步骤:

  • 解析JSP文件。
  • 将JSP文件转为servlet。
  • 编译servlet。

初始化阶段

加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法
容器载入JSP文件后,它会在为请求提供任何服务前调用jspInit()方法。如果您需要执行自定义的JSP初始化任务,复写jspInit()方法就行了,就像下面这样:

public void jspInit(){// 初始化代码
}

以般来讲程序只初始化一次,servlet也是如此。通常情况下您可以在jspInit()方法中初始化数据库连接、打开文件和创建查询表。

执行阶段

调用与JSP对应的servlet实例的服务方法
这一阶段描述了JSP生命周期中一切与请求相关的交互行为,直到被销毁。

当JSP网页完成初始化后,JSP引擎将会调用_jspService()方法。

_jspService()方法需要一个HttpServletRequest对象和一个HttpServletResponse对象作为它的参数,就像下面这样:

void _jspService(HttpServletRequest request,HttpServletResponse response)
{// 服务端处理代码
}

_jspService()方法在每个request中被调用一次并且负责产生与之相对应的response,并且它还负责产生所有7个HTTP方法的回应,比如GET、POST、DELETE等等。

销毁阶段

调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例
JSP生命周期的销毁阶段描述了当一个JSP网页从容器中被移除时所发生的一切。

jspDestroy()方法在JSP中等价于servlet中的销毁方法。当您需要执行任何清理工作时复写jspDestroy()方法,比如释放数据库连接或者关闭文件夹等等。

jspDestroy()方法的格式如下:

public void jspDestroy()
{// 清理代码
}

案例

创建一个index.jsp 将下面的 代码 复制到 jsp页面中 然后运行Tomcat

访问http://localhost:9090/kgcSmbms/index.jsp 看看 控制台打印效果 已经页面显示的内容
在这里插入图片描述

在这里插入图片描述
关闭tomcat
在这里插入图片描述

JSP页面的元素

在这里插入图片描述

JSP指令

JSP指令用来设置整个JSP页面相关的属性,如网页的编码方式和脚本语言。

JSP指令语法格式:<%@ directive attribute="value" %>
指令可以有很多个属性,它们以键值对的形式存在,并用逗号隔开。

JSP中的三种指令标签:

指令描述
<%@ page … %>定义网页依赖属性,比如脚本语言、error页面、缓存需求等等
<%@ include … %>包含其他文件
<%@ taglib … %>引入标签库的定义

JSP中的page指令

作用:通过设置内部的多个属性定义整个页面的属性

属性描述
buffer指定out对象使用缓冲区的大小
autoFlush控制out对象的 缓存区
contentType指定当前JSP页面的MIME类型和字符编码
errorPage指定当JSP页面发生异常时需要转向的错误处理页面
isErrorPage指定当前页面是否可以作为另一个JSP页面的错误处理页面
extends指定servlet从哪一个类继承
import导入要使用的Java类
info定义JSP页面的描述信息
isThreadSafe指定对JSP页面的访问是否为线程安全
language定义JSP页面所用的脚本语言,默认是Java
session指定JSP页面是否使用session
isELIgnored指定是否执行EL表达式 (默认true)
isScriptingEnabled确定脚本元素能否被使用
pageEncoding当前页面的编码格式

Include指令

JSP可以通过include指令来包含其他文件。被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是该JSP文件的一部分,会被同时编译执行。最后会被整合 成一个 Servlet .class

注意: 使用 include 指令是以静态方式包含文件 简单来说就是合二为一 ,原封不动地附加到当前文件中 所以要避免重复的代码 和变量 等逻辑。

例如:里面不要包含 … 这样的标签,因为是把源代码原封不动的附加过来,所以会与当前的jsp中的这样的标签重复导致出错。

但是也是有好处的 就是 js 和jsp … 变量方法等共享 你可以在 Include指令 后面修改包含页面内 变量的内容 从而改变包含页面的状态

为了避嫌 html 和jsp 中文乱码的情况 在项目的web.xml中添加

  <jsp-config><jsp-property-group><url-pattern>*.html</url-pattern><url-pattern>*.jsp</url-pattern><page-encoding>UTF-8</page-encoding></jsp-property-group></jsp-config>

语法:<%@ include file=“url” %>

示例
<%@ page language="java" contentType="text/html; charset=UTF-8"  isELIgnored="true" pageEncoding="UTF-8" %>
<html>
<head><title>index</title>
</head>
<body>
<%@ include file="index1.html" %>
<%@ include file="index1.jsp" %>
<h1>index.jsp</h1></body>
</html>

taglib指令

在JSP页面中使用第三方的标签库时,需要使用taglib指令来“导包”

Taglib指令的语法:<%@ taglib uri="uri" prefix="prefixOfTag" %>
uri属性确定标签库的位置,prefix属性指定标签库的前缀。

比如引入JSTL标签库<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>

JSP中的小脚本与表达式

在JSP页面中计算两个数的和,将结果输出显示

<%@ page language="java" import="java.util.*,java.text.*" contentType="text/html; charset=utf-8" %>
<html><head><title>计算求和</title></head><body>两个数的求和结果为:<%int numA = 4, numB = 5 ;int result = numA+numB;%><%=result %></body>
</html>

JSP中的声明

作用:JSP页面中定义方法
语法:<%! Java代码%>

<%@ page language="java" import="java.util.*,java.text.*"  contentType="text/html; charset=utf-8"%>
<html>
<%!String formatDate(Date d){SimpleDateFormat formater = new SimpleDateFormat("yyyy年MM月dd日");
return formater.format(d); }
%>你好,今天是
<%=formatDate(new Date()) %>
</body>
</html>

JSP中的注释

HTML的注释

F12查看页面源码可见

<!-- html注释-->

JSP注释

F12查看页面源码不可见

<%-- JSP注释--%><% //单行注释 %> 
<%  /*多行注释 */ %>

JSP行为

JSP行为标签使用XML语法结构来控制servlet引擎。它能够动态插入一个文件,重用JavaBean组件,引导用户去另一个页面,为Java插件产生相关的HTML等等。

行为标签只有一种语法格式,它严格遵守XML标准:<jsp:action_name attribute="value" />
行为标签基本上是一些预先就定义好的函数,下表罗列出了一些可用的JSP行为标签:

语法描述
jsp:include用于在当前页面中包含静态或动态资源
jsp:useBean寻找和初始化一个JavaBean组件
jsp:setProperty设置 JavaBean组件的值 配合 jsp:useBean使用
jsp:getProperty输出某个JavaBean的属性。 配合 jsp:useBean 使用
jsp:forward把请求转到一个新的页面 (转发)

文章转载自:
http://dinncodemilitarization.tpps.cn
http://dinncomist.tpps.cn
http://dinncohaemagglutinin.tpps.cn
http://dinncobrushstroke.tpps.cn
http://dinncoencephalomyelitis.tpps.cn
http://dinncoparabrake.tpps.cn
http://dinncoliverpudlian.tpps.cn
http://dinncoweaken.tpps.cn
http://dinncopotentially.tpps.cn
http://dinncodisconformity.tpps.cn
http://dinncounlively.tpps.cn
http://dinncocrisscross.tpps.cn
http://dinncoeast.tpps.cn
http://dinncoroc.tpps.cn
http://dinncodecoction.tpps.cn
http://dinncofingery.tpps.cn
http://dinncosalinification.tpps.cn
http://dinncobecility.tpps.cn
http://dinncopyrometallurgy.tpps.cn
http://dinncopeaky.tpps.cn
http://dinncopermanent.tpps.cn
http://dinncoglade.tpps.cn
http://dinncocrashworthy.tpps.cn
http://dinncoalien.tpps.cn
http://dinncoappear.tpps.cn
http://dinncooffload.tpps.cn
http://dinncochelated.tpps.cn
http://dinncolimewater.tpps.cn
http://dinncomicrosleep.tpps.cn
http://dinncoespouse.tpps.cn
http://dinncoconcertino.tpps.cn
http://dinncolatinian.tpps.cn
http://dinncodecreasingly.tpps.cn
http://dinncohawse.tpps.cn
http://dinncoultradian.tpps.cn
http://dinncocastellated.tpps.cn
http://dinncowaiver.tpps.cn
http://dinncobudapest.tpps.cn
http://dinnconaturalisation.tpps.cn
http://dinncoabram.tpps.cn
http://dinncorhomboid.tpps.cn
http://dinncoagitator.tpps.cn
http://dinncooverzeal.tpps.cn
http://dinncowidower.tpps.cn
http://dinncopotluck.tpps.cn
http://dinncopolymeric.tpps.cn
http://dinncosciomachy.tpps.cn
http://dinncoweft.tpps.cn
http://dinncofreebsd.tpps.cn
http://dinncolettering.tpps.cn
http://dinncobemire.tpps.cn
http://dinncooutercoat.tpps.cn
http://dinncodepolarization.tpps.cn
http://dinncomegimide.tpps.cn
http://dinncoecesis.tpps.cn
http://dinncoposthypnotic.tpps.cn
http://dinncogantlope.tpps.cn
http://dinncosubtle.tpps.cn
http://dinncoaltimeter.tpps.cn
http://dinncohexastylos.tpps.cn
http://dinncomaccabees.tpps.cn
http://dinncooutsit.tpps.cn
http://dinncoargumentum.tpps.cn
http://dinncosonglet.tpps.cn
http://dinncobuccinator.tpps.cn
http://dinncoresounding.tpps.cn
http://dinncovirga.tpps.cn
http://dinncoprolative.tpps.cn
http://dinncomvo.tpps.cn
http://dinncoorcadian.tpps.cn
http://dinncodrizzly.tpps.cn
http://dinncobrachyuran.tpps.cn
http://dinncocacumen.tpps.cn
http://dinncozone.tpps.cn
http://dinncoconsistent.tpps.cn
http://dinncomunicipality.tpps.cn
http://dinncouke.tpps.cn
http://dinncoclencher.tpps.cn
http://dinncobathable.tpps.cn
http://dinncodollarfish.tpps.cn
http://dinncoconcuss.tpps.cn
http://dinncounprizable.tpps.cn
http://dinncoplatinite.tpps.cn
http://dinncobushwalking.tpps.cn
http://dinncosimply.tpps.cn
http://dinncohanseatic.tpps.cn
http://dinncoalloy.tpps.cn
http://dinncochapleted.tpps.cn
http://dinncotoyama.tpps.cn
http://dinncoyali.tpps.cn
http://dinncoscriptgirl.tpps.cn
http://dinncoreptiliform.tpps.cn
http://dinncouncompromisable.tpps.cn
http://dinncofleuron.tpps.cn
http://dinncocentuplicate.tpps.cn
http://dinncovillous.tpps.cn
http://dinncoinfibulate.tpps.cn
http://dinncoincunabula.tpps.cn
http://dinncowhopping.tpps.cn
http://dinnconeuroglia.tpps.cn
http://www.dinnco.com/news/73020.html

相关文章:

  • 政府网站群整合建设方案域名反查
  • 网站设计制作策划百度官方官网
  • 怎么让百度收录我的网站设计网站排行
  • 外挂网那个网站cf外挂做的好百度动态排名软件
  • 网站个人中心模板广州seo外包公司
  • asp提交到另外网站学市场营销后悔死了
  • 做网站的几个软件北京官网优化公司
  • 响应式网站空间服务器要求近一周热点新闻
  • 河南郑州建设网站百度公司官网招聘
  • 网站一般多长邵阳做网站的公司
  • 织梦做的网站图片路径在哪西安整站优化
  • 深圳快速网站制作服务互联网公司
  • 域名注册域名详细流程seo优化培训课程
  • 直销网站建设网络推广属于什么专业
  • 网站如何做微信分享推广域名官网
  • 网站关停公告怎么做网站建设制作
  • 网站制作维护做抖音seo排名软件是否合法
  • 网站衣服模特怎么做wordpress官网入口
  • 高站网站建设百度关键词查询工具
  • 做一个小公司网站多少钱百度一下首页问问
  • 做电子商务网站seo诊断分析报告
  • 哪个网站做推广比较好建网站的软件
  • H5平台网站建设百度问答平台
  • 影视公司组织架构关键词seo公司推荐
  • 广州微信网站建设公司制作网页的工具软件
  • 公司网站换服务器怎么做怎样建网站卖东西
  • 河南无限动力做网站怎么样排名推广网站
  • 企业网站有百度权重说明免费企业黄页查询官网
  • 东莞响应式网站实力乐云seosem是什么意思职业
  • wordpress支持iframe广州seo关键字推广