JSP的注释
<%--........--%>
JSP指令和JSP动作(标准的JSP标签)
JSP指令的语法
<%@... ....%>
<%@include file="...."%> 包含指令,包含指令会将要包含的文件代码原样输出到本页面(在翻译时把包含文件的内容引入并合并),不进行翻译,file属性制定要包含的文件的名字(注意要包含的文件的路径),这个指令可以实现页面的复用。
注意:<%@include file=" "%>要包含的JSP文件中不能定义重名的变量,如果不使用包含指令,那么JSP中的最小转换单元就是JSP文件,使用了包含指令就会将多个jsp的结果合并到一起。
<%@page ..%>页面指令
<%@page import="..."%> 引入包 例:<%@page import="java.util.*,ent.*"%>(可出现多次)
<%@page pageEncoding="GBK"%>设定页面显示的字符集
<%@page contentType="text/html;charset=GBK"%>设置输出流的编码方式和文件格式。
注意:输出的字符集编码方式要和页面显示的字符集相同,一般定义输出流的编码方式,注意以上两个页面指令在JSP中最好只出现一次。注意在请求中传送的参数的值是中文的话需要调用请求request的
setCharacterEncoding("..")方法设置相应的编码方式,只适用于post请求,也可以通过Servlet的Filter来进行中文编码方式的处理。
<%@page language="java"%>指定JSP的脚本语言,现在只能写java
<%@page extends=".."> 指定翻译后代码类型的父类,最好不要使用这个指令
<%@page session="true|false"%>指定是否自动创建Session,最好不自己指定,使用默认值
<%@page buffer=".." autoflush="true|false"%>设置输出的缓存和是否自动刷新缓存,一般情况下都使用默认值,缓存的默认值为8KB。
<%@page isThreadSafe="true|false"%>是否线程安全,默认为true,也就是线程安全,只使用默认值。
<%@page info=".."%>设置页面信息,一般不用
<%@page errorPage=""%>指定异常处理页面
<%@page isErrorPage="true|false"%>设定本页面就是异常后跳转的页面
<%@page isELIgnored="true|false"%>设定本页面是否忽略JSP2.0种EL表达式
<%@taglib ..%> 标签库指令,用于引入自定义标签库
JSP动作
<jsp:... ...>
<jsp:include page="..." flush=true|false> include动作是在翻译和编译后运行时进行响应的合并,也就是对应了Servlet中RequestDispatcher类的include(ServletRequest request, ServletResponse response)方法。
include动作可以传递参数
<jsp:include page="test.jsp">
<jsp:param name="user" value=" ">
</jsp:include>
在使用参数时,可以用request内置对象来获取参数的值。
<jsp:forward page="xxx/xxx.jsp">forward动作对应的是Servlet中RequestDispatcher类的forward(ServletRequest request, ServletResponse response)方法,也就是把请求进行转发。
也可以写成
<jsp:forward>
<jsp:attribute name="page">xxx/xxx.jsp</jsp:attribute>
</jsp:forward>
这种写法等价于上面的写法。
在使用Servlet的response的重定向sendRedirect(String location)方法在使用时要包含应用的路径,注意,重定向会放弃这个请求,并向服务器发送一个新的请求,但是响应对象还是一个。重定向是用来避免重复提交的。
注意:对页面的刷新操作就会再一次运行程序,也就仿佛进行了再一次的提交一样,这也就是重复提交的问题,所以需要使用重定向来解决这个问题。
<jsp:plugin type="bean|applet" code="...">
...
</jsp:plugin>
jsp:plugin动作可以使页面上运行applet,或者是使用java代码。
<jsp:useBean id="对象名" class="类全名"|type="类全名"(使用多态时使用) beanName="类全名" scope="page|request|session|application">
jsp:useBean动作,可以通过这个动作来使用java代码,id就是变量名,clss和type的区别在于,使用type是不会创建对象,而只是会先查找如果有该对象就会使用,如果没有就会抛出异常,class在没有该对象存在时,则会创建新对象。scope是用来保存实例的空间范围,page、request、session、application,由小到大,默认为page。
<jsp:setProperty name="对象名" property="属性名" value="属性值"/>
直接指定Bean属性的值,必须类型一致。
<jsp:setProper name="对象名" property="属性名" param="from表单中的响应的参数名"/>
用表单中指定的参数来为Bean属性赋值,系统会自动作类型转换。
<jsp:setProperty name="对象名" property="属性名"/>
用表单中和Bean属性同名的标单项来给Bean属性赋值,这样写只会为指定的属性赋值
<jsp:setProper name="对象名" property="*"/>
这种方式会自动用表单中的同名参数来为Bean的所有属性赋值
<jsp:setProperty name="对象名" property="属性名" value="<%= ...%>"/>
使用表达式来为Bean的属性进行赋值
<jsp:getProperty name="对象名" property="属性名">
取得指定的属性,这个动作不常用,一般用表达式代替。
我们可以通过设置属性名的方法名也就是setXxxx()来控制属性的赋值,用form表单的参数为Bean的属性赋值时,系统会自动的调用与之同名属性的setXxxx()方法,尤其是日期类型,可以通过使用这一方法来处理。
例:
import java.sql.*;
public class Person{
private Srting name;
private Date birthday;
public void setName(String name){
this.name=name;
}
public void setBirthdayAsString(String birthday){
this.setBirthday(valueOf(birthday));
}
public void setBirthday(Date birthdays){
this.birthday=birthday;
}
}
add.jsp
<jsp:useBean id="person" type="Person" scope="request">
<jsp:setProper name="person" property="*"/>
</jsp:useBean>
toadd.jsp
<form action="xxx" methmod="post">
<input type="text" name="name">
<input type="text" name="birhtdayAsString">
<input type="submit" value="add.jsp">
</form>
JavaBean和EJB的区别
JavaBean是可视的或者是不可视的,不用部署,EJB是不可视的,需要部署到服务器中。
JavaBean部署在应用程序中, EJB是部署在容器中,可以是有状态或者是无状态的,声明式事务。
JavaBean的属性和方法是普通的,EJB是需要遵守规范,是需要通过标准的描述符来定义的。
JavaBean是基于事件驱动的,EJB中只有消息驱动Bean是基于事件的
分享到:
相关推荐
**二、JSP静态化的优点** 1. **提高性能**:静态HTML页面的加载速度远超动态JSP页面,因为静态页面无需经过服务器解析,直接由Web服务器发送给浏览器。 2. **降低服务器压力**:大量请求时,静态页面可以减少...
JSP2是JSP技术的第二代版本,它引入了许多新特性,提升了开发效率和性能。本指南旨在帮助初学者逐步掌握JSP2的核心概念,最终成为JSP开发的专家。 ### JSP2简介 JSP2是基于Java Servlet API的,它允许开发者使用...
Beginning JSP 2: From Novice to Professional by Peter den Haan, Lance Lavandowska, Sathya Narayana Panduranga and Krishnaraj Perrumal ISBN:1590593391 Apress © 2004 (480 pages) Let this be your ...
2. **JSTL(JavaServer Pages Standard Tag Library)标准标签库**:JSTL提供了多种通用的标签,如循环、条件判断、XML处理等,降低了开发者使用自定义标签的复杂度。 3. **Page指令的`isThreadSafe`属性**:允许...
JSP2_0技术手册大家都知道了,这个是chm版,不存在清晰度问题~
`JSP2_0技术手册.pdf`是详尽的指南,涵盖了JSP2.0的各个方面。而`jsp 2.0 技术手册随书代码.zip`则提供了示例代码,帮助读者通过实践加深理解。 总之,JSP2.0技术手册是学习和掌握JSP2.0的关键资源,通过阅读和实践...
JSP2是其第二个主要版本,引入了许多改进和新特性,旨在提高开发效率和性能。本文将深入探讨JSP2的基础知识,帮助你轻松掌握JSP的核心要点。 ### JSP2简介 JSP2在JSP1的基础上进行了大量的优化,引入了Expression ...
具体的文件结构和内容,我们需要解压文件才能得知,但从名字推测,它可能包含了JSP第二部分的内容,或者是作者的第二个JSP学习项目。 JSP(Java Server Pages)是Java平台上的一种动态网页技术,它允许开发者在HTML...
《jsp2技术手册》是一份详细探讨JSP(Java Server Pages)2.0版本的资源集合,其中包含了理论解析、实例代码以及实践指南。JSP是Java平台上的一个核心技术,它允许开发者使用HTML或者XML语法来创建动态网页,而其...
《JSP2编程指南:从初学者到专家》是一本专为Java Server Pages(JSP)初学者和希望深入理解JSP技术的开发者设计的教程。本书英文版提供了丰富的学习资源,同时也为读者提供了一个练习英语阅读理解的机会。在学习...
jsp级联菜单源代码 保证最简单的代码, 只要见过、研究过jsp就能看的懂。
**JSP2应用教程与实例** JavaServer Pages(JSP)是Java平台上的一个服务器端技术,用于创建动态网页。JSP2是JSP技术的一个重要版本,它引入了许多改进和新特性,使得开发Web应用程序更为高效和灵活。本教程旨在...
JSP2是JSP的第二个主要版本,它引入了许多增强功能,提高了开发效率和灵活性。本书“JSP2 编程指南:从初学者到专家”旨在帮助读者从基础开始,逐步掌握JSP2的各种核心概念和技术,最终成为JSP领域的专家。 **1. ...
JSP2是JSP的第二个主要版本,引入了许多改进和新特性,旨在提高开发效率和性能。本文将详细介绍JSP2的关键知识点,帮助初学者逐步成为JSP专家。 1. **JSP2核心概念** - **JSP页面生命周期**:包括翻译、初始化、...
"www_sj00_com.txt"可能是书中引用的一个示例网址或代码片段,而"BeginningJSP2n2p"可能是指书中的某个章节或部分,比如"第二部分,JSP2.0入门"。 通过学习这本书,读者不仅可以掌握JSP的基本使用,还能了解到JSP2....
在这个"超简单的ajax+jsp实现2级联动"的例子中,我们将探讨如何利用AJAX(Asynchronous JavaScript and XML)技术和JavaServer Pages (JSP)来实现这种功能。 首先,我们需要了解AJAX的基本原理。AJAX允许网页在不...
JSP2是JSP技术的第二代版本,它在JSP1的基础上进行了大量的改进和增强,为开发人员提供了更高效、更灵活的Web应用开发体验。本指南将带领你从JSP的基础概念出发,逐步深入到高级主题,助你成为一名JSP专家。 **1. ...
2. **标准标签库(JSTL)支持**:JSP2.0引入了对JSTL(JavaServer Pages Standard Tag Library)的官方支持,鼓励开发人员使用预定义的标签来替代自定义脚本,提高了代码的可维护性和可重用性。 3. **分离的Java...