《一头扎进Jsp&servlet》学习笔记

第一章 问候JSP&SERVLET他大爷


第一节 Jsp概述


百度百科Jsp
一种动态网页技术,区别于静态HTML网页


第二节 B/S和C/S


C/S 胖客户端
B/S 瘦客户端


第三节 B/S运行原理
第四节 Tomcat服务器简介及安装
第五节 实例:问候他大爷

JSP实例

问候大爷,导出war包部署到tomcat服务器上。

第二章 JSP基本语法

第一节:page 指令介绍

Language : 用来定义要使用的脚本语言;

contentType:定义 JSP 字符的编码和页面响应的 MIME 类型;

pageEncoding:Jsp 页面的字符编码

 

第二节 scripltlet 标签

通过 scriptlet 标签我们可以在 Jsp 里嵌入 Java 代码;

第一种:<%! %>   我们可以在里面定义全局变量、方法、类;

第二种:<% %>   我们可以在里面定义局部变量、编写语句;

第三种:<%= %>  我们可以在里面输出一个变量或一个具体内容;

 

第三节 JSP注释

<!-- -->   Html 注释 客户端可见

<%--  --%> Jsp 注释 客户端不可见

// java 单行注释

/*  */ java 多行

 

第四节 JSP包含指令

<%@ include file=”要包含的文件”%>

静态包含:先包含,把要引入的文件的代码全部引入进相应位置,后编译处理;

 

<jsp:include page=”要包含的文件”>

动态包含 先编译处理引入文件的代码,后包含子文件的结果;

以后开发用动态包含;

第五节 JSP跳转指令

<jsp:forward>

<jsp:param value=”” name=””>

</jsp:forward>

服务器内部跳转,可带参数。

第三章  JSP 九大内置对象及四个作用域

第一节:JSP 九大内置对象及四大作用域概述

在 Jsp 开发中,Jsp 提供了 9 个内置对象,这些内置对象将由容器为用户进行实例化,用户直接使用即可。这9 个内置对象分别是:pageContext,request,response,session,application,config,out,page,exception;

常用的是前面 5个,需要熟练掌握;

在 Jsp 开发中,可以保存数据,Jsp 提供了四种数据保存范围;分别是 page,request,session,application

 

第二节:Jsp四大作用域

Page 范围:只在一个页面中保存数据; javax.servlet.jsp.PageContext(抽象类)

Request 范围:只在一个请求中保存数据; javax.servlet.http.HttpServletRequest(接口)

Session 范围:在一次会话范围(浏览器不关闭)中保存数据,仅供单个用户使用;jlet.http.HttpSession(接口)

Application 范围:在整个服务器上保存数据,所有用户共享;javax.servlet.ServletContext(接口)

 

Ps:Request可以获取请求的头信息 代码如下:

// 获取头信息

<%

Enumeration enu=request.getHeaderNames();

while(enu.hasMoreElements()){

String headerName=(String)enu.nextElement();

String headerValue=request.getHeader(headerName);

%>

<h4><%=headerName %> <%=headerValue %></h4>

<%

}

%>

第三节:response 对象

Response 内置对象和 request 内置对象是相对应的,response 内置对象用于响应客户请求,向客户端输出信息;

javax.servlet.HttpServletResponse

1,自动刷新应用

2,页面重定向应用 客户端跳转

3,操作 cookie 应用  

post get方法比较: post 放数据包里 get放Url后面。get数据量小,不安全。

4,cookie 和 session 的比较    cookie 信息是存客户端的,session 信息是存服务器的。

第四节 out对象

out 内置对象主要用来向客户端输出各种类型的数据,同时还可以管理应用服务器上的输出缓冲区。所以 out 内置对象的方法是向客户端输出数据和管理缓冲区;

out对象底层为 javax.servlet.jsp.JspWriter 抽象类

第五节:config 对象

Config 内置对象是 JSP 页面通过 JSP 容器进行初始化时被传递的对象。javax.servlet.ServletConfig 。在 Servlet初始化的时候,JPS 引擎通过 config 向它传递信息。这种信息可以是属性名和属性值匹配的参数,也可以是通过ServletContext 对象传递的服务器的有关信息;

 

第六节:exception 对象

Exception 内置对象用来处理 JSP 文件在执行时发生的所有异常,它是 java.lang.Throwable 类的一个对象。

 

第七节:pageContext 对象

pageContext 内置对象是一个比较特殊的对象。它相当于页面中所有对象功能的集合,即用它可以访问到本页面中所有对象。pageContext 内置对象由 Jsp 容器创建并初始化,pageContext 对象提供了对 JSP 页面所有对象及控件的访问。

 

第四章 JavaBean 组件

 

第一节:Javabean 组件引入

JavaBean 是使用 Java 语言开发的一个可重用的组件,在 JSP 开发中可以使用 JavaBean 减少重复代码,使整个JSP 代码的开发更简洁。

 

第二节:jsp:useBean 创建 javabean

<jsp:useBean id="实例化对象名称" scope="保存范围" class="类完整名称"/>

Scope,一共有 page,request,session 和 application 4 个属性范围,默认是 page;

 

第三节:jsp:setProperty 设置 javabean 属性

<jsp:setProperty  property="属性名称"  name="实例化对象的名称"  value="属性值"  param="参数名称"/>

