欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JSP学习笔记

程序员文章站 2024-02-14 19:44:46
1.声明变量时:<%! int j=1;%>(将变量生成为servlet类的成员变量,多个客户端共享一份)与<% int j=1;%>(只是一个方法...
1.声明变量时:<%! int j=1;%>(将变量生成为servlet类的成员变量,多个客户端共享一份)与<% int j=1;%>(只是一个方法内的局部变量,每个客户端都有一个)使用的过程当中,尽量避免将一个变量声明为类的成员变量,除非需要统计一个servlet类的访问次数。后者之中不能定义方法,前者可以。

2.java脚本(如javascript)在客户端执行,<%……%>内的内容在服务器端执行,然后将结果传回客户端。

3.jsp包含指令:
静态包含(常用):<%@ include file="fileurl"%>把被包含的文件原封不动的copy到该位置,然后编译、转换,但只生成一个java和class文件,fileurl中不能包含参数,包含页面和被包含页面访问的是同一个request对象,它们相当于一个页面,二者的编码方式必须相同;
动态包含(不常用):<jsp: include page="fileurl" flush="true"/>fileurl中是可以传递参数的;包含页面和被包含页面request的对象不同,但是可以取到相同的参数(小的可以request到大的参数,还可以添加自己的参数);需要的时候才会转换、编译,在后台产生两个java和class文件。

4.两种跳转方式:

response.sendredirect(“fileurl”);跳转过程中地址栏要发生变化,跳转后变成跳转后页面的地址;服务器到客户端两个往返,效率低下,速度慢(客户端请求-服务器响应,转向客户端,令客户端地址栏发生变化(地址可以是任意合法地址如其他网址),自动提交,重新向服务器请求新的地址-服务器找到结果后反馈给客户端显示);这种转向不会影响到后面代码的运行(除非加上return);转到的页面不能去前一个页面的参数;url中的“/”表示到域名的根路径

<jsp:forward page="fileurl"/>客户端请求,服务器端直接转向新地址然后将结果导向客户端,过程中地址栏不发生变化,在服务器内部完成转换(转到的地址不可以是此工程之外的地址);速度快;虽然是不同的对象,但是可以取到上个页面的参数;forward以后的语句不会继续执行;url中的“/”表示到webapp工程的根路径

5.jsp标签的作用范围scope有page、request、session、application从小到大四种,默认情况下是page
6.math.floor(cost*100)/100.0 cost是double类型,math.floor(cost*100)函数用来返回cost*100的整数部分