您的位置:首页 > Web前端 > JavaScript

Jsp基础知识

2014-10-29 14:30 232 查看
servlet如果在配置文件里设置<load-on-startup>标签的话,那么在tomcat启动的时候servlet就会被new出来;

Session:

如果浏览器支持Cookie,创建Session的时候会把SessionID保存在Cookie里

如果不支持Cookie,必须自己编程使用URL重写的方式实现Session,使用response.encodeURL(),它的作用是

(1)转码 (2)URL后面加入SessionID

同一个application下的servlet/jsp可以共享同一个Session,前提是同一个客户端窗口。





jsp变量的声明:

使用<%! %>声明的是成员变量,而使用<% %>声明的是局部变量,如<%!int n=0 %>声明的n就是成员变量,在<%! %>里面

还可以声明方法,这里声明的方法是成员方法!使用<%= %>可以打印出等号后面的内容,等号后面的内容必须是字符串或者可以转

换为字符串的,等号后面只能有一行,没有分号!



jsp的注释:

<%-- --%>、<%// %>、<%/* */>其中后面两种是和Java一样的







Directive:

Directive(编译指令)相当于在编译期间的命令

格式:<%@Directive 属性="属性值"%> 如:<%@page import="java.util.*"%>

常见的Directive:

page、include、taglib

Directive-page:

指明与jsp container的沟通方式

基本格式:

<%@page language="script language"|

extends="className"| 从哪个类继承

记住 import="importList"| 要引入的包 用的比较多

buffer="none|kb size"| -none:不缓冲,默认8K

session="true|false"|是否可以使用session,默认true

autoFlush="true|false"|缓冲器是否自动清除,默认true

isThreadSafe="true|false"|默认是false,不需要指定

info="infoText"|描述性的信息,很好用

记住 errorPage="errorPageUrl"|页面出错后显示哪个页面的内容

记住 isErrorPage="true|false"|页面是否出错

记住 contentType="contentTypeInfo"

%>



Directive-include:

将指定的jsp程序或者HTML文件包含进来,格式:

<%@include file="fileURL%>

jsp Engine会在JSP程序的转换时期先把file属性设定的文件包含进来,然后开始执行转换及编译的工作。

限制:不能向fileURL中传递参数





Action:

Action(动作指令)在运行期间的命令;

常见的:1、jsp:useBean

jsp:setProperty

jsp:getProperty

2、jsp:include

3、jsp:forward

jsp:param

4、jsp:plugin

jsp:include

用于动态包含jsp程序或HTML文件等,除非这个指令是会被执行到,否则它是不会被Tomcat等JSP Engine编译。格式:

<jsp:include page="URLSpec"/>

<jsp:include page="URLSpec">

<jsp:param name="ParamName"value="paramValue"/>

</jsp:include>

jsp:param用来设定include文件时的参数和对应的值!

******************************************************************************************************************

***************************

jsp:forward

用于将一个jsp的内容传送到page所指定的JSP程序或者Servlet中处理(URL)格式:

<jsp:forward page="urlSpec"flush="true"/>



<jsp:forward page="urlSpec"flush="true"/>

<jsp:param name="paramName"value="paramValue"/>

</jsp:forward>

<jsp:param>用于指定参数及对应的值

response.sendRedirect也可以实现页面的跳转,如果使用的是response.secdRedirect,那么浏览器的地址栏显示的会是跳转后页

面的地址,窗口显示的也是跳转后的页面,而如果使用的是<jsp:forward>那么浏览器的地址栏显示的是使用了jsp:forward的那个

页面的地址,窗口显示的却是跳转后的页面!

使用jsp:forward使用的是同一个request,而如果使用的是response.sendDirect使用的是不同的request!



jsp:useBean

通过jsp:useBean可以在JSP中使用定义好的Bean

Bean的基本要素:

1.必须要有一个不带参数的构造器,在JSP元素创建Bean时会调用空构造器

2.Bean类应该没有任何公共实例变量,也就是说,不允许直接访问实例变量,变量名称字母必须小写

3.通过getter/setter方法来读/写变量的值,并且将对应的变量首字母改成大写

4.不要使用裸体类

基本用法:

<jsp:useBean id="beanName" scope="page|request|session|application" class="package.BeanClass"

type="typeName"/>

<jsp:useBean...>

<jsp:setProperty.....>

<jsp:getProperty.....>

</jsp:useBean>

setProperty和getProperty的用法,如:

<jsp:setProperty name="cb" property="count" value="23"/> <jsp:getProperty name="cb"

property="count"/>

其中name表示类的实体,property表示的是属性,value为值!

********************************************************************

jsp:useBean各项参数的含义:

id:对象实例名称

scope:Bean作用的范围,默认为page,对整个jsp页面有效

class:Bean类名称

type:Bean实例类型,可以是本类,或其父类,或实现的接口,默认为本类

Scope各项参数的意义:

page:仅涵盖使用javaBean的页面

request:有效范围仅限于使用JavaBean的请求

Session:有效范围在用户整个连接过程中(整个会话阶段均有效)

application:有效范围涵盖整个应用程序。也就是对整个网站均有效





jsp内置对象:是指可以直接拿来用的,包括:

1.out

2.request

3.response

4.pageContext

5.Session

6.application

7.config

8.exception

9.page

jsp常用的内置对象及其常用方法

jsp-out常用方法:

println():向客户端输出各种类型数据

newLine():输出一个换行符

close():关闭输出流

flush():输出缓冲区里的数据

clearBuffer():清除缓冲区里的数据,同时把数据输出到客户端

clear():清除缓冲区里的数据,但不把数据输出到客户端

getBufferSize():返回缓冲区的大小

jsp-request常用方法

getMethod():返回客户端向服务器端传送数据的方法

getParameter(String paramName):返回客户端向服务器端传送的参数值,该参数由paramName指定

getParameterName():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举类型数据(Enumeration)

getParameterValues(String name):获得指定参数的所有值,由name指定

getRequestURL():获得发出请求字符串的客户端地址

getRemoteAddr():获得客户端的IP地址

getRemoteHost():获得客户端机器的名称

getServerName():获取服务器的名字

getServletName():客户端所请求的脚本文件路径

getServerPort():获取服务器端的端口



jsp-response常用方法

addCookie(Cookie cookie):添加一个Cookie对象,用于在客户端保存特定的信息

addHeader(String name,String value):添加HTTP头信息,该Header信息将发送到客户端

containsHeader(String name):判断指定名字的HTTP文件头是否存在

sendError(int):向客户端发送错误的信息

sendRedirect(String url):重定向JSP文件

setContentType(String contentType):设置MIME类型与编码方式



这个可以给javaBean的属性赋值,但是其属性名必须与传过来的参数名相同;它可以自动接受一个表单传过来的参数然后自动的把

它赋给JavaBean的属性,然后要拿的时候也可以到该JavaBean中去拿;

<jsp:setProperty name="bean的名字" property="*"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: