jsp基础知识

简介: servlet如果在配置文件里设置标签的话,那么在tomcat启动的时候servlet就会被new出来; Session: 如果浏览器支持Cookie,创建Session的时候会把SessionID保存在Cookie里 如果不支持Cookie,必须自己编程使用URL重写的方式实现Session,使用response.encodeURL(),它的作用是(1)转码     (2)URL后面加入SessionID 同一个application下的servlet/jsp可以共享同一个Session,前提是同一个客户端窗口。

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="*"/>

目录
相关文章
|
9月前
|
Java 应用服务中间件 程序员
JSP从0开始详细简介
JSP从0开始详细简介
50 0
|
8月前
|
Java 程序员
JSP知识点小结
JSP知识点小结
43 0
|
XML Java 数据库
jsp简介
jsp简介
72 0
|
XML Java 数据库连接
JSP 简介
JSP 简介
78 0
|
XML JavaScript 前端开发
15.jsp简介
15.jsp简介
85 0
|
Java 应用服务中间件
JSP知识点大致介绍1
JSP知识点大致介绍1
87 0
|
XML SQL 前端开发
JSP入门(三)
JSP入门(三)
144 0
JSP入门(三)
|
缓存 Java 应用服务中间件
JSP入门(一)
JSP入门()(一)
153 0
JSP入门(一)
|
Java 应用服务中间件
JSP入门(二)
JSP入门(二)
124 0
JSP入门(二)
|
Java 应用服务中间件 开发者
JSP 入门|学习笔记
快速学习 JSP 入门
182 0
JSP 入门|学习笔记