jsp基础知识总结

1.了解jsp,jsp有什么有利的,有什么弊端。

jsp是serlet的扩展,在web应用中,每个jsp页面都会有servlet容器生产对应的servlet。

jsp通过在标准的html页面中插入java代码,使用java代码控制那些需要操作的数据库根据程序动态生产的信息。

2. jsp页面元素

jsp的声明:<%!= 声明部分%> 声明变量和方法

jsp的表达式: <%=表达式%>

jsp的注释 <%-- 注释内容--%>

3. jsp指令

   三个编译指令:page  include  taglib

page指令:设置jsp页面的属性 用于和jsp通信,控制生成servlet结构 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*"%>  xxx.jsp

import属性:page指令中唯一容许在同一文档出现多次的属性。属性的值可以以逗号隔开。 指定jsp页面转换成servlet应该输入的包。

对于没有明确指定包的类,将根据jsp页面所在的包(生成的servlet的目录)决 定类的包的位置

language属性:用于指定在脚本元素中使用的脚本语言,默认java。在jsp2.0规范中,只能是java。

contentType和pageEncoding属性:contentType属性设置发送到客户端文档的响应报头的MIME类型和字符编码。多个使用;号分开 pageEncodeing属性只用于更改字符编码

session属性:控制页面是否参与会话  对于高流量网站,设置false可以节省大量服务器内存

isELlgnored属性:定义在jsp页面中是否执行或忽略EL表达式。true表示忽略,false表示执行

buffer和autoFlush属性:buffer属性指定out对象(JspWriter)使用的缓冲区大小,以kb为单位,默认8kb。none表示不使用缓冲区。这样要求设置报头或状态代码的jsp元素要出现在文件的顶部

info属性:定义一个可以在servlet中通过getServletInfo方法获取的字符串   8)rrorPage和isErrorPage属性:指定页面专用的错误页面。
     include指令:在页面转换期间将文件包含到jsp页面。include指令用于在jsp页面中静态包含一个文件,该文件可以是jsp页面,html页面,文本文件或一段Java代码

<%@ include file="url"%>  file的属性值被解释为相对于当前jsp文件的URL   在哪个位置引入,就在哪个位置显示

include编译指令与动作指令的区别

<%@include file="myDemo.jsp" %>            编译指令,把代码放进来  服务器一块编译,静态包含,只要写上,先把代码拿过来,用的时候一起编译

<jsp:include page="myDemo.jsp"></jsp:include>    动作指令 单独的编译好 最后页面拼接到一起,动态包含,各编译各的,用的时候,放到一块

flush属性:指定将页面包含进来之前是否应该清空主页面的输入流(默认false)
          优点:包含页面被更改,无需对主页面做修改。缺点:被包含页面不能使用任何有可能影响主页面的jsp构造。也就是不能将完整的HTML文档作为被包含页面,只能含有适合于出现在文件插入点的HTML标签。

taglib指令:声明用户使用的自定义标签。声明用户使用自定义的标签,将标签库描述符文件导入到jsp页面

          taglib指令语法:  <%@ taglib (uri="tigLibURL" 或 tagDir="tagDir") prefix="tagPrefix" %>
                         uri属性:定位标签库描述符的位置。唯一标识和前缀相关的标签库描述符,可以使用绝对或相对URL。
                     tagDir属性:指示前缀将被用于标识在WEV-INF/tags目录下的标签文件。
                     prefix属性:标签的前缀,区分多个自定义标签。不可以使用保留前缀和空前缀,遵循XML命名空间的命名约定。

七个动作指令:jsp:forward  jsp:param  jsp:include  jsp:plugin  jsp:useBean jsp:setProperty  jsp:getProperty
 
       jsp:forward指令用于将页面响应控制转发给另外的页面。既可以转发给静态的HTML页面,也可以转发到动态的JSP页面,或者转发到容器的Servlet。

<jsp:forward page=“{relativeURL|<%=expression%>}” /> 或          
               <jsp:forward page=“{relativeURL|<%=expression%>}”>
                     {<jsp:param …/>}                           
               </jsp:forward>

用于在转发时增加额外的请求参数。增加的请求参数的值可以通过HttpServletRequest类的getParameter方法获取。

jsp:useBean/jsp:getProperty/jsp:setProperty 这三个指令都是与javabean相关的指令,其中第一个指令用于在JSP页面中初始化一个java实例;第二个指令用于获取javaBean实例的属性,