Property=”*” 自动匹配

 

第四节:jsp:getProperty 获取 javabean 属性值

<jsp:getProperty property="属性名称" name="实例化对象的名称"/>

 

第五节:javabean 的保存范围

Javabean 的保存范围有 page,request,session.application,默认是 page.

 

第六节:javabean删除

Page 范围:pageContext.removeAttribute(“javaBean Name”);

request 范围:request.removeAttribute(“javaBean Name”);

session 范围:session.removeAttribute(“javaBean Name”);

application 范围:application.removeAttribute(“javaBean Name”);

第五章 Servlet开发

 

第一节:servlet 引入

百度百科:servlet

1.运行在服务器端的程序

2.处理用户的请求

 

第二节:问候 servlet 他大爷

 

第三节:servlet 生命周期

Servlet 的生命周期,简单的概括这就分为四步:servlet 类加载--->实例化--->服务--->销毁

Servlet是单实例的,servlet的init方法只执行一次。

 

第四节:客户端跳转 VS 服务器端跳转

  1. 在 Servlet 中获取 session,application
  2. 客户端跳转 response.sendRedirect("目标地址");
  3. 服务器跳转:RequestDispatcher rd=request.getRequestDispatcher("目标地址"); rd.forward(request, response);

 

第五节:Jsp&Servlet 用户登录功能实现

思路:建个jsp表单post请求到LoginServlet,LoginServlet接到表单请求的参数用DAO到数据库里面根据参数来查,如果能查到则请求转发或重定向到成功页面,否则则返回登录页面,

提示错误。用到EL表达式。

 

第六节:Servlet 过滤器

过滤用户请求

 

第七节:Servlet 监听器

监听 web 事件;如 application,session,request

 

第六章 EL 表达式

第一节:EL 表达式简介

表达式语言(Expression Language,EL)

百度百科:el 表达式

EL的目的就是为了使JSP写起来更加简单,它提供了在JSP中简化表达式的方法。

EL表达式由$符号来引

第二节:EL 表达式内置对象

第三节:EL 表达式访问 4 种范围属性

寻找值的顺序:page->request->session->application

 

第四节:EL 表达式接收请求参数

Param:单个参数

paramValues:一组参数

 

第五节:EL 表达式对象操作

第六节:EL 表达式集合操作

第七节:EL 表达式运算符操作

算数运算符,关系运算符,逻辑运算符;

三目运算符;

Empty 关键字;

第七章 Jsp 自定义标签

第一节:Jsp 自定义标签简介

Jsp自定义标签在功能上逻辑上与javaBean 类似,都封装Java 代码。自定义标签是可重用的组件代码,并且允许开发人员为复杂的操作提供逻辑名称。

 

第二节:问候自定义标签他大爷

1.新建HelloTag类,继承TagSupport类.

2.配置tld描述文件.

3.新建HelloWorldTag.jsp文件,引入自定义标签

 

第三节:自定义有属性的标签

1.类里面加属性

2.tld里面加描述属性

3.新建HelloWorldTag2.jsp文件,引入自定义标签.

 

第四节:自定义有标签体的标签

例子:创建遍历标签

 

第五节:简单标签

由于传统标签过于繁琐,不利于标签技术的推广。 SUN公司为降低标签技术的学习难度,在JSP 2.0中定义了简单标签,需继承SimpleTagSupport类。

this.getJspBody().invoke(null);可以不断地调用页面,使代码变的简单

 

第八章 Jsp标准标签库

 

第一节 JSTL引入

JSTL(JSP Standard Tag Library ,   JSP 标准标签)

JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。在JSP 2.0中也是作为标准支持的。

 

第二节 问候 JSTL 他大爷

1.先引入jstl.jar和standard.jar两个jar包。

2.在jsp文件加入这句话,引入核心标签库

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

3.使用核心标签编写jsp文件

 

第三节 JSTL核心标签库

c:out 内容输出标签;

c:set 用来设置 4 种属性范围值的标签;

c:remove 用来删除指定范围中的属性;

c:catch 用来处理程序中产生的异常;

c:if 用来条件判断;

c:choose、c:when、c:otherwise 用来多条件判断;

c:forEach 用来遍历数组或者集合;

c:fortokens 分隔输出;

c:import 导入页面;

c:url 生成一个 url 地址;

c:redirect 客户端跳转

 

第四节:JSTL 国际化标签库

fmt:setLocale 设定用户所在的区域;

fmt:formatDate 对日期进行格式化;

fmt:requestEncoding 设置所有的请求编码;

fmt:bundle fmt:message 读取国际化资源;

fmt:formatNumber 格式化数字;

fmt:timeZone 设置临时时区;

 

第五节:JSTL SQL 标签

Sql:setDataDource 设置 JDBC 连接;

sql:query 数据库查询操作;

Sql:update 数据库添加,修改,删除操作;

Sql:transaction 数据库事务;

 

 

第六节:JSTL XML 标签

x:parse 解析 xml;

x:out 输出 xml 文件的内容;

x:set 把 xml 读取的内容保存到指定的属性范围;

x:if 判断指定路径的内容是否符合判断的条件;

x:choose x:when x:otherwise 多条件判断;

x:forEach 遍历

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值