MLDN魔乐JAVAWEB课堂05_JSP基础语法(中)
020505_实例操作:用户登陆程序实现(JSP + JDBC实现)
程序开发思路
E-MAIL:mldnqa@ :
Байду номын сангаас
需要的JSP页面
No. 1 2 3 4 页面名称 login.jsp login_check.jsp login_success.jsp login_failure.jsp 描述 提供用户的登陆表单,可以输入用户id和密码。 登陆检查页,根据表单提交过来的id和密码进行数据库验证, 成功跳转到登陆成功页,否则跳转到登陆失败页。 登陆成功页,显示欢迎信息。 登陆失败页,提示用户输入错误,并提供重新登陆的超链接。
E-MAIL:mldnqa@ :
小结
本程序综合使用了JSP + JDBC进行开发,展示了一个简单的登陆程序, 本程序做为一个程序开发的基本模型,在日后的开发中会继续不断完善。
E-MAIL:mldnqa@ :
下一章内容
JSP内置对象 内置对象
E-MAIL:mldnqa@ :
JAVA WEB开发实战经典 开发实战经典
第5章:JSP基础语法 ——实例操作:用户登陆程序实 现(JSP + JDBC实现)
北京魔乐科技软件学院
李兴华
© MLDN 软件教学研发部
本章目标
通过完整的登陆程序,对JSP中的基本语法进行巩固
E-MAIL:mldnqa@ :
数据库表结构
E-MAIL:mldnqa@ :
第2章 JSP语法
7.JSP 动作标记
• include 动作标记 <jsp:include page= "文件的URL"/> 或 <jsp:include page= "文件的URL"> param子标记 </jsp:include>
include 动作标记是在JSP页面运行时才处理文件,被处理的文件在逻辑 和语法上独立于当前JSP页面.
• param动作标记
param标记以“名字—值”对的形式为其它标记提供附 加信息. param 标 记 不 能 独 立 使 用 , 需 作 为 jsp:include 、 jsp:forward、jsp:plugin标记的子标记来使用。 param动作标记语法格式:
<jsp:param name= “名字” value= “指定给param的值”> 当该标记与jsp:include动作标记一起使用时,可以将param标记中 的值传递到include动作标记要加载的文件中去,被加载的JSP 文 件 可 以 使 用 Tomcat 服 务 器 提 供 的 request 内 置 对 象 获 取 include动作标记的param子标记中name属性所提供的值
• contentType属性
contentType 属性值确定JSP页面响应的MIME (Multipurpose Internet Mail Extention)类型和JSP页 面字符的编码。 例如:
<%@ page contentType2" %>
不允许两次使用page 指令给contentType属性指 定不同的属性值 .
l language属性 定义JSP页面使用的脚本语言,该属性的值目前只能取"java"。 为language属性指定值的格式: <%@ page language="java" %> l import 属性 该属性的作用是为JSP页面引入Java运行环境提供的包中的类, 这样就可以在JSP页面的程序片部分、变量及函数声明部分、 表达式部分使用包中的类。 例如: <%@ page
第3章 JSP语法
运行该段代码将生成下面的HTML代码: <a href="welcome.jsp">链接到welcome.jsp</a>
20
(3) 动态指定Form表单处理页面,例如下面的代码:
<% String name="logon.jsp"; %> <form action="<%=name%>"></form>
isErrorPage属性:将该属性值设为true,此时在当 前页面中可以使用exception异常对象。若在其他页 面中通过errorPage属性指定了该页面,则当前者出 现异常时,会跳转到该页面,并可在该页面中通过 exception对象输出错误信息。相反,如果将该属性 设置为false,则在当前页面中不能使用exception 对象。该属性默认值为false。 【例3-1】errorPage属性及isErrorPage属性的应14用
<!-- JSP表达式 -->
今天是:<%=today%>
<!-- HTML标记语言 -->
</center>
</body>
3
</html>
3.1.1 JSP中的指令标识 利用JSP指令可以使服务器按照指令的设置来执行
动作和设置在整个JSP页面范围内有效的属性。
<%@ page language="java" contentType="text/html; charset=gb2312" %>
[ isELIgnored="true|false" ]
2JSP的基础语法PPT课件
本章将详细介绍什么是JSP,JSP具有哪些特点。还将介绍 JSP的运行机制以及JSP的脚本元素。通过本讲的学习,应该能够 完成如下几个目标。 • 了解JSP的基本特点。 • 理解JSP的运行机制 • 熟练使用JSP声明语句 • 熟练使用JSP Scriptlets • 熟练使用JSP表达式
04
</head>
05
<body>
06
<%
07
String str = "Hello"; //声明字符串str
08
%>
09
<%= str%>
10
</body>
11
</html>
2.4 注释
JSP的注释分为两类,一类为可以在客户端显示的注释,即HTML注释;一 类是不能在客户端显示的注释,即JSP注释。
<html>
02
<head>
03
<title>JavaScriptletsDemo</title>
04
</head>
05
<body>
06
<%
07
String str = "Java Scriptlets Demo"; //声明字符串str
08
out.println(str); //输出字符串str
09
HTML注释使用<!--作为开始,以-->作为结束,中间包含的代码即为注释部 分。
JSP注释使用<%- -作为开始,以--%>作为结束,中间包含的代码即为注释 部分。
第2章 JSP语法基础 2.3 JSP指令元素、2.4 JSP动作元素
第2章 JSP语法基础
2.3 JSP指令元素 2.4 JSP动作元素
JSP开发案例教程
本章内容
01 脚本元素 03 JSP指令元素
02 案例ch2.2_datetime: 时间格式化
04 JSP动作元素
05 案例ch2.5_include: 框架类型网页
06 小结与练习
2.3 JSP指令元素
指定在当前页
4
session
中是否允许 10 isThreadSafe 指定是否线程安全
session操作
5
buffer
指定处理页面 输出内容时的 11 缓冲区大小
autoFlush
是定当缓冲区满时是 否自动清空
指定当前页面
说明当前页面是否为
6
errorPage 运行异常时调 12 isErrorPage 其他页面的异常处理
该JSP动作表示获取或创建一个名称为guess的、属于类com.GuessNumber的、生命周期 为session的对象,详见本书案例ch5.4_guessNumber(猜数游戏)。
JSP开发案例教程
所有的动作元素需要两个属性:
id属性
id属性是动作元素的唯一标识,可以在 JSP页面中被引用。动作元素创建的id值 可以通过PageContext来调用。
可以使用绝对或相对URL。 ✓ tagDir属性指示前缀将被用于标识在WEB-INF/tags目录下的标签文件。
2.4 JSP动作元素
JSP开发案例教程
2.4 JSP动作元素
JSP动作元素
➢ JSP动作利用XML语法格式的标记,来控制JSP容器Servlet引擎的行为。 ➢ 利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件
002 JavaWeb技术之JSP篇
JSP示例(Hello.jsp)
<%@ page contentType="text/html;charset=gb2312" %> <%@ page import="java.util.*"%> <HTML> <BODY> <% for ( int i=0; i<2; i++ ) { %> 你好<br> <% } %> </BODY> </HTML>
39
“peixun2.6.1.jsp”
<%@ page import="java.util.*" %> <%=(new java.util.Date() ).toLocaleString() %>
40
包含指令
41
Page指令
“Page”指令用于定义JSP文件中的全局属性。 JSP 语法格式如下: <%@ page [ language="java" ] [ extends="package.class" ] [import="{package.class | package.*},..." ] [ session="true | false" ] [ buffer="none | 8kb | sizekb" ]
35
break; case 2: out.println("You must select condition 2!"+"<br>"); break; default: out.println("Your select not in \"0,1,2\",select again!!"+"<br>"); } %> </body> </html>
JSP第四章 JSP语法(新)
%>
</BODY></HTML>
4.3 Java程序片
➢ 一个JSP页面中的Java程序片会按其在页面中的顺序被执行,
而 且 某 个 Java 程 序 片 中 声 明 的 局 部 变 量 在 其 后 继 的 所 有
Java程序片以及表达式内都有效。
➢ 可以将一个Java程序片分割成几个Java程序片,然后在这些
String tom=null,jerry="love JSP"; Date date; %>
4.2 变量和方法的声明
example2_2.jsp:利用成员变量被所有用户共享,实现计数器
<%@ page contentType="text/html; charset=GB2312" %>
<HTML><BODY BGCOLOR=cyan> <FONT size=3>
} double div(double x,double y) {
return x/y; } %> <% double x=3.56; double y=18; out.println("调用multi方法计算"+x+"与"+y+"之积:<br>"); out.println(multi(x,y)); out.println("<BR>调用div方法计算"+y+"除以"+x+"的商:<br>"); String s =String.format("小数点保留3位:%10.3f",div(y,x)); out.println(s); %> </body></HTML>
JSP语法以及其他相关知识点笔记
JSP技术通过以上的案例发现Servlet做为一个动态网页开发技术太不靠谱。
尤其是需要编写一个页面的时候,需要指定页面的模板标签、还要处理很多的业务逻辑。
因此比较繁琐。
思考:Servlet为什么写一个页面那么吃力?主要的原因在于Servlet实在java中写标签。
鉴于以上的原因那么SUN提供了动态网页开发技术之JSP。
JSP即Java Server Page。
可见JSP本身是页面,那么在页面那种编写HTML标签应该非常轻松。
◆JSP体验<body>system date: <%=new java.util.Date() %></body>总结:1.servlet就是在java中写html比较烦,servlet是做获取参数并请求转发。
2.jsp就是html中写java比较烦,jsp主要是显示数据。
JSP运行原理JSP本质是一个Servlet只不过这个Servlet更加善于编写页面。
JSP语法学习JSP应该从以下几个方面学习:◆JSP模板元素JSP是在HTML中写java代码,那么JSP中最基本的是HTML元素。
我们将这些元素称之为JSP的模板元素。
◆JSP输出表达式JSP表达式主要用于输出变量以及输出表达式。
语法:<%= 表达式%>表达式后面不能有分号。
举例1:输出一个表达式。
2>1 = <%= 2>1 %><br/><%=page %><br/>运行结果2>1 = trueorg.apache.jsp.index_jsp@1135cd9总结:所有的JSP页面中的输出表达式会被翻译在java类中的_jspService()并使用out.write()方法进行了封装。
该输出表达式还可以输出变量,但是当前需要先定义一个变量。
JSP脚本JSP脚本主要用于定义局部变量和编写JAVA业务代码。
语法:<% JAVA代码%>举例1:使用JSP脚本定义变量。
Jsp入门--语法格式(%%)、指令(page、include、taglib)
Jsp⼊门--语法格式(%%)、指令(page、include、taglib)JSP脚本1. <% java代码 %>⽅法内部的代码都可以写在个位置<% String s1 = "hello jsp"; %>2. <%=java代码 %>把java代码运⾏的结果在页⾯显⽰, 要求java代码是⼀个表达式<%=s1 %>3. <%! java代码 %> 使⽤很少对属性的声明,⽅法的声明4、jsp的注释 <%-- ... --%>JSP是特殊的Servlet JSP是⼀种特殊的Servlet,当JSP页⾯⾸次被访问时,容器(Tomcat)会先把JSP编译成Servlet,然后再去执⾏Servlet。
所以JSP其实就是⼀个Servlet!JSP真⾝存放⽬录 JSP⽣成的Servlet存放在${CATALANA}/work⽬录下,我经常开玩笑的说,它是JSP的“真⾝”。
我们打开看看其中的内容,了解⼀下JSP的“真⾝”。
你会发现,在JSP中的静态信息(例如<html>等)在“真⾝”中都是使⽤out.write()完成打印!这些静态信息都是作为字符串输出给了客户端。
JSP的整篇内容都会放到名为_jspService的⽅法中!JSP指令语法:语法格式: <%@ 指令名属性名1=值1 属性名2 = 值2.... %>1. page指令: 对jsp页⾯⼀些设置2. include指令: 包含其他jsp页⾯3. taglib指令: 引⼊标签库 (往后)page指令page指令是最为常⽤的指定,也是属性最多的属性!page指令没有必须属性,都是可选属性。
例如<%@page %>,没有给出任何属性也是可以的!在JSP页⾯中,任何指令都可以重复出现!默认创建的jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>属性:1、 language: jsp⽀持的编程语⾔: 值只能是java2、 pageEncoding: 设置jsp的编码:指定当前JSP页⾯的编码!这个编码是给服务器看的3、 Content-type: contentType属性与response.setContentType()⽅法的作⽤相同! 它会完成两项⼯作,⼀是设置响应字符流的编码,⼆是设置content-type响应头。
MLDN魔乐科技-直击面试系列-破解Java面试题-2—Java+WEB面试题
Java Web面试题讲解1、JSP和Servlet在面试中出现的题目2、MVC设计模式1、JSP有哪些内置对象?作用分别是什么?a)一共有九个内置对象pageContext javax.servlet.jsp.PageContextrequest javax.servlet.http.HttpServletRequestresponse javax.servlet.http.HttpServletResponsesession javax.servlet.http.HttpSessionapplication javax.servlet.Servlet Context -->可用this.getServletContext()替代config javax.servlet.ServletConfigexception ng.Throwablepage ng.Objectout javax.servlet.jsp.JspWriterb)作用:1、pageContext 表示页容器-->EL、标签、上传2、request 服务器端取得客户端的信息:头信息、Cookie、请求参数、MVC设计模式3、response 服务器端回应给客户端信息:Cookie、重定向4、session 表示每一个用户,用于登录验证上5、application 表示整个服务器,getRealPath()6、config 去的初始化参数,初始化参数在web.xml中配置7、exception 表示的是错误页的处理操作8、page 如同this一样,表示整个JSP页面9、out 输出,但是尽量使用表达式输出2、JSP有哪些动作?作用分别是什么?所谓的动作—>指标签指令:·<jsp:include>:包含·<jsp:forward>:跳转·<jsp:useBean>:使用JavaBean·<jsp:setProperty>:设置属性,通过反射调用方法·<jsp:getProperty>:取得属性·<jsp:plugin>插入Applet程序的代码3、JSP中动态include与静态include的区别?·动态include:<jsp:include>,如果包含的是动态页,则先编译之后再进行处理·静态include:<%@include%>,直接将内容先包含后处理4、两种跳转方式?区别?·服务器跳转:<jsp:forward>,跳转之后地址栏不改变,可以传递request属性实际上是对RequestDispathcer 接口的封装。
《JSP实用教程(第三版)》课后答案
《JSP实用教程(第三版)》课后答案第1章 JSP简介1.安装Tomcat引擎的计算机需要事先安装JDK吗?答:需要。
2.怎样启动和关闭Tomcat服务器?答:bin目录下使用startup.bat启动Tomcat服务器。
bin目录下使用shutdown.bat 关闭Tomcat服务器。
3. Boy.jsp和boy.jsp是否是相同的JSP文件名字?答:不是4. 请在D:\下建立一个名字为water的目录,并将该目录设置成一个Web服务目录,然后编写一个简单JSP页面保存到该目录中,让用户使用虚拟目录fish 来访问该JSP页面。
答:设置方法:①建立D:\ water目录;②修改server.xml文件,在</host>上一行添加:<Context path="/fish" docBase="D:\ water" debug="0" reloadable="true"/>③使用http://localhost:8080/ fish /example1_1.jsp访问example1_1.jsp页面.5. 假设Dalian是一个Web服务目录,其虚拟目录为moon。
A.jsp保存在Dalian 的子目录sea中。
那么在Tomcat服务器(端口号8080)所在计算机的浏览器键入下列哪种方式是访问A.jsp的正确方式?A.http://127.0.0.1:8080/A.jsp B. http://127.0.0.1:8080/Dalian/A.jspC. http://127.0.0.1:8080/moon/A.jspD. http://127.0.0.1:8080/moon/sea/A.jsp 答:D6.如果想修改Tomcat服务器的端口号,应当修改哪个文件?能否将端口号修改为80?答:修改Tomcat服务器的conf目录下的主配置文件server.xml可以更改端口号.若Tomcat服务器上没有其它占有80端口号的程序,可以将其修改为80,否则不能。
Java程序设计Java基本语法
《Java程序设计案例教程()》模块2 Java基本语法学习目的∙熟悉Java地基本语法。
掌握基本数据类型。
∙掌握常量,变量地定义与使用。
(编码规范)掌握运算符地使用。
(工匠精神)掌握数据类型地转换。
掌握数据地输入与输出格式。
(科学思维)2常量与变量*案例2-1自我介绍目录CONTENTS 3Java地基本数据类型4数据地输入与输出*案例2-2购房贷款计算5运算符与表达式6数据类型转换1Java地关键字与标识符*案例2-3数字反转新课导入每一种编程语言都有自己地一套语法规范,Java语言也不例外,同样有一定地语法规范,如代码地书写,标识符地定义,关键字地应用等。
因此,学好Java语言,首先需要了解它地基本语法。
2.1Java地关键字与标识符2.1.1Java地关键字关键字标识符2.1.2Java地标识符1.常用关键字在Java程序,有些字符串(单词)被赋予了特殊意义,有专门用途,被称作关键字。
Java地关键字都是小写字母组成地字符串,在大多数编辑器与集成开发环境都会用特殊颜色标识。
1.标识符地语法规范(1)标识符由字母,数字,下划线,美元符号组成,没有长度限制。
(2)标识符地第一个字符不能是数字字符。
(3)自定义标识符不能使用关键字命名。
(4)标识符区分大小写。
在编程过程,经常需要用一些符号来标识类名,变量名,方法名,类型名,数组名以及文件名等,这些符号称为标识符。
简单地说,标识符就是一个名字。
例如:age,_value,user_name,hello,$salary,姓名,类1123username,class,78.5,Hello World,a>b,?xy2.标识符命名风格为了增强源程序地可读性,增强系统地可维护性,在程序开发,不仅要做到标识符地命名合法(符合语法规范),还应符合以下风格:(1)标识符地命名应尽可能有意义,做到见名知意。
(2)包名用小写字母。
(3)类名与接口名每个单词地首字母要大写。
JavaScript 基础语法详解
10.2 Math
10.1基本类型包装 对象
10.3 Date
10.4 JSON 10.5 Set
10.6 Map
10.7迭代器、可迭 代对象和生成器
01
10.8 TypedArr ay
02
10.9 Symbol
03
10.10 Console
04
10.11 Reflect
05
10.12 Proxy
读书笔记
强烈推荐!!峰华老师出品必然是精品,没有一句废话,都是知识点。
目录分析
1
1.1发展历史
1.2
2
ECMAScript
提案流程
3
1.3运行 JavaScript
4
1.4浏览器环 境
环境
1.6开发工具 1.7基础语法概览
1.8严格模式 1.9小结
1.7.1变量与数据类型 1.7.2运算符 1.7.3流程控制 1.7.4函数
04
7.13 with语句
06
7.15小结
05
7.14值传 递与引用传 递
7.1.1简化属性 7.1.2计算属性名
JavaScript基础PPT课件
用于声明常量,其声明的常量值不可 以被重新赋值。const 声明的常量也 具有块级作用域,且必须初始化。
箭头函数与扩展运算符
箭头函数
ES6 引入的一种新的函数表达方式,使用箭头符号(=>)来定义函数。箭头函数可以简化函数的书写, 同时解决了 this 指向的问题。
如 `push()`、`pop()`、`unshift()`、 `shift()` 等方法用于在数组的末尾 或开头添加或删除元素。
遍历数组
如 `forEach()`、`map()`、`filter()`、 `reduce()` 等方法用于遍历数组元 素并执行相应的操作。
数组的方法与应用
• 查找和排序:如 indexOf()、lastIndexOf()、sort()等方法 用于查找元素或对数组进行排序。
04
对象的方法
05
方法是存储在对象属性中的函数。通过对象来调用该方法, 可以使用 `this` 关键字引用调用该方法的对象。
06
方法可以访问和操作对象的属性,也可以调用其他方法或全 局函数。
数组的概念与创建
数组的概念
数组是一种特殊的对象,用于存储有 序的元素集合。每个元素可以通过一 个索引来访问。
循环语句
使用`for`、`while`和 `do...while`循环结构,重 复执行一段代码。
跳转语句
使用`break`和`continue` 关键字,控制循环的执行 流程。
函数
函数定义
使,并编写
函数体。
函数调用
通过函数名和括号中的参数列表 调用函数,执行函数体内的代码。
发展
随着Web的普及和Ajax技术的出现,JavaScript逐渐受到重视,ECMAScript标准也 推动了JavaScript的规范化发展。如今,JavaScript已成为前端开发的三大核心技术 之一,与HTML和CSS共同构建Web应用。
第8讲--JSP语法PPT课件
JSP技术
3.4 声明、表达式、脚本和注释
3.3.1 声明
JSP声明用于产生类文件中类的属性和方法。声明后的变量
和方法可以在JSP页面中的任意位置使用,但仅限于当前页 面。
<%! String getDate() { //声明全局方法
阶段 翻译 编译 装载 创建 初始化
服务
销毁
描述
将JSP源文件翻译为对应的Servlet源文件(.java)
编译Java源文件(.java)为类文件(.class)
将类文件加载至内存中
创建一个Servlet类实例对象
调用jspInit()方法,最终调用Servlet类的init()方法初 始化
调用_jspService()方法,最终调用Servlet类的 service()方法,将请求和响应传递进对应的doXXX()方法
如果JSP页面不需要会话,设置session属性值为 false可以避免创建不必要的会话,从而可以防止 内存消耗和占用CPU时间,因此从性能角度上来说 是有意义的。
buffer属性和autoFlush属性
buffer属性指定输出缓冲区的大小,取值为none或 xKB。该缓冲区存储响应内容,直到发送给客户端为止。
✓ 缓冲区默认的大小取决于具体的JSP引擎,但JSP规范中 强制要求缓冲区大小不能小于8KB。
✓ 若指定缓冲区大小为none,则直接将数据发送给客户端。
autoFlush属性用于指定当缓冲区满时,是否自动将 数据发送到客户端,默认为true。
✓ 如果autoFlush属性取值为false,而缓冲区已满,若 此时试图添加更多数据到缓冲区中则会抛出异常。
JSP所有知识点详细整理,百科全书!!!MLDN
JSPJSP基础语法一.注释及Scriptlet1、注释(1)显示注释:客户端可以看见<!--注释内容-->(2)隐式注释:客户端无法看见格式一:// 单行注释格式二:/* */ 单行或多行注释格式三:<%--注释内容--%> JSP注释2、JSP程序执行时要有WEB容器的支持,必须启动Tomcat之后通过浏览器访问Tomcat,并执行程序。
3、Scriptlet:(脚本小程序)所有嵌入在HTML代码中的Java程序都必须使用Scriptlet标记出来。
4、JSP中的三种Scritplet代码:(1)<%%>:定义局部变量、语句。
(2)<%!%>:定义全局变量、方法、类。
(多用于定义全局变量)(3)<%=%>:输出一个变量或一个具体内容。
例:<%String info = "www.MLDNJA V " ; // 局部变量int temp = 30 ;%><h3>info = <%=info%></h3><h3>temp = <%=temp%></h3><h3>name = <%="LiXingHua"%></h3>5、out.println输出的问题是HTML代码和Java代码混合在一起;并且生成的代码没有缩进。
实际开发中应该使用表达式输出方式。
6、例子:通过交互性在页面中输出一个表格(1)print_table.htm<html><head><title>,MLDN高端Java培训</title></head><body><form action="print_table.jsp" method="post"><table border="1" width="100%"><tr><td>请输入要显示表格的行数:</td><td><input type="text" name="row"></td></tr><tr><td>请输入要显示表格的列数:</td><td><input type="text" name="col"></td></tr><tr><td colspan="2"><input type="submit" value="显示"><input type="reset" value="重置"></td></tr></table></form></body></html>(2)print_table.jsp<html><head><title>,MLDN高端Java培训</title></head> <body><%int rows = 0 ;int cols = 0 ;try{ // 异常处理rows = Integer.parseInt(request.getParameter("row")) ;cols = Integer.parseInt(request.getParameter("col")) ;}catch(Exception e){}%><table border="1" width="100%"><%for (int x=0;x<rows;x++){%><tr><%for(int y=0;y<cols;y++){%><td bgcolor="#00CC33"><%=x*y%></td><%}%></tr><%}%></table></body></html>7、scriptlet标签(使用较少)<jsp:scriptlet>Java的scriptlet代码</jsp:scriptlet>二.Page指令1、定义JSP页面的相关属性,包括设置MIME类型、定义需要导入的包、错误页的制定等。
JSP语法基础
JSP语法基础1、JSP基本概念JSP(Java Server Pages,Java服务器页面)是一种Web动态页面技术,JSP是嵌入了Java程序段的HTML 文件,由HTML元素(静态部分)、JSP元素(动态部分)和JSP注释组成。
JSP文件后缀名为.jsp。
JSP运行时会被容器翻译为Servlet源代码(xxx_jsp.java)、自动编译为.class文件(xxx_jsp.class)、载入.class文件,然后生成Servlet对象。
JSP和Servlet一样是服务器端技术,允许运行在Web服务器端。
JSP定义在JavaWeb工程中WebRoot根路径下或其下的某个目录,其访问方式和访问HTML文件一致。
注意:如果JSP文件放在WEB-INF目录中时,不能直接访问,需通过Servlet转发。
JSP在运行时会动态编译成一个Servlet,其本质上是就是一个Servlet,JSP是对Servlet技术的扩展。
Servlet完全由Java程序代码构成,擅长于流程控制和业务逻辑处理,一般用作控制器(Controller);JSP 由HTML元素和JSP元素构成,对页面的静态内容和动态内容进行了有效分离,擅长于内容的展示,一般用作视图(View)。
注:翻译生成的xxx_jsp.java和xxx_jsp.class文件的位置:Tomcat中,在apache-tomcat\work\Catalina目录需;在Eclipse中,在workspace下\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\XXX\org\apache\jsp。
2、JSP元素JSP元素包括脚本元素、指令元素和动作元素。
脚本元素(3种)用来声明类成员与方法。
使用<%!与%>声明变量时,必须小心数据共享与线程安全的问题。