有关JSP的暑假学习整理

第二天的第三篇,好饿。想吃鸡排,小龙虾,火锅,虾滑,茶颜悦色 学习。8.13


昨晚由于吃夜宵的原因没搞完,今天继续。8.14



JavaWeb简介

Web应用程序是一种可以通过Web访问的应用程序。


静态页面与动态页面

静态页面:网页中内容是固定的,不会更新。
技术:HTML,CSS

动态网页:网页内容通过程序动态显示,自动更新。
技术:HTML,CSS,数据库技术,至少一门高级语言(Java,C#,Php),Javascript,XML等。主流的动态网页脚本技术(Jsp/Asp.net/Php)




JSP基础语法


JSP简介

JSP全名为Java Server Pages,其根本是一个简化的Servlet设计,它实现了Html语法中的java扩展(以 <%, %>形式)。jsp是一种动态网页技术标准也是JAVAEE的标准
JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。



get与post区别(表单两种提交方式)

在这里插入图片描述

重定向与转发的区别

在这里插入图片描述


JSP页面元素


  • 指令
  • 表达式
  • 小脚本
  • 声明
  • 注释
  • 静态内容


JSP指令


page指令

通常位于jsp页面顶端,同一个页面可以有多个page指令。


语法:<%@ page 属性1="属性值" 属性2="属性值"...... %>

属性描述默认值
language指定该JSP页面使用的脚本语言java
import通过该属性来引用脚本语言中使用到的类文件
contentType用来指定JSP页面所采用的编码方式text/html,ISO-8859-1

include指令

将一个外部文件嵌入到当前jsp文件中,同时解析这个页面的JSP语句。
语法:<%@ include file="URL" %>

taglib指令

使用标签库自定义标签,在JSP页面中启用定制行为。



JSP注释


HTML的注释

语法:<!-- html的注释--> 客户端可见

JSP的注释

语法:<%-- html注释--%> 客户端不可见

JSP脚本注释

语法://多行注释 /**/多行注释



JSP脚本(java代码)

在jsp页面中执行的java代码
语法:<% JAVA代码%>


JSP声明(定义方法/变量)

在JSP页面中定义变量或者方法。
语法:<%! JAVA代码 %>


JSP表达式

在JSP页面中执行的表达式
语法:<%= 表达式 %>



JSP内置对象


内置对象简介

JSP内置对象是Web容器创建的一组对象,不使用new关键就可以使用的内置对象

JSP九大内置对象

  • out
  • request
  • response
  • session
  • application
  • Page    pageContext    exception    config(不常用的一些)


out对象

out对象是JspWriter类的实例,是向客户端输出内容常用的对象。
常用方法:

1、void println()        打印字符串

2、void clear()          清除缓冲区,注意:clear在flush之后调用会抛出异常
      void clearBuffer()      清除缓冲区,在flush之后调用不会抛出异常


3、void flush()         将缓冲区内容输出到客户端

4、int getBufferSize()      返回缓冲字节数

5、int getRemaining()         返回生于缓冲字节数

6、boolean isAutoFlush()      是否自动清空缓存,布尔值

7、void close()          关闭输入流



reqiest对象

客户端的请求被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。是HttpServletRequest的实例。具有请求域,即完成客户端请求前,该对象一直有效。

1 String getParameter(String name)   返回name指定参数的参数值

2 String[] getParameterValues(String name)  返回包含参数name的所有值的数组

3 void setAttribute(String,Object)    储存此请求中的属性值

4 object getAttrubute(String name)   返回指定属性的属性值

5 String getContentType()    去、得到请求体的MIME类型

6 String getProtocol()    返回请求用的协议类型及版本号

7 String getServerName()    返回请求的服务器主机名




response对象

response对象包含了响应客户的有关信息,但在JSP中很少用到它。它是HttpServletResponse类的实例。response对象具有页面作用域,即访问一个页面时,该页面的response对象只能对这次访问有效。
在这里插入图片描述



session对象

session表示客户端与服务端的一次会话。
session对象在第一个JSP页面被装载时自动创建,完成会话管理。
当一个客户访问一个服务器时,可能会在服务器的几个页面切换,服务器应当需要通过session对象知道这是一个客户。

在这里插入图片描述



page对象

指当前JSP页面本身。
在这里插入图片描述

pageContext对象与Config对象

pageContext对象提供了对JSP页面内所有的对象及名字空间,可以访问本页所在session,也可以取本页面所在application的某一属性值
在这里插入图片描述
在这里插入图片描述

Exception对象

在这里插入图片描述




JavaBean

Javabean设计原则

  1. 公有类
  2. 无参的构造方法
  3. 属性私有
  4. getter和setter方法

JSP动作元素

动作元素为请求处理阶段提供的信息,遵循XML元素语法,有一个包含元素名的开始标签,可以有属性,可选内容,与开始标签匹配的结束标签。
在这里插入图片描述

除了用普通方式创建Javabean,还可以使用JSP动作标签使用javabean.

useBean

作用:在JSP页面中实例化或者指定范围内使用javabean:

<jsp:useBean id="标示符" class="java类名" scope="作用范围" />

在这里插入图片描述

setProperty

作用:给已经实例化的Javabean对象的属性赋值,一共有四种形式。

<jsp:setProperty name="Javabean实例名" property="*" />(跟表单关联)

<jsp:setProperty name="Javabean实例名" property="JavaBean属性名" />(跟表单关联)

<jsp:setProperty name="Javabean实例名" property="JavaBean属性名" value="BeanValue" />(手工设置)

<jsp:setProperty name="Javabean实例名" property="propertyName" param="request对象中的参数名" />(跟request参数关联)

getProperty

作用:获取指定Javabean对象属性值
<jsp:getProperty name="JavaBean实例名" property="属性名" />

include

<jsp:include page="URL" flush="true/false" />
page表示要包含的页面,flush表示被包含的页面是否从缓冲区读取。

include指令与include动作区别

在这里插入图片描述

forward

<jsp:forward page="URL" />
等同于request.getRequestDispatcher("/url").forward(request,response);

param

<jsp:param name="参数名" value="参数值" >
常常与<jsp:forward> 一起使用,作为其子标签。




JSP的无状态性


http协议无状态性

无状态是指,当浏览器发送请求给服务器时,服务端想要客户端请求。但是当同一个浏览器再次发送请求给服务器时,服务器并不知道它就是刚刚那个浏览器


保存用户状态的两大机制

session与Cookie

Cookie

Cookie:Web服务器保存在客户端的一系列文本信息。
作用:

  • 对特定对象的追踪
  • 保存用户网页浏览记录与习惯
  • 简化登录

创建与使用Cookie

创建Cookie对象:Cookie newCookie = new Cookie(String key,Object value);
写入Cookie对象:response.addCookie(newCookie);
读取Cookie对象:Cookie[] cookies = request.getCookies();

常用方法:
在这里插入图片描述

session和Cookie对比

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值