JSP基本语法及用法
JSP 基本语法
一、 本节内容
JSP文件的结构
JSP的脚本元素
JSP指令元素
JSP动作元素
1.1 jsp文件结构
1.1.1指令: 在 "<%@ " 和 "%>"之间 常用的指令有 page、
taglib
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
1.1.2注释: 分为客户端注释和服务器端注释
1.客户端注释:
2.服务器端注释:
<%-- 注释内容(可以是多行)
-->
<% //注释内容(只能是单行) %>
<% /** 注释内容(可以是多行) */ %>
1.1.3 脚本
脚本在jsp文件有分为三种 定义(声明)、输出和普通代码(脚本段)
1.1.3.1 定义(声明) JSP中脚本的定义格式 <%! 定义语句 %>
注意:如果在JSP中要定义函数,必须采用定义。如果要定义一个全局变量也必须采用定义,否则采用脚本段。
定义的变量是该JSP被转化为的java类的一个成员变量.(字段),也是全局变量。
功能:可以定义变量,函数(方法)
1.1.3.2 输出: 格式 <%= 输出表达式 %> 切忌输出表达式后无分号, 就等于 <% out.print(输出表达式); %>
功能:在网页中输出表达式的值
示例: 在网页中输出变量name 的值
<%!String name="里斯"; %> 定义
<%=name %>
<% out.println(name); %>
1.1.3.3 普通代码(脚本段) 格式 <% 代码段 %> 功能: 普通的java代码,执行相应的运算等
复习扩展
客户端访问服务器 我们称之为 请求 request
服务器将数据返回给客户端 我们称之为 响应 response
请求request 是 HttpServletRequest接口的一个实例对象 它封装了我们请求服务器所携带的所有信息 包括你请求的地址 端口等
响应 response 是HttpServletResponse接口的一个实例对象 它封装了服务器返回给客户端的所有数据信息
request可以通过request.getParameter("test")获取请求表单中name为test的input对象的value
练习题目:根据用户输入的数字来打印直角三角形
比如用户输入的数字为4 那么打印的图形如下
*
**
***
****
题目分析:
分析一: 如何根据数字打印图形
跟据数据打印图形规律
当用户输入的数字为1 时, 打印1行,打印一个 换行
当用户输入的数字为2 时, 打印2行, 第一行1个 第二行2个
当用户输入的数字为3 时, 打印3行, 第一行1个 第二行2个 第三行 3个
... ...
当用户输入的数字为n 时,打印n 行,第一行1个,第二行2个,第三行3个 ... ...第n行 n个
输入n为n行,每一行的行数和该行的“*”的个数相同
解决方法:
采用两层循环,外层循环控制行数,内层循环控制单一行的“*”的个数。
外层循环条件: 从1开始到n结束
内层循环条件: 从1开始到当前行数的数字
分析二: 用户如何输入数字,服务器如何接收数字来响应相应的图形
采用用户使用表单提交数据,服务器根据request获取用户提交的数据
input.jsp body部分
output.jsp 导包指令和body部分
<%@ page import="java.util.regex.Pattern" %>
<%
//接收用户提交的num
String str = request.getParameter("num");
//定义整型变量 num 用于保存用户输入的数据
//正则表达式
if(Pattern.matches("^\\d+$",str))//验证str字符串是否由数字组成
{
int num = Integer.valueOf(str);
//外层循环控制打印的行数 从1开始到num结束
for(int i =1;i<=num;i++){ //变量i即为行数
//内层循环控制打印*的个数,从1开始到i结束
for(int j =1;j<=i;j++){
//输出*
out.print("*");
}
//内层循环结束后 换行
out.print("
");
}
}else{
out.print("您输入的数据不合法!");
}
%>
返回重新输入
启动服务后访问 input页面
输入不正确
1.2 include 指令
格式 <%@ include file=“URL” %>
功能 将URL所指向的文件包含到当前JSP文件中
1.3 JSP动作元素
1.3.1
就等于
java.util.Date now = new java.util.Date();
1.3.2
格式 :
value="objectnamepropertyvalue" />
功能:
为对象objectname的字段属性objectnameproperty设置值为
objectnamepropertyvalue
User lisi = new User();
lisi.setName("里斯");
lisi.setAge(16);
lisi.setSex("女");
就等于
其中 name=变量名 property=变量的字段名 value=变量的字段的值
1.3.3
格式 :
功能:
输出对象objectname的字段属性objectnameproperty的值
=
zhangsan.sex =
zhangsan.age =
附件
er.java 文件
package test;
public class User {
private String name;
private String sex;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
JSP入门教程(1)
JSP入门教程(1)
摘要
JavaServer Pages (JSP)是基于Java的技术,用于创建可支持跨平台及跨Web服务器的动态网页。
JSP可与微软的Active Server Pages (ASP)相媲美,但JSP使用的是类似于HTML的标记和Java 代码片段而不是用VBScript。当你使用不提供ASP本地支持的Web服务器(例如 Apache或Netscape服务器)时,你就可以考虑使用JSP了。你虽然也可以为这些服务器弄一个ASP附加软件模块,但是太昂贵了。现在Sun公司并不会因你使用JSP向你收费(虽然将来可能要收),况且用于Solaris、 Linux以及Windows系统的组件都很容易获得。
不要把JSP与服务器端的JavaScript语言搞混了。Web服务器自动将通过JSP生成的Java代码片段转换成Java 片段(servlets)。 JSP也可自动控制许多功能,如过去用Perl脚本编写功能程序或像ASP这样的服务器专用API(应用编程接口)。
我们马上就要开始帮助你建立一个使用JSP 技术的网站范例了。
JavaServer Pages (JSP)是基于Java的技术,用于创建可支持跨平台及跨Web服务器的动态网页。
JSP可与微软的Active Server Pages (ASP)相媲美,但JSP使用的是类似于HTML的标记和Java 代码片段而不是用VBScript。当你使用不提供ASP本地支持的Web服务器(例如 Apache或Netscape服务器)时,你就可以考虑使用JSP了。你虽然也可以为这些服务器弄一个ASP附加软件模块,但是太昂贵了。现在Sun公司并不会因你使用JSP向你收费(虽然将来可能要收),况且用于Solaris、 Linux以及Windows系统的组件都很容易获得。
不要把JSP与服务器端的JavaScript语言搞混了。Web服务器自动将通过JSP生成的Java代码片段转换成Java 片段(servlets)。 JSP也可自动控制许多功能,如过去用Perl脚本编写功能程序或像ASP这样的服务器专用API(应用编程接口)。
Jsp详解
Jsp详解
1. 简介
2. Jsp的运行原理
3. Jsp的语法
1. Jsp模板元素
2. Jsp中的脚本表达式
3. Jsp中的脚本片段
4. Jsp的声明
5. Jsp注释
6. Jsp指令
1. 首先我们来看一下page指令的用法
2. 下面在来看一下include指令
3. 最后来看一下taglib指令
7. Jsp中内置的9个隐式对象
8. JSP标签库
1. jspinclude标签
2. jspforward标签
3. jspparam或者jspparams标签
4. jspuseBean标签jspsetProperty标签jspgetProperty标签
9. Jsp中怎么排查错误
简介:
JSP全称是JavaServer Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。
JSP这门技术的最大的特点在于,写jsp就像在写html,但:
它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。
相比servlet而言,servlet很难对数据进行排版,而jsp除了可以用java代码产生动态数据的同时,也很容易对数据进行排版。
不管是JSP还是Servlet,虽然都可以用于开发动态web资源。但由于这2门技术各自的特点,在长期的软件实践中,人们逐渐把servlet作为web应用中的控制器组件来使用,而把JSP技术作为数据显示模板来使用。
其原因为,程序的数据通常要美化后再输出:
让jsp既用java代码产生动态数据,又做美化会导致页面难以维护。 让servlet既产生数据,又在里面嵌套html代码美化数据,同样也会导致程序可读性差,难以维护。
因此最好的办法就是根据这两门技术的特点,让它们各自负责各的,servlet只负责响应请求产生数据,并把数据通过转发技术带给jsp,数据的显示jsp来做。
jsp简介
一、jsp简介
JSP (java Server Pages)是服务器端的脚本语言,是一种在HTML页面中加入Java语言而生成动态页面的技术:加入了新的标签(<%,%>,…)。
JSP是以Java和Servlet为基础开发而成的动态网页生成技术,它的底层实现是Java Servlet。
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
二、JSP的执行过程
客户端请求JSP页面——>JSP Parser解析*.jsp编译为*.java——>javac命令编译成*.class——>执行class文件——>响应返回结果给客户端
JSP代码中包含JSP元素和Template data两类。Template data指的是JSP引擎不处理的部分,就是JSP引擎会把除在标记<%...%>以外的部分直接传递出去而不进行任何处理。
JSP在第一次或修改JSP文件后执行都会调用JSP Parser将*.jsp文件编译成servlet程序,所以会比较慢。
三、JSP基本语法
1. 两种注释类型
(1)HTML注释
可以在JSP代码中添加一段HTML格式的注释,此注释发生到客户端,但不在页面上显示,语法如下:
如果programmer为hackiller,则在客户端返回的注释是
(2)JSP注释
写在JSP代码中,但不发送到客户端。
<%-- JSP注释,该注释会在JSP编译时被忽略掉 --%>
<%-- /*Scriptlet中的多行注释*/ --%>
<%-- /**Scriptlet中的多行注释,可以用javadoc从java文件中提取出来*/ --%>
<%-- JSP的单行注释 --%>
2. 3个脚本元素
(1)声明(Declaration)全局变量
<%! int i=0; String str="Hello World!"; %>
JSP的学习(5)——语法知识三之include指令
JSP的学习(5)——语法知识三之include指令
本篇继续来对JSP语法中的JSP指令进⾏学习,在中,已经介绍了JSP指令的书写格式和page指令的详细信息,所以在这⼀篇中我们会对JSP指令中的include指令来进⾏详细的学习。
先来回顾下JSP指令的语法格式:
JSP指令:
JSP指令是为JSP引擎⽽设计的,JSP指令不产⽣任何可见输出,只是告诉在转换成Servlet的过程中如何处理JSP页⾯中的其余部分。在JSP 2.0 规范中共定义了三个指令:
1) page指令
2) include指令
3) taglib指令
taglib指令是导⼊标签库的指令,以后会介绍到。JSP指令格式:
<%@ 指令(如page、include或taglib) 属性1="属性值" 属性2="属性值" ... %>例如: <%@ page contentType = "text/html;charset=utf-8" %> 如果⼀个指令有多个属性,这多个属性可以写在⼀个指令中,也可以分开写。
例如:1 <%@ page contentType = "text/html;charset=utf-8" %>2 <%@ page import = "java.util.Date" %>或者写成:
<%@ page contentType="text/html;charset=utf-8" import="java.util.Date" %>
include指令
include指令⽤于在本JSP中引⼊其他JSP页⾯。
语法格式: <%@ include file=”/相对URL” %>其中“file”属性的值为相对于web应⽤下的地址(给服务器的地址,因为由服务器来处理将那些JSP包含进来)。
我们来做个简单的例⼦:
新建⼀个web⼯程【JSPLearning】,并在该⼯程下新建⼀个“header.jsp”,这个JSP作为等会要被包含的JSP页⾯,因此我们将所有那些不必要的部分去掉,为了包含后页⾯的码源能有良好的格式(想想就知道了如果不去掉,就会有好⼏个标签),最后内容为:1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>2 这是页头 如图所⽰:
JSP的学习(3)——语法知识二之page指令
JSP的学习(3)——语法知识⼆之page指令
本篇接上⼀篇《》,继续来学习JSP的语法。本⽂主要从JSP指令中的page指令,对其各个属性进⾏详细的学习:
JSP指令:
JSP指令是为JSP引擎⽽设计的,JSP指令不产⽣任何可见输出,只是告诉在转换成Servlet的过程中如何处理JSP页⾯中的其余部分。在JSP 2.0 规范中共定义了三个指令:
1) page指令
2) include指令
3) taglib指令
taglib指令是导⼊标签库的指令,以后会介绍到。JSP指令格式:
<%@ 指令(如page、include或taglib) 属性1="属性值" 属性2="属性值" … %>例如: <%@ page contentType = "text/html;charset=utf-8" %> 如果⼀个指令有多个属性,这多个属性可以写在⼀个指令中,也可以分开写。
例如:1 <%@ page contentType = "text/html;charset=utf-8" %>2 <%@ page import = "java.util.Date" %>或者写成:
<%@ page contentType="text/html;charset=utf-8" import="java.util.Date" %>
page指令
page指令⽤于定义JSP页⾯的各种属性,⽆论page指令出现在JSP页⾯中的什么地⽅,它作⽤的都是整个JSP页⾯,为了保持程序的可读性和良好习惯,page指令最好都放置在整个page页⾯的起始位置。page指令包含以下属性(属性值为⽰例):
(1). language = “java ” 指⽰JSP页⾯如果嵌⼊的代码为Java代码。
(2). extends = “package.class” 指定当该JSP转换后的Servlet继承哪个类(通常不⽤动)。
(3). import = ”包名.类名”或者”包名.*” 等等格式, 其中JSP引擎会⾃动导⼊如下包:
Tip:JSP语法
Tip:JSP语法
JSP模版元素
JSP表达式
JSP脚本片断
JSP注释
JSP指令
JSP标签
JSP内置对象
如何查找JSP页面中的错误
Tip: JSP模版元素
JSP页面中的HTML内容称之为JSP模版元素。
JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观。
Tip: JSP脚本表达式
JSP脚本表达式(expression)用于将程序数据输出到客户端
语法:<%= 变量或表达式 %>
举例:当前时间:<%= new java.util.Date() %>
JSP引擎在翻译脚本表达式时,会将程序数据转成字符串,然后在相应位置用out.print(…) 将数据输给客户端。
JSP脚本表达式中的变量或表达式后面不能有分号(;)。
Tip: JSP脚本片断(1)
JSP脚本片断(scriptlet)用于在JSP页面中编写多行Java代码。语法:
<%
多行java代码
%>
注意:JSP脚本片断中只能出现java代码,不能出现其它模板元素, JSP引擎在翻译JSP页面中,会将JSP脚本片断中的Java代码将被原封不动地放到Servlet的_jspService方法中。
JSP 教程 _ w3cschool菜鸟教程
首页 HTML CSS JavaScript jQuery jQueryUI Bootstrap jMobile EasyUI XML SQL MySQL SQLite PHP C# Python Java JSP Ruby 前端工具 更多……
W3C菜鸟笔记 免责声明 关于我们JSP 教程JSP 教程JSP 简介JSP 开发环境搭建JSP 结构JSP 生命周期JSP 语法JSP 指令JSP 动作元素JSP 隐含对象JSP 客户端请求JSP 服务器响应JSP HTTP 状态码JSP 表单处理JSP 过滤器JSP Cookies 处理JSP SessionJSP 文件上传JSP 日期处理JSP 页面重定向JSP 点击量统计JSP 自动刷新JSP 发送邮件JSP 高级教程JSP 标准标签库(JSTL)JSP 连接数据库JSP XML 数据处理JSP JavaBeanJSP 自定义标签JSP 表达式语言JSP 异常处理JSP 调试JSP 国际化JSP 简介 »JSP 简介 »JSP 教程JSP与PHP、ASP、等语言类似,运行在服务端的语言。JSP(全称Java Server Pages)是由Sun Microsystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。JSP文件后缀名为(*.jsp)。JSP开发的WEB应用可以跨平台使用,既可以运行在Linux上也能运行在Window上。第一个JSP程序语言学习入门的第一个程序一般都是输出"Hello World!",JSP输出"Hello World!"代码如下所示: 第一个JSP程序 <% out.println("Hello World!"); %> 开始学习JSP了解了JSP的基本概念后,现在让我们开始来学习JSP吧。分类导航
JSP基本的语法、3个编译指令、7个动作指令、9个内置对象
JSP基本的语法、3个编译指令、7个动作指令、9个内置对象
⽬录
⼀、jsp概述
JSP是java server page的缩写,其**==本质是⼀个简化的servlet**,是⼀种动态⽹页技术标准。jsp页⾯是在HTML页⾯中嵌⼊java程序段。使⽤jsp开发的应⽤程序能够跨平台。
⼆、jsp基本的语法
2.1 jsp表达式
jsp表达式⽤于向页⾯输出信息。语法格式例如以下:
<%= 表达式 %>
如:<%= 5+6 %>注意:<%与=之间不能有空格,=与后⾯的表达式之间能够有空格,另外没有语句结束符号;。
2.2 jsp声明标识
声明标识⽤语在jsp页⾯中定义全局的变量或者⽅法,通过声明标识定义的变量和⽅法能够被整个jsp页⾯訪问。语法格式例如以下:
<%!声明变量或者⽅法的代码%>
如<%!String str = "test";%>
注意:<%与!之间不能有空格,!与其后⾯的代码之间能够有空格。
2.3 jsp代码段
代码⽚段就是嵌在jsp页⾯中的java代码或脚本代码。会在页⾯请求的处理期间被运⾏,java代码能够实现定义变量、流程控制等功能。脚本代码能够通过使⽤jsp内置对象在jsp页⾯输
出内容、处理请求和响应、訪问session等,代码⽚段的语法格式例如以下:
<% java代码或者脚本代码 %>
2.4 jsp注释
2.4.1 HTML注释
HTML注释格式:
html凝视不会显⽰在⽹页中。在浏览器中查看源代码的时候能够看到注释信息。
2.4.2 代码⽚段注释
由于代码⽚段即为java代码或者脚本代码,代码⽚段的注释和java语法⼀样。单⾏注释写在//之后,多⾏注释写在/* */ 之间,⽂档提⽰注释写在/**与 */之间。
//单⾏注释
/*
多⾏注释第⼀⾏
多⾏注释第⼆⾏
*/
/**
⽂档注释
*/
2.4.3 隐藏注释
html注释在查看⽹页源代码的时候能够看到,所以严格来说这样的注释并不安全,jsp提供的隐藏注释在浏览器和查看源代码的时候都看不到。安全性更⾼。
jsp基础教程
第1章 JSP概述
1.1 什么是JSP
网络通信中最常见的模式是B/S模式,即需要获取信息的用户使用浏览器向某个服务器发出请求,服务器进行必要的处理后,将有关信息发送给服务器。在B/S模式中,服务器上必须有所谓的Web应用程序,这样的应用程序负责处理用户的请求,满足用户对信息的请求。
JSP是Web服务器端开发技术,利用这一技术可以建立安全、跨平台的Web应用程序。JSP的安全性和跨平台得益于Java语言,这是因为Java语言具有不依赖于平台、面向对象和安全等优良特性,已经成为网络程序设计的佼佼者。许多和Java有关的技术得到了广泛的应用和认可,JSP技术就是其中之一。读者可能对Microsoft的ASP(Active
Server Pages)比较熟悉,ASP也是一项Web服务器端的开发技术,可以开发出动态的、高性能的Web服务应用程序。JSP和ASP技术非常相似。ASP使用的是VBScript脚本语言,而JSP使用的是Java编程语言。与ASP相比,JSP以Java技术为基础,又在许多方面做了改进,具有动态页面与静态页面分离、能够脱离硬件平台的束缚及编译后运行等优点,完全克服了ASP的脚本级执行的缺点。JSP已经成为开发动态网站的主流
技术。
需要强调的一点是:要想真正地掌握JSP技术,必须有较好的Java语言基础,以及HTML语言方面的知识。
1.2 安装配置JSP运行环境
JSP的核心内容就是编写JSP页面(有关JSP页面的内容见本章1.3节和第2章的2.1节)。对于JSP页面,需要一个应用程序来运行它,我们将这样的应用程序称作JSP引擎或JSP容器。将安装JSP引擎的计算机称作一个支持JSP的Web服务器。支持JSP的Web服务器负责运行JSP,并将运行结果返回给用户,有关JSP的运行原理将在1.4节讲解。
自从JSP发布以后,出现了各式各样的JSP引擎。1999年10月Sun公司将Java Server
jsp三大指令标记,七大动作标记、详解。
jsp三⼤指令标记,七⼤动作标记、详解。
JSP的基本构成
JSP页⾯主要由指令标签,注释,嵌⼊Java代码,JSP动作标签,HTML标记语⾔等五个元素组成。
3个指令标签
1 、page指令
page指令⽤户定义JSP页⾯中的全局属性 ,Eg:<%@ page attr1=”value1” atrr2=”value2”.......%>
page指令对整个页⾯有效,包括静态的包含⽂件,但page指令不能⽤于被动态包含的⽂件,例如使⽤包含的⽂件。在⼀个
JSP页⾯中可以使⽤多个page指令,但page指令中的属性只能出现⼀次(import属性除外)。
page指令的常⽤属性如下:
(1) language属性 该属性⽤于设置JSP页⾯使⽤的语⾔,⽬前只⽀持Java语⾔。例:<%@ page language=”java” %>
(2) extends属性 该属性⽤于设置JSP页⾯所继承的Java类,JSP和Servlet都可以继承指定的⽗类,但该属性并不常⽤.
(3) import属性 该属性⽤于设置JSP所导⼊的类包,JSP页⾯可以嵌⼊Java代码⽚段,这些Java代码在调⽤API时需要导⼊相应的类包。例:
<%@page import=”java.util.*” %>
(4) pageEncoding属性 该属性⽤于定义JSP页⾯的编码格式,指定的⽂件编码格式。例:<%@ page pageEncoding=”UTF-8” %>
(5) contentType属性 该属性⽤于设置JSP页⾯的MIME类型和字符编码,浏览器会根据些解释页⾯。 例:<%@ page
contentType=”text/html;charset=utf-8” %>
(6) session属性 该属性⽤于定义JSP页⾯是否使⽤session会话对象,其值是boolean类型,默认值为true. Eg:<%@ page session=”true” %>