第三个用于修改javaBean实例的属性。

<jsp:useBean id=“zhangSan” class=“com.bochy.Person” scope=“page | request | session | application” /> 四个作用域 id属性是javaBean的实例名,class属性指定javaBean的实现类
          说明:page:该javaBean实例仅在该页面有效  request:该javaBean实例在本次请求有效 session:该javaBean实例在本次session内有效application:该javaBean实例在本应用内有效

<jsp:setProperty name=“beanName” property=“propertyName” value=“propertyValue” />
          说明:其中name属性确定需要设定javaBean的实例名,property属性确定需要设置的属性,value属性确定需要设置的属性值。
          <jsp:getProperty name=“beanName” property=“propertyName” />
          说明:其中name属性确定需要输出的javaBean的实例名,property属性确定需要输出的属性名。

4.jsp九大内置对象
    九大内置对象  request、out、response、application、session、page、confing、pageContext、exception
                           application对象  该对象代表web应用本身,整个web应用共享一个application对象,该对象主要用于在多个JSP页面或Servlet之间共享变量。

application通过setAttribute方法将一个值放入某个属性,该属性的  值对整个web应用有效,因此web应用的每jsp页面或Servlet都可以访问该属性,访问的方法为:getAttribute

session对象也是一个非常有用的对象,这个对象代表一次用户会话。一次用户会话的含义是:从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开为止,这个过程就是一次会话。
                                                session通常用于跟踪用户的会话信息,如判断用户是否登陆系统,或者在购物车应用中,系统是否跟踪用户购买的商品等。
                                                session对象的两个常用方法为:setAttribute(String attName, Object attValue)设置一个session属性 ,getAttribute(String attName) 返回一个session属性的值   
                           request对象是JSP中重要的对象,每个request对象封装一次用户请求,并且所有的请求参数都被封装在request中,因此用户也可在request中增加请求参数

在获取表单域值之前,需要设置request的解码方式:request.setCharacterEncoding(“UTF-8”)  地址栏传递参数的格式:url?param1=value1&param2=value2&…         
                                             request还包含可以用于设置和获取请求属性的方法 void setAttribute(String attName, Object attValue),Object getAttribute(String attName). 当forward用户请求时请求的参数和请求的属性都不会丢失
                           out对象代表一个页面输出流,通常用于在页面上输出变量值和常量。一般在使用输出表达式值的地方,都可以使用out对象达到同样的效果。

                      pageContext对象该对象主要用于访问页面共享数据。使用pageContext可以直接访问request、session、application范围的属性。
        
                          confing对象该对象该表当前JSP配置信息。但是JSP页面通常无需配置,因此也就不存在配置信息。该对象在JSP页面中非常少用,但是在Servlet则用处相对较大,因为Servlet需要配置在web.xml中,可以指定配置参数

                          exception对象该对象是Throwable实例,代表JSP页面产生的错误和异常是JSP异常框架的一部分。

response对象 response代表服务器对客户端的响应 response也可以进行重定向 esponse也可以增加Cookie

page对象 page对象有点类似于Java编程中的this指针,就是指当前JSP页面本身

原文地址:https://www.cnblogs.com/changdc/p/10151306.html

时间: 2024-10-10 23:42:07

jsp基础知识总结的相关文章

Java学习-033-JavaWeb_002 -- 网页标记语言JSP基础知识

JSP 是 Sun 公司提倡的一门网页技术标准.在 HTML 文件中,加入 Java 代码就构成了 JSP 网页,当 Web 服务器访问 JSP 请求的时候,首先执行其中的 Java 程序源码,然后以 HTML 形式返回, Java 程序运行在服务端,最终显示在客户端.JSP 源于 Java,因而 JSP 的运行环境依赖JDK,当然也需要服务器软件(例如 Tomcat 等). 一.运行环境搭建 1.安装 JDK,请参阅之前的博文:Java学习-001-JDK安装配置 2.Tomcat部署及环境变

jsp基础知识(1)

1.JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. 2.JSP技术也是一种动态web资源的开发技术 因为JSP技术允许在页面中嵌套java代码,以产生动态数据,并且web服务器在执行jsp时,web服务器会传递web开发相关的对象给jsp,jsp通过这些对象,可以与浏览器进行交互,所以jsp当然也是一种动态web资源开发技术. 3.JSP和Servlet的比较       本人是先学Servlet的,Servlet

