我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: [ 独飞の孤心 ]JAVA EE学习之路 (三)--JSP 隐藏签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

独飞の孤心



性别: 帅哥 状态: 该用户目前不在线
头衔: 孽缘!
等级: 荣誉会员
家族: 单身贵族
发贴: 4484
威望: 3
浮云: 496
在线等级:
注册时间: 2005-10-12
最后登陆: 2011-09-23

5come5帮你背单词 [ employee /emploi'i:/ n. 受雇者,雇员 ]


[ 独飞の孤心 ]JAVA EE学习之路 (三)--JSP

一。基本语法

**html文本,直接传给用户
**html注释,发送给用户,但是不被浏览器显示
**模板文本,不加更改地传给用户
**jsp注释,开发人员注释,不发送到客户端<%--blah--%>
**jsp表达式,<%=java value%>(或<jsp:expression>expression</jsp:expression>)
**jsp scriptlet,<%java statement%>(<jsp:scriptlet>java code</jsp:scriptlet>)
**jsp声明,<%!field definition(or method definition)%>(<jsp:declaration>field or method definition</jsp:declaration>)
**jsp指令,<%@ directive att="value"%>,包括page,include,taglib和tag
**jsp动作,<jsp:blah>...</jsp:blah>,包括jsp:include,jsp:useBean,jsp:invoke
**jsp表达式语言的元素,${EL Expression}
**定制标签(定制动作)<prefix:name>body</prefix:name>
**转义的模板文本<\%,%\>

二。用jsp脚本元素调用java代码(jsp表达式,scriptlet,jsp声明)

一些隐式对象

**request
**response
**session jsp是自动创建对话的,所以这个变量一直存在,但是可以使用page的session属性禁用会话跟踪
**out 不是标准的printwriter,它对输出的内容进行缓冲,可以使用page的buffer属性调节
**application 返回类型和getServletContext一样,servlet和jsp可以在servletcontext对象中存储持久性数据
**config 该页的servletconfig对象
**pageContext PageContext类拥有getRequest,getRequest,getOut,getSeesion等方法。如果方法需要访问多个与页面相关的对象,传递pagecontext比传递多个对request,response,out的对象引用更容易
**page this的同义词

三。控制所生成的servlet的结构:jsp page指令

page指令定义的属性有:
import,contentType,session,isELIgnored,buffer,atuoFlush,info,errorPage,isErrorPage,isThreadSafe,language和extends

**<%@ page import="package.class1,package.class2..."%>
**<%@ page contentType="MIME-Type"%>,<%@ page contentType="MIME-Type";charset=Character-set%>
和这个相同:<%response.setContentType("...");%>
<%@ page pageEncoding="Shift_JIS"%>
**<%@ page session="true(or false)"%>如果为true,则当会话存在的时候就预定义变量session(HttpSession类型)帮定到现有会话,如果没有就创建一个新的会话。
**<%@ page isELIgnored=="false(or true)"%> true表示忽略表达式语言(EL ${...})
**<%@ page buffer="sizekb(or none)"%>可使用response.flushBuffer()输出
**<%@ page autoFlush="true(or false)"%>
**<%@ page info="sone message"%> 定义一个可以在servlet中通过getServletInfo方法获得的字符串
**<%@ page errorPage="relative URL"%> 指定的错误页面通过exception变量访问抛出异常。
**<%@ page isErrorPage="false(or true)"%>表示是否可以作为其他页面的错误页面
**<%@ page isTreadSafe="true(or false)"%> 控制由jsp页面生成的servlet是允许并行访问的,机制是由SingleThreadModel来实现的。所以应该尽量避免使用它,而是显式地指明同步,用synchonized
**<%@ page extends="package.class"%>
**<%@ page language="cobol"%>

PS:指令的xml语法:<jsp:directive.directiveType attribute="value" />
例如:<%@ page import="java.util.*"%>相当于<jsp:directive.page import="java.util.*" />

四。在 jsp页面中包含文件和applet

1.jsp:include<jsp:include page="path">在请求期间包含页面,在被包含页面发生改变时,无须对主页面进行修改
**flush属性:指定在页面包含进猪页面时是否清空页面的buffer
**jsp:param属性:<jsp:include page="path">
              <jsp:param name="color" value="RED">
            </jsp:include>
2.include<%@ include file="relative URL"%>,在页面转换期间包含文件:服务器将包含文件的内容一个字节一个字节地插入到主页面中
3.jsp:plugin
<jsp:plugin type="applet" code="MyApplet.class" width=" " height=" ">
</jsp:plugin>
其他属性:
**codebase 指定applet的根目录
**align
**hspace
**vspace
**archive 指定一个jar文件,类和图象都从这个文件载入
**name 用于applet之间通信,或在javascript中标识这个applet
**title指定一个标题,用于工具提示和索引
**jreversion 所需的jre版本
**iepluginurl 指定可以下载IE插件的URL
**nspluginurl 指定可以下载netscape插件的URL

4.jsp:param和jsp:params元素
<applet code="a.calss" width="12" height="12">
<param name="p1" value="v1">
<param name="p2" value="v2">
替换为:
<jsp:plugin type="applet" code="a.class" width="12" height="12">
<jsp:params>
  <jsp:param name="p1" value="v1">
  <jsp:param name="p2" value="v2">
</jsp:params>
</jsp:plugin>

5.jsp:fallback
向不支持OBJECT 和embed的浏览器提供一段替代的文字。
<applet code="a.calss" width="12" height="12">
<b>error:this example requires java</b>
</applet>
替换为:
<jsp:plugin type="applet" code="a.class" width="12" height="12">
<jsp:fallback>
  <b>error:this example requires java</b>
</jsp:fallback>
</jsp:plugin>

五。bean

1.jsp:useBean的选项

**scope 将bean与其他页面关联起来,如果bean可以共享,就可以用他的 引用而不必每次都构造新的对象
**beanName beanname既可以指向类,也可以指向含有序列化bean对象的文件,它的值被传给java.beans.Bean的instantiate.
**type 当希望声明的变量是实际bean的超类或是bean实现的接口,如:<jsp:useBean id="thread" class="mypackage.MyClass" type="java.lang.Runnable" />===java.lang.Runnable thread=new MyPackage.MyClass();

2.scope属性的值:

**page 除了把bean对象绑定到局部变量以外,还把它放在PageContext对象中。servlet可以通过调用预定义变量pageContext的getAttribute方法访问它
**request还要放在HttpServletRequest对象中,可以通过getAttribute方法访问它。
**session还要放在与当前请求关联的HttpSession对象,可以通过getAttribute访问存储在httpsession中的对象
**application还将bean对象放在ServletContext(通过预定义application或调用getServletContext获得),值可以由getAttribute取得

3.根据条件创建bean

使用<jsp:useBean>statements</jsp:useBean> statements只有在创建新的bean时执行,也就是说只有在第一次访问的时候才执行,这样就可以做一些初始化工作(因为jsp:usebean调用默认构造函数,我们需要修改一些属性),所以statements一般是<jsp:setProperty>语句



  <servlet>
    <servlet-name>index</servlet-name>
    <jsp-file>/index.jsp</jsp-file>
  </servlet>

  <servlet-mapping>
    <servlet-name>index</servlet-name>
    <url-pattern>/index.jsp</url-pattern>
  </servlet-mapping>


无处安放的青春II -- 该把爱放哪儿才安全

顶端 Posted: 2006-11-14 09:11 | [楼 主]
wzs



资源小王子奖 自信之戒
性别: 帅哥 状态: 该用户目前不在线
等级: 荣誉会员
发贴: 6666
威望: 5
浮云: 0
在线等级:
注册时间: 2005-09-25
最后登陆: 2018-08-07

5come5帮你背单词 [ commodity /kə'moditi/ n. (pl.)商品,日用品 ]


thank u very much
顶端 Posted: 2006-11-14 21:34 | [1 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.006901(s) query 5, Time now is:11-27 17:32, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号