发表于: 2017-07-27 12:03:34

2 1169


今天做的事:

今天系统的学习一下jsp

JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。

JSP实际上就是一个servlet,只不过我们不需要考虑servlet的实现,将JSP编译成servlet的事就交给JSP的服务器去处理了

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

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

编译阶段:

servlet容器编译servlet源文件,生成servlet类

初始化阶段:

加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法

执行阶段:

调用与JSP对应的servlet实例的服务方法

销毁阶段:

调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例


JSP的语法:

脚本程序可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。

脚本程序的语法格式:

<% 代码片段 %>

任何文本、HTML标签、JSP元素必须写在脚本程序的外面。


如果我们要在页面正常显示中文,我们需要在 JSP 文件头部添加以下代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>


jsp声明:一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。在JSP文件中,您必须先声明这些变量和方法然后才能使用它们。

JSP声明的语法格式:

<%! declaration; [ declaration; ]+ ... %>

程序示例:

<%! int i = 0; %> 

<%! int a, b, c; %> 

<%! Circle a = new Circle(2.0); %> 

一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。

JSP表达式的语法格式:

<%= 表达式 %>

如:<body><p>今天的日期是: <%= (new java.util.Date()).toLocaleString()%></p></body>


jsp的注释:

语法描述
<%-- 注释 --%>JSP注释,注释内容不会被发送至浏览器甚至不会被编译
<!-- 注释 -->HTML注释,通过浏览器查看网页源代码时可以看见注释内容
<\%代表静态 <%常量
%\>代表静态 %> 常量
\'在属性中使用的单引号
\"在属性中使用的双引号



三个指令标签

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

对应语法

<%@ page attribute="value" %>
<%@ include file="文件相对 url 地址" %>
<%@ taglib uri="uri" prefix="prefixOfTag" %>



jsp行为标签

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

行为标签只有一种语法格式,它严格遵守XML标准:

<jsp:action_name attribute="value" />

如:

jsp:useBean寻找和初始化一个JavaBean组件
jsp:include用于在当前页面中包含静态或动态资源


JSP支持九个自动定义的变量

对象描述
requestHttpServletRequest类的实例
responseHttpServletResponse类的实例
outPrintWriter类的实例,用于把结果输出至网页上
sessionHttpSession类的实例
applicationServletContext类的实例,与应用上下文有关
configServletConfig类的实例
pageContextPageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
page类似于Java类中的this关键字
ExceptionException类的对象,代表发生错误的JSP页面中对应的异常对象


核心标签(c)

核心标签是最常用的JSTL标签。引用核心标签库的语法如下:

<%@ taglib prefix="c" 
           uri="http://java.sun.com/jsp/jstl/core" %>
标签描述
<c:out>用于在JSP中显示数据,就像<%= ... >
<c:set>用于保存数据
<c:remove>用于删除数据
<c:catch>用来处理产生错误的异常状况,并且将错误信息储存起来
<c:if>与我们在一般程序中用的if一样
<c:choose>本身只当做<c:when>和<c:otherwise>的父标签
<c:when><c:choose>的子标签,用来判断条件是否成立
<c:otherwise><c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行
<c:import>检索一个绝对或相对 URL,然后将其内容暴露给页面
<c:forEach>基础迭代标签,接受多种集合类型
<c:forTokens>根据指定的分隔符来分隔内容并迭代输出
<c:param>用来给包含或重定向的页面传递参数
<c:redirect>重定向至一个新的URL.
<c:url>使用可选的查询参数来创造一个URL


以上简单介绍了一下jsp相关知识,详见:http://www.runoob.com/jsp/jsp-tutorial.html


然后我发现jsp页面中使用了大量的HTML的标签,所以接下来我需要整理一些HTML的知识

超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。

HTML 不是一种编程语言,而是一种标记语言,HTML 使用标记标签来描述网页

HTML 标签是由尖括号包围的关键词,比如 <html>

HTML 标签通常是成对出现的,比如 <b> 和 </b>

<!DOCTYPE>声明有助于浏览器中正确显示网页。

<!DOCTYPE html> 声明为 HTML5 文档

<html> 元素是 HTML 页面的根元素

<head> 元素包含了文档的元(meta)数据

<title> 元素描述了文档的标题(网页的标题)

<body> 元素包含了可见的页面内容

<br/>空元素(换行)

<hr> 标签在 HTML 页面中创建水平线。(不需要结束标签)

HTML 标题(Heading)是通过<h1> - <h6> 标签来定义的.(body内部的标题)

HTML 段落是通过标签 <p> 来定义的.

HTML 链接是通过标签 <a> 来定义的;链接的地址在 href 属性中指定:

如:<a href="http://www.runoob.com">这是一个链接</a>

HTML 图像是通过标签 <img> 来定义的;注意: 图像的名称和尺寸是以属性的形式提供的。

如:<img src="/images/logo.png" width="258" height="39" />


<head> 元素包含了所有的头部标签元素。在 <head>元素中你可以插入脚本(scripts), 样式文件(CSS),及各种meta信息。可以添加在头部区域的元素标签为: <title>, <style>, <meta>, <link>, <script>, <noscript>, and <base>.

<meta> 标签提供了元数据.元数据也不显示在页面上,但会被浏览器解析。META 元素通常用于指定网页的描述,关键词,文件的最后修改时间,作者,和其他元数据。


HTML 表格

表格由 <table> 标签来定义。每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。表格的表头使用 <th> 标签进行定义。


表单是一个包含表单元素的区域。

表单元素是允许用户在表单中输入内容,比如:文本域(textarea)、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等等。

表单使用表单标签 <form> 来设置:

<form>

.

input 元素

.

</form>

文本域通过<input type="text"> 标签来设定;注意:表单本身并不可见。同时,在大多数浏览器中,文本域的缺省宽度是20个字符。

密码字段通过标签<input type="password"> 来定义;注意:密码字段字符不会明文显示,而是以星号或圆点替代。

<input type="radio"> 标签定义了表单单选框选项。

<input type="checkbox"> 定义了复选框. 用户需要从若干给定的选择中选取一个或若干选项。

<input type="submit"> 定义了提交按钮. 当用户单击确认按钮时,表单的内容会被传送到另一个文件。表单的动作属性定义了目的文件的文件名。由动作属性(action)定义的这个文件通常会对接收到的输入数据进行相关的处理。

<script> 标签用于定义客户端脚本,比如 JavaScript。

<script> 元素既可包含脚本语句,也可通过 src 属性指向外部脚本文件。



返回列表 返回列表
评论

    分享到