Java EE JSP编程基础

一、JSP编程介绍

  JSP是实现普通静态HTML和动态HTML混合编码的技术,可以说是Servlet的一种变形,相比Servlet它更像普通的Web页面。JSP在第一次运行时会花费很长时间,原因在与其本质还是Servlet,也就是说JSP会由服务器Tomcat自动转换为Servlet后加载运行。

  JSP页面中除了普通的HTML代码外还包含其他三种主要成分:脚本元素、指令和动作。脚本元素用于在JSP页面中嵌入Java代码,指令用于从整体上控制Servlet的结构,动作用来引入现有的组件来控制Web容器的行为。

二、JSP脚本元素

(1)、输出表达式

语法:<%=表达式%>

作用:输出表达式的计算结果

注意事项:表达式中所有的变量必须是已经声明过的变量,%与=号之间不能有空格且表达式后面不需要分号

举例:

1 <%for(int i = 1;i < 7; i++){%>
2     <h <%=i%> >Hello!</h <%=i%> > <br>
3 <%}%>

(2)、注释

语法:<!--注释-->与<%--注释--%>两种

作用:前者是输出到客户端的注释;后者不输出到客户端,仅表示JSP注释,在运行时这种注释不会转化为HTML的注释即在客户端查看源码时是不可见的。

举例:

1 <!--客户端看得到的注释-->
2 <%--客户端看不到的注释--%>

(3)、声明变量、方法和类

①、声明变量

语法:<%!声明代码%>

注意事项:

1.JSP中声明的变量作用域为整个页面,故只要在页面中声明变量即可无需主义声明与使用的先后顺序,但习惯上我们一般先声明后使用变量。

2.JSP中声明的变量在服务器上为全局变量。我们都知道JSP运行时是自动转化为Servlet,而每个Servlet运行期间在服务器的容器内部仅仅只有一个实例,对于不同的客户端请求会产生不同的线程响应,因此JSP中声明的变量的任何修改均会影响到所有访问该JSP页面的客户端。

举例:

1 <%--JSP变量声明--%>
2 <h1>JSP变量声明</h1>
3 <%i++; %>
4 <p>你是第个<%=i %>访问本网站的用户!</p>
5 <!--JSP声明变量的作用域为整个页面,故声明语句可放在后面.-->
6 <%!int i=0;%> 

②、声明方法

语法:<%!声明代码%>

注意事项:在JSP页面中声明的方法在整个页面中都有效,但在该方法中定义的变量仅在该方法中有效。

举例:

1 <%--JSP方法声明--%>
2 <h1>JSP方法声明</h1>
3 <%!String sayHello(){
4     return "Hello";
5     }%>
6 <%=sayHello() %>

③、声明类

语法:<%!声明代码%>

注意事项:在JSP页面中声明的类在整个页面中都有效。

举例:

 1 <%--JSP类声明--%>
 2 <h1>JSP方法声明</h1>
 3 <%!public class sayHello{
 4     boolean county;
 5     sayHello(boolean county){
 6         this.county=county;
 7     }
 8     String Hello(){
 9         if(county)
10             return "Hello";
11         else
12             return "Hi";
13     }
14 }%>
15 <%sayHello sHello = new sayHello(false); %>
16 <%=sHello.Hello()%>

三、JSP指令

(一)、page指令

Page指令用于定义整个JSP页面的全局属性。一下是一些常用属性:

1.language属性

语法:<%@page language="语言"%>

说明:用于指明JSP脚本使用的编程语言即文件编译语言。目前该属性的属性值只有“java”。

2.contentType属性

语法:<%@page contentType="语言"%>

说明:指定MIME类型和JSP的编码方式

3.pageEncoding属性

语法:<%@page pageEncoding="语言"%>

说明:指定编码方式

用法示例:

1 <%@page language="java" contentType="text/html;charset=UTF-8"
2     pageEncoding="UTF-8"%> <%--1.指明JSP页面脚本使用的编程语言,即设置编译语言
3                                2.指定MIME的类型及JSP文件的字符编码方式
4                                3.指定JSP文件本身的编码方式--%>

4.import属性

语法:<%@page import="java包"%>

说明:导入Java包,可以只导入一个也可导入多个,导入多个Java包时中间用逗号隔开。

用法示例:

1 <%@page import="javax.websocket.Session"%>
2 <%@page import="java.util.*,java.lang.*" %> <%--导入Java包--%>

5.session属性

语法:<%@page session="true"%>或<%@page session="false"%>

说明:设置JSP页面是否支持会话,默认情况允许会话即session值为true。

1 <%@page session="false"%> <%--指明JSP页面是否支持会话(默认支持)--%>

6.errorPage属性

语法:<%@page errorPage="程序"%>

说明:指定当JSP页面程序发生错误时用来处理的程序。

用法示例:

1 <%@page errorPage="error.jsp"%> <%--出现错误时由error.jsp处理--%>

7.isThreadSafe属性

语法:<%@page isThreadSafe="true"%>或<%@page isThreadSafe="false"%>

说明:设置JSP文件是否能同时处理多个用户的请求,默认情况一个JSP能处理多个进程,即session值为true。

用法示例:

1 <%@page isThreadSafe="false"%> <%--只允许单线程,默认为True即默认允许多线程--%>

(二)、include指令

说明:include指令向JSP页面内嵌入一个文件,改文件可以是HTML文件、JSP文件或其他文本文件。

