JavaWeb:JSP技术基础

JavaWeb:JSP技术

快速开始

介绍

  •   JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束
  •   JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。
  •   JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页
  •   JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息
  •   JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。
  •   JSP文件后缀名为 *.jsp 。
  •   JSP开发的WEB应用可以跨平台使用,既可以运行在 Linux 上也能运行在 Windows 上。

第一个JSP页面

<html>
    <head>
           <title>第一个 JSP 程序</title>
    </head>
    <body>
           <%
                  out.println("Hello World!");
           %>
    </body>
</html>

JSP处理

JSP创建过程

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

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

图例

  

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

JSP生命周期

  理解JSP底层功能的关键就是去理解它们所遵守的生命周期。JSP生命周期就是从创建到销毁的整个过程,类似于servlet生命周期,区别在于JSP生命周期还包括将JSP文件编译成servlet

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

编译阶段

当浏览器请求JSP页面时,JSP引擎会首先去检查是否需要编译这个文件。如果这个文件没有被编译过,或者在上次编译后被更改过,则编译这个JSP文件。

编译的过程包括三个步骤:

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

初始化阶段

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

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

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

执行阶段

  这一阶段描述了JSP生命周期中一切与请求相关的交互行为,直到被销毁。

销毁阶段

  SP生命周期的销毁阶段描述了当一个JSP网页从容器中移除时所发生的一切

JSP开发

基础语法

JSP指令

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

语法格式如下:

<%@ directive attribute="value" %>

指令可以有很多个属性,它们以键值对的形式存在,并用逗号隔开。

JSP中的三种指令标签:

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

JSP动作元素

说明

  与JSP指令元素不同的是,JSP动作元素在请求处理阶段起作用。JSP动作元素是用XML语法写成的。利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件生成HTML代码。动作元素只有一种语法,它符合XML标准:

<jsp:action_name attribute="value" />

动作元素基本上都是预定义的函数,JSP规范定义了一系列的标准动作,它用JSP作为前缀,可用的标准动作元素如下:

语法 描述
jsp:include 在页面被请求的时候引入一个文件。
jsp:useBean 寻找或者实例化一个JavaBean。
jsp:setProperty 设置JavaBean的属性。
jsp:getProperty 输出某个JavaBean的属性。
jsp:forward 把请求转到一个新的页面。
jsp:plugin 根据浏览器类型为Java插件生成OBJECT或EMBED标记。
jsp:element 定义动态XML元素
jsp:attribute 设置动态定义的XML元素属性。
jsp:body 设置动态定义的XML元素内容。
jsp:text 在JSP页面和文档中使用写入文本的模板

演示

JSP简单应用

页面自动刷新

这个例子使用了setIntHeader()方法来设置刷新头,模拟一个数字时钟:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
<title>自动刷新实例</title>
</head>
<body>

<h2>自动刷新实</h2>
<%
   // 设置每隔5秒刷新一次
   response.setIntHeader("Refresh", 5);
   // 获取当前时间
   Calendar calendar = new GregorianCalendar();
   String am_pm;
   int hour = calendar.get(Calendar.HOUR);
   int minute = calendar.get(Calendar.MINUTE);
   int second = calendar.get(Calendar.SECOND);
   if(calendar.get(Calendar.AM_PM) == 0)
      am_pm = "AM";
   else
      am_pm = "PM";
   String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
   out.println("当前时间为: " + CT + "\n");
%>

</body>
</html>

点击量统计

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<html>
<head>
<title>访问量统计</title>
</head>
<body>
<%
    Integer hitsCount =
      (Integer)application.getAttribute("hitCounter");
    if( hitsCount ==null || hitsCount == 0 ){
       /* 第一次访问 */
       out.println("欢迎访问菜鸟教程!");
       hitsCount = 1;
    }else{
       /* 返回访问值 */
       out.println("欢迎再次访问菜鸟教程!");
       hitsCount += 1;
    }
    application.setAttribute("hitCounter", hitsCount);
%>

<p>页面访问量为: <%= hitsCount%></p>

</body>
</html>

页面重定向

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<html>
<head>
<title>页面重定向</title>
</head>
<body>

<h1>页面重定向</h1>

<%
   // 重定向到新地址
   String site = new String("http://www.runoob.com");
   response.setStatus(response.SC_MOVED_TEMPORARILY);
   response.setHeader("Location", site);
%>

</body>
</html>

 

原文地址:https://www.cnblogs.com/MrSaver/p/9029541.html

时间: 2024-10-29 10:26:57

JavaWeb:JSP技术基础的相关文章

JavaWeb开发技术基础概念回顾篇