JSP基础知识?Cookie和Session(五)

JSP Cookie 处理 Cookie是存储在客户机的文本文件,它们保存了大量轨迹信息.在servlet技术基础上,JSP显然能够提供对HTTP cookie的支持.JSP脚本通过request对象中的getCookies()方法来访问这些cookie,这个方法会返回一个Cookie对象的数组. 1.public void setDomain(String pattern) 设置cookie的域名,比如w3cschool.cc 2.public String getDomain() 获取coo

jsp基础知识一

jsp技术是在html文件内容中嵌入java代码,jsp页面发布后,由web容器的jsp引擎将jsp页面转化成java类(实际是servlet类的子类),并编译生成class文件(页面第一次访问时). 1.jsp注释 格式: <%--  注释内容  --%> jsp注释与html注释内容不同,jsp注释不会输出到客户端(浏览器),而html注释会输出到客户端. html注释格式: <!-- 注释内容 --> 2.jsp声明 格式: <%! 表达式1; 表达式2; %>

JSP基础知识

1.JSP    [1] 简介      > HTML      - HTML擅长显示一个静态的网页,但是不能调用Java程序.      > Servlet     - Servlet擅长调用Java程序和后台进行交互,但是它不擅长显示一个完整的HTML页面. > 我们希望创建一个新的技术 HTML + Servlet 强强联合 > JSP全称Java Server Pages,顾名思义就是运行中java服务器中页面,也就是在我们JavaWeb中的动态页面,其本质就是一个Serv

JSP基础知识_1

一.JSP简介 JSP是简化Servlet编写的一种技术,它将Java代码和HTML语句混合在同一个文件中编写,只对网页中的要 动态产生的内容采用Java代码来编写,而对固定不变的静态内容采用普通静态HTML页面的方式编写 JSP 页面的文件扩展名必须为.jsp 在JSP页面中编写的Java代码需要嵌套在<%和%>中,嵌套在<%和%>之间的Java代码被称之为脚本片段(Scriptlets), 没有嵌套在<%和%>之间的内容被称之为JSP的模版元素 JSP中的Java代

jsp 基础知识之指令元素

由于考研和结业的事情,这里荒废了许久,而如今重新捡起来,是因为带到公司的碳素笔没有油了......    jsp的指令元素:通常以<%@开始,以%>结尾. jsp主要包括三种指令元素:page指令,include指令,taglib指令.指令元素在客户端是不可见的,它是被服务器解释并执行的. page:页面指令,用于定义整个JSP页面的属性和这些属性的值.例如:<%@ page contentType="text/html";charset="GB2312&q

JSP基础知识(一)

web.xml的作用: 1.配置JSP,Servlet,Listener,Filter,标签库,JSP属性 2.配置JAAS授权认证,资源应用,web首页设置JSP的本质是Servlet(web应用中每个JSP页面都会由Servlet容器生成对应的Servlet)JSP包括静态的html页面代码和动态的Java脚本两部分Servlet类源代码包括init(),destroy(),service()方法JSP的四种基本语法: jsp注释:<%--注释--%> jsp声明:<%!--%>

JSP基础知识?获取参数和过滤器(四)

JSP表单提交和参数获取 JSP表单提交的两种方式:post和get,通过这两种方式提交的参数到后台,获取参数的值主要由request来处理,获取值的方式有以下几种: getParameter(): 使用 request.getParameter() 方法来获取表单参数的值. getParameterValues(): 获得如checkbox类(名字相同,但值有多个)的数据. 接收数组变量 ,如checkbox类型 getParameterNames():该方法可以取得所有变量的名称,该方法返回

JSP基础知识?客户端请求与服务端响应(三)

JSP客户端请求 浏览器请求服务器端,信息头的一些重要内容,在以后的网络编程中将会经常见到这些信息: Accept:指定浏览器或其他客户端可以处理的MIME类型.它的值通常为 image/png 或 image/jpeg Accept-Charset:指定浏览器要使用的字符集.比如 ISO-8859-1 Accept-Encoding:指定编码类型.它的值通常为 gzip 或compress Accept-Language:指定客户端首选语言,servlet会优先返回以当前语言构成的结果集,如果