jsp的用法
来源:互联网 发布:网络与internet连不上 编辑:程序博客网 时间:2024/06/05 07:54
一、jsp的概念
jsp(Java Server Pages)是一种动态网页技术,使用JSP标签可在HTML网页中插入Java代码。标签通常以<%开头,以%>结束。
jsp的本质就是一个servlet,jsp引擎将jsp转化为servlet即java代码,在编译成字节码文件即class文件(可执行文件),然后执行字节码文件。(放在Tomcat中的work文件夹中)
二、jsp功能(可以做什么)
JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。与html标签混合使用。
JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。
jsp页面可以显示从数据库获取的结果,通过表单获取用户的输入数据。三、jsp的语法
1、jsp的传统语法:采用的是<% //程序代码 %> 与标签语言有所不同,标准的标签语言只有<>(尖括号),没有%百分号
2、JSTL(JSP Standard Tag Library,JSP标准标签库):符合标准的标签语言(去除了jsp的百分号%),用来代替jsp。
3、JSF(JavaServer Faces):是一种用于构建 Web 应用程序的新标准 Java 框架,用来代替JSTL(但是推广的不是很好)。
四、jsp的传统语法
1、脚本程序
格式:<%代码片段 %>
脚本程序可以包含任意量的Java语句、变量、方法或表达式
注意:对于任何文本内容、HTML标签、jsp元素必须写在脚本程序的外面
2、jsp声明
格式:<%! declaration;[ declaration;]+... %> //这样声明的变量是成员变量
<% 变量 %> :这样声明的变量是局部变量,在service()方法内部,这样的话就不能声明方法了。 要区分开
一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。在JSP文件中,您必须先声明这些变量和方法然后才能使用它们。
3、 jsp表达式
格式:<%=表达式 %> //其中百分号与等号没有空格
JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。
注意:不能使用分号来结束表达式。
4、jsp注释
<%-- 注释 --%>JSP注释,注释内容不会被发送至浏览器甚至不会被编译<!-- 注释 -->HTML注释,通过浏览器查看网页源代码时可以看见注释内容
5、jsp指令元素(指令:directive)(这是编译指令)
JSP指令用来设置与整个JSP页面相关的属性。
<%@ page ... %>定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等(指明与jsp容器的沟通方式)<%@ include ... %>包含其他文件(不能传参数)<%@ taglib ... %>引入标签库的定义,可以是自定义标签(1)page指令的属性
contentType指定当前JSP页面的MIME类型和字符编码errorPage指定当JSP页面发生异常时需要转向的错误处理页面isErrorPage指定当前页面是否可以作为另一个JSP页面的错误处理页面import导入要使用的Java类(2)include指令的属性
<%@ include file="文件相对 url 地址" %> //被包含的文件可以是JSP文件、HTML文件或文本文件。(3)taglib指令的属性
<%@ taglib uri="uri" prefix="prefixOfTag" %>
uri属性确定标签库的位置,prefix属性指定标签库的前缀。
6、jsp动作元素(这是运行期间指令)
JSP动作元素在请求处理阶段起作用。JSP动作元素是用XML语法写成的。
利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件生成HTML代码。
常见的属性
所有的动作要素都有两个属性:id属性和scope属性。
- id属性:
id属性是动作元素的唯一标识,可以在JSP页面中引用。动作元素创建的id值可以通过PageContext来调用。
- scope属性:
该属性用于识别动作元素的生命周期。 id属性和scope属性有直接关系,scope属性定义了相关联id对象的寿命。 scope属性有四个可能的值: (a) page, (b)request, (c)session, 和 (d) application。
<jsp:includepage="date.jsp"flush="true">
<jsp:param name="ParamName" value="paramValue"/>
</jsp:include>
<jsp:forward page="相对 URL 地址" /><jsp:forward>与response.sendRedirect的区别
这个功能非常有用,因为它使得我们可以发挥 Java 组件复用的优势。
7、jsp隐含对象
jsp隐含对象可以直接使用。
requestHttpServletRequest类的实例responseHttpServletResponse类的实例outPrintWriter类的实例,用于把结果输出至网页上sessionHttpSession类的实例applicationServletContext类的实例,与应用上下文有关configServletConfig类的实例pageContextPageContext类的实例,提供对JSP页面所有对象以及命名空间的访问page类似于Java类中的this关键字ExceptionException类的对象,代表发生错误的JSP页面中对应的异常对象
五、jsp EL(jsp表达式语言)
EL可以用来访问存储在JavaBean中的数据,非常的方便。
JSP EL允许您指定一个表达式来表示属性值。一个简单的表达式语法如下:
${expr}在JSP EL中通用的操作符是 . 和 {} 。这两个操作符允许您通过内嵌的JSP对象(jsp隐含对象)访问各种各样的JavaBean属性。
1、停止使用EL表达式,需要使用page指令将isELIgnored属性值设为true:
<%@ page isELIgnored ="true|false" %>2、param和paramValues对象
param和paramValues对象用来访问参数值,通过使用request.getParameter方法和request.getParameterValues方法。
举例来说,访问一个名为order的参数,可以这样使用表达式:${param.order},或者${param["order"]}。
param对象返回单一的字符串,而paramValues对象则返回一个字符串数组。
3、JSP EL中的函数
JSP EL允许您在表达式中使用函数。这些函数必须被定义在自定义标签库中。函数的使用语法如下:
${ns:func(param1, param2, ...)}
ns指的是命名空间(namespace),func指的是函数的名称,param1指的是第一个参数,param2指的是第二个参数,以此类推。
要使用任何标签库中的函数,您需要将这些库安装在服务器中,然后使用<taglib>标签在JSP文件中包含这些库。
getAttribute和getParameter的区别
getAttribute表示从request范围取得设置的属性,那么我们必须先setAttribute设置属性,才能获得属性,设置与取得的为string类型。HttpServletRequest类既有getAttribute()方法也有getParameter方法,这两个方法有什么区别呢?
1、getAttribute是返回对象,getParameter返回字符串。
2、request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。
3、与getAttribute()方法对应的有setAttribute()方法,但是没有雨getParameter()相对的setParameter().
4、request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。
1、getAttribute()方法(返回的是对象)
它是一个函数。它只有一个参数。那个参数就是我们使用getElementById()或者使用getElementByTagName()方法取出来的节点元素的属性名称。
2、getParameter()方法(返回的是String类型)
getParameter的中文意思就是获取参数,那么这个方法的作用就是用来获取参数的,它得到的是String类型。或者是用于读取提交的表单中的值,或是是某个表单提交过去的数据。getParameter()是获取POST/GET传递的参数值;它用于客户端重定向时,即点击了链接或提交按扭时传值用,即用于在用表单或url重定向传值时接收数据用。
- JSP Session的用法
- JSP cookie的用法
- jsp:useBean的用法
- <jsp:userbean>的用法
- <jsp:attribute>的用法
- jsp的部分用法
- jsp标签的用法
- jsp的用法
- jsp:useBean的用法
- JSP Modul 1(jsp+javabean的用法)
- 【JSP】JSP内置对象Cookie的用法
- JSP中日期的用法
- JSP中日期的用法
- -- jsp中cookie的用法!
- jsp中cookie的用法!
- JSP中Cookie的用法
- JSP中日期的用法
- JSP中日期的用法
- JS排序算法
- 进程
- 算法竞赛入门经典(第二版)第二章课后习题
- qt pro文件环境变量
- 学习笔记与总结
- jsp的用法
- HDU 3966 Aragorn's Story (树链剖分 区间更新,点查询)
- java对象的创建过程:类的初始化与实例化
- 正则表达式知识整理
- PTA 列车调度(25 分)
- leetcode---recover-binary-search-tree---树
- numpy.zeros()
- Leetcode||32. Longest Valid Parentheses
- Spring Boot集成Swagger2并替换默认的UI