第一章 动态网页开发技术概述 1.JSP技术:JSP是Java Server Page的缩写,指的是基于Java服务器端动态网页. 2.JSP的运行原理:当用户第一次请求某个JSP文件时,容器首先检查JSP文件的语法是否正确,然后将JSP文件转换成Servlet原文件,并调用Java工具类将Servlet原文件编译成字节码文件.接下来,容器加载转换后的Servlet类,实例化一个该类的对象处理客户端的请求,请求处理完成后,容器将HTML格式的相应信息发送给客户端,执行过程如图所示: 3.JSP的

JSP技术基础(动态网页基础)

JSP不能直接运行,需要翻译. Jsp执行过程 翻译阶段 Jsp被web容器中的jsp引擎转换为java源码 .class 编译阶段 源码被翻译为.class文件,字节码文件. 执行阶段 部署服务器的过程其实就是编译的过程,web获取客户端的请求后,web开始执行字节码文件. 如果内容被更改,需要重新部署 系统里面有原来的.class文件,就会执行原来的文件,不会执行这个. ? Jsp页面的组成: 静态内容:html静态文本 指令 : <%@ 开始 %> 结束 表达式 :<%=java表

JSP技术基础

1.JSP表达式语言:EL      JSP标准标签库:JSTL 2.JSP页面由静态内容和动态内容(java语句)组成,动态内容都放在<%  %>里面,<%....%里的内容在JSP页面被翻译成Servlet过程中被提取出来成为普通java语句. 3.myeclipse中的JSP(advanced templates)模板可以生成使用struts的JSP程序. 4.tomcat处理JSP页面的过程 a.在conf文件夹下的web.xml文件中: <servelt> <

JavaWeb——JSP技术

一.JSP脚本和注释 JSP脚本 1)内嵌Java代码 <%java代码%> // 内部的java代码翻译到service方法的内部 2)直接输出到页面上 <%=java变量或表达式>  // 会被翻译成service方法内部out.print() 3)设置Servlet成员内容 <%!java代码%> // 会被翻译成servlet的成员的内容 JSP注释 1)Html注释: <!--注释内容--> // 可见范围 jsp源码.翻译后的servlet.页面

JavaWeb网站技术架构

JavaWeb网站技术架构总结 题记 工作也有几多年了,无论是身边遇到的还是耳间闻到的,多多少少也积攒了自己的一些经验和思考,当然,博主并没有太多接触高大上的分布式架构实践,相对比较零碎,随时补充(附带架构装逼词汇). 俗话说的好,冰冻三尺非一日之寒,滴水穿石非一日之功,罗马也不是一天就建成的,当然对于我们开发人员来说,一个好的架构也不是一蹴而就的. 初始搭建 开始的开始,就是各种框架一搭,然后扔到Tomcat容器中跑就是了,这时候我们的文件,数据库,应用都在一个服务器上. 服务分离 随着系统的

javaWeb Cache技术――OSCache(转-全)

什么是osCache? 它是:http://baike.baidu.com/view/1835163.htm?fr=aladdin OSCache使用指南 一.下载安装 OSCache是一个基于web应用的组件,他的安装工作主要是对web应用进行配置,大概的步骤如下: 1. 下载.解压缩OSCache 从http://www.opensymphony.com/oscache/download.html下载合适的OSCache版本, 解压缩下载的文件到指定目录 . 2.新建立一个web应用 3.将

JSP(基础语法)

一.JSP简介 JSP全称为Java Server Pages,其根本是一个简化的Servlet设计,它实现了在java当中使用HTML标签.JSP是一种动态网页技术标准也就是javaEE的标准.JSP与Servlet一样,是在服务器端执行的. WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行的结果连同JSP文件中的HTML代码一起返回给客户.插入的java程序可以操作数据库.重新定向网页等,以实现建立动态网页所需求的功能. JSP与JavaServlet一样是在服务器

Hello JSP!——基础语法篇

一.JSP简介 JSP是Java Server Pages的缩写,是由Sun公司于1999年6月推出的技术,通过在传统的HTML中插入JSP脚本代码从而构成JSP页面.JSP是基于Java Servlet及整个Java体系的Web开发技术,可以利用这一技术来构建安全的.跨平台的动态Web站点.JSP目前在不断的进行更新和优化. JSP具有如下主要特点: 1.程序逻辑和显示分离 使用JSP技术可以把界面的开发与程序逻辑的开发分离开.Web开发人员使用HTML或XML标记来设计界面,使用JSP标记或

javaWeb常用技术语法总结

HTML: 1.html:超文本标记语言. 标记(标签.节点): <标记名>标记内容(标记体)</标记名称> 九成双标记 个别单标记 2.html文件写法和基本结构: 3.常用标记.p/div/span/ul/ol/center/b/i/sub/sup/a 4.表格:网页布局 table thead tbody th td tr 5.表单:手机客户信息. form:name/method/action 表单元素:input:type=text/password/readio/che