开发者社区> elim1> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JSON 基础知识总结
JSON,说白了就是JavaScript用来处理数据的一种格式,这种格式非常简单易用。JSON大部分都是用来处理JavaScript和web服务器端之间的数据交换,把后台web服务器的数据传递到前台,然后使用JavaScript进行处理,例如ajax等 JSON支持的语言非常多,包括JavaS
3837 0
JSP 基础(一)
JavaServletPage(JSP) 一 JSP简介       Servlet的缺陷       –Servlet的编码、部署和调试任务繁琐       –生成动态网页繁琐,不利于项目分工     为了弥补Servlet的这些缺陷,SUN公司在Servlet的基础上推出了JSP技术作...
480 0
2、JSON基础知识总结(2)
JSON定义 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于ECMA262语言规范(1999-12第三版)中JavaScript 编程语言的一个子集。
717 0
jsp
一、配置相关 1、配置项目默认访问页面。如果不设置则默认访问页面为index.jsp文件。 2、可在这里修改项目访问路径 3、修改Tomcat启动的默认端口:在Tomcat安装目录下的conf/server.xml文件中修改。
887 0
JSP必备知识点
servlet VS CGI 1)servlet 可移植 跨平台 CGI 不行 2)在传统 CGI 中每个请求都要启动一个新进程,若 CGI 程序的本身执行时间较短,启动进程所需要的进行所需要的开销很可能反而超过实际执行的时间;servlet,每个请求...
665 0
JSP - 基础篇3
JSP - 基础篇3
0 0
jsp
jsp
0 0
+关注
elim1
喜欢研究技术的码农
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载