用法示例:

1 <h3><%@include file="copyright.html" %></h3>

(三)、taglib指令

四、JSP动作

JSP动作组件是一些XML语法格式的标记,被用于控制Web容器的行为。利用JSP动作组件可动态地向页面中插入文件、重用JavaBean组件、把用户重定向到另外的页面等。

常见的JSP动作组件有以下几种:

(一)、include动作组件

语法:<jsp:include page="文件名" flush=“true”/>

说明:flush参数必须为true不能用false。

注意事项:include动作组件和include指令元素十分不同。

include动作组件在执行时才对其所包含的文件进行处理,故JSP页面与包含的文件在逻辑上和物理上均是独立的,若对文件进行修改则在运行时就可看到文件修改后的结果。

include指令中包含的文件若发生修改必须重新将JSP页面转译成Java文件才可以看到修改后的内容,否则只能看到修改前的文件内容。

(二)、forward动作组件

语法:<jsp:forword page="网页名称"/>

说明:将浏览器显示的网页导至另一个HTML或JSP网页,客户端看到的地址为A页面的地址而实际内容却是B页面的内容。

注意事项:在使用forward组件之前不能有任何内容已输出到客户端,否则会有意外抛出。而<jsp:forword>标记后的代码将不再执行。

(三)、param动作组件

语法:<jsp:param name="参数名称" value="值"/>

说明:用于传递参数信息,必须配合include和forward动作组件一起使用。

(四)、plugin动作组件

语法:<jsp:plugin type="bean|applet" code="classFileName" codevase="classFileDirectoryName">

说明:执行一个Applet或Bean

(五)、setProperty、getProperty及useBean动作组件(这里简单介绍在JavaBean后再详细记录)

setProperty:<jsp:setProperty>设置JavaBean的属性

getProperty:<jsp:getProperty>输出某个JavaBean的属性

useBean:<jsp:useBean>寻找或实例化一个JavaBean

时间: 2024-10-06 05:17:21

Java EE JSP编程基础的相关文章

Java NIO 网络编程基础

Java NIO提供了一套网络api,可以用来处理连接数很多的情况.他的基本思想就是用一个线程来处理多个channel. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899

Java EE JSP内置对象及表达式语言

一.JSP内置对象 JSP根据Servlet API规范提供了一些内置对象,开发者不用事先声明就可使用标准变量来访问这些对象. JSP提供了9种内置对象: (一).request 简述: JSP编程中最常用的对象,代表来自客户端的请求,调用request对象相应的方法可以获取关于客户请求的信息. 常见方法的用法示例: 1 <font size=5> 2 <br>客户端使用的协议是: 3 <% 4 String protocol = request.getProtocol();

《第二章 java EE客户端编程》

主要介绍HTML,CSS,XML,JavaScript,JSON,jQuery等基本知识点:由于文章内列出属性表格比较多,所以没有一一写出来.

Java 之 网络编程基础知识

一.网络的概念和分类 1.概念 计算机网络:把分布在不同地里区域的计算机与专门的外部设备用通信线路互连成一个规模大.功能强的网络系统,从而使众多的计算机可以方便地互相传递信息.共享硬件.软件.数据信息等资源. 2.分类 (1)按照网络的传输介质划分: 双绞线网.同轴电缆网.光纤网.卫星网.还有无线传输(WiFi传输介质是红外线.蓝牙传输介质是无线电波等) (2)按照网络的拓扑结构划分: 星型网络.总线网络.环线网络.树型网络.网状网络.混合型网络等. (3)按照规模来划分 局域网(Local A

轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)

轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)(国家级奖项获奖作品升级版,四版累计印刷27次发行量超10万册的轻量级Java EE经典著作) 李刚 编著   ISBN 978-7-121-24253-3 2014年10月出版 定价:108.00元 824页 16开 编辑推荐 国内知名IT图书作家李刚老师基于曾荣获中国书刊发行业协会“年度全行业优秀畅销品种”大奖的<轻量级Java EE企业应用实战(第3版)>全新升级:

《转载》Java EE启示录

前言 最近的这段时间一直在学习Java EE,刚刚完成了从0到1的蜕变,所以顺便整理一下我所了解到的Java EE,给刚入门学习的新人一些头绪,而所谓"启示录",就是这个意思. 一.Java EE是什么? Java EE(Java Enterprise Edition)是一种企业级应用的软件架构,同时是一种思想,一套规范. 二.Java EE的发展史 Java Enterprise Edition的发展不知不觉已经12年了,不知道大家有没留意,一开始,Java Enterprise E

JAVA SE、JAVA EE、JAVA ME 三者区别

Java 平台有三个版本,这使软件开发人员.服务提供商和设备生产商可以针对特定的市场进行开发:     * Java SE(Java Platform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程序.Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础.     * Java EE(Jav

Java--- J2EE、Java SE、Java EE、Java ME 区别

java SE=Java Standard EditionJava EE=Java Enterprise EditionJava ME=Java Mobile Edition SE主要用于桌面程序,控制台开发(JFC)EE企业级开发(JSP,EJB)ME嵌入式开发(手机,小家电) 目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME).适用于桌面系统的Java 2平台标准版(Java 2

浅谈Java SE、Java EE、Java ME三者的区别

现在一个个来分析 1. Java SE(Java Platform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程序.Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础. 2. Java EE(Java Platform,Enterprise Edition).这个版本以前称为 J2EE.