JSP详解笔记

jsp
第一章 jsp概述
1-1 什么是jsp
jsp是服务器响应页面
jsp是嵌入java代码的html

	jsp的本质(是后端程序)就是servlet,也是用来接收并处理请求的后台程序.

1-2 jsp执行原理及存放路径
(1)jsp执行原理
html的执行原理:
浏览器发出请求访问html资源,服务器接收请求,服务器看到浏览器发出的是要找到html资源的请求,服务器会找到相应的html资源,直接返回给浏览器,浏览器接收html.

jsp的执行原理:
	浏览器发出请求访问jsp资源,服务器接收请求,根据浏览器发出的请求找到了相应的jsp资源,然后将jsp资源首先翻译成为java临时文件(jsp中的内容都是以java文件中响应流的形式存在的),然后java临时文件再编译成为class文件.最终执行的是class文件.jsp中的内容,都是以class文件中的响应流的形式进行的输出.

(2)jsp临时文件存放路径
tomcat/work

(3)jsp的运行流程图示

1-3 jsp字符编码设置及环境的搭建
jsp页面3处字符编码,都修改为UTF-8
pageEncoding=“UTF-8”:
jsp页面本身的字符编码
contentType=“text/html; charset=UTF-8”:
设置响应流的字符编码

: 设置响应头信息,服务器告诉浏览器,要以utf-8的编码形式来打开响应 jsp字符编码的环境统一设置的方式 window属性

1-4 jsp临时文件生成案例
(1)html代码错误的情况
正常生成java临时文件,正常编译成class文件
(2)java代码编译时错误的情况(语法)
正常生成java临时文件,由于编译出错,所以不能生成class文件.
(3)java代码运行时错误的情况
正常生成java临时文件,也能够正常编译成class文件,只不过在执行class文件的时候报500错误.
(4)jsp出现500错误应该去哪里调试
在jsp文件中做修改
但是生成的java临时文件可以做错误的参考依据
第二章 jsp中base标签的使用
2-1 相对路径示例

2-2 绝对路径示例

2-3 加入basePath变量的绝对路径示例
<%
String basePath = request.getScheme() + “😕/” + request.getServerName() + “:” + request.getServerPort() + request.getContextPath() + “/”;
%>

2-4 basePath变量结合base标签使用示例
head下第一行引入

2-5 练习:使用base标签做图片的引入

2-6练习:使用base标签做css和js文件的引入

第三章 小脚本scriptlet
3-1 <% %>的使用
代码统一生成在_jspService方法中(代码生成在方法体中)
3-2 <%! %>的使用
代码统一生成在_jspService方法的外面(代码生成在类体中)
实际项目开发中,用不到

3-3 <%-- --%>的使用
作为java脚本的注释,该形式为jsp文件专业级别的注释,可以注释html代码,但是主要用来注释java脚本.
使用该形式的注释,查看网页源代码,看不到注释的内容.
3-4 <%= %>的使用
out.print();

以下练习目的:练习java脚本的拼接
以下练习:遇到前端内容的显示,就拆分java脚本
3-5 练习:用*输出10乘10的列表





……

3-6 练习:打印学生信息列表

第四章 jsp的指令directive
4-1 jsp指令概述及语法
(1)概述
声明jsp页面的所需属性和动作
(2)语法
格式:<%@指令名称 属性=“值” 属性=“值”%>

4-2 jsp指令的分类
(1)page指令:主要声明jsp页面的一些属性
(2)include指令:静态包含.
(3)taglib指令:导入标签库
(4)使用指令的注意事项
一个页面中可以出现多个指令
指令可以放在任意位置,一般都放在jsp页面最上面

4-3 page指令
page指令常用属性
contentType:设置响应流的编码,及通知浏览器用什么编码打开
pageEncoding:设置页面的编码
import:导入所需要的包

page指令非常用属性
language:当前jsp页面里面可以嵌套的语言
session:设置jsp页面是否可以使用session内置对象
isELIgnored:是否忽略el表达式
errorPage:当前jsp页面出现异常的时候要跳转到的jsp页面
isErrorPage:当前jsp页面是否是一个错误页面,若值为true,可 以使用jsp页面的一个内置对象 exception
4-4 include指令
包含作用,可以使一个jsp包含另一个jsp
使用include指令的包含形式为一种静态的包含形式
包含文件和被包含文件最终只生成一组java和class临时文件.所以包含文件和被包含文件中的所有的内容被统一生成在了唯一的jspService方法中,所以变量不能重名.
4-5 taglib指令:(JSTL中讲解)
用来导入标签库
格式:<%@taglib prefix=“前缀名” uri=“名称空间” %>

4-6 jsp动作标签
(1)jsp:forward:转发标签

(2)jsp:include:包含标签
	包含文件和被包含文件分别独立的生成各自的java和class临时文件,自己文件中的代码生成在了自己临时文件中的jspService方法中,所以不用担心变量的重名.

4-7 jsp的九大内置对象(在实际项目开发中用不到)
(1)jsp的九大内置对象
内置对象 类型
out JspWriter
request HttpServletRequest
response HttpServletResponse
session HttpSession
exception Throwable
page 当前Servlet(this)
config ServletConfig
application ServletContext
pageContext PageContext
(2)jsp中的域对象
pageContext 一个页面
request 一次请求
session 一次会话
application 整个项目
(3)使用pageContext当做其他的域对象使用
scope取值:
APPLICATION_SCOPE
SESSION_SCOPE
REQUEST_SCOPE
PAGE_SCOPE
(4)使用pageContext获取其他内置对象
get…
4-8 实战:使用servlet结合jsp的方式完成学生信息管理系统
4-8 实战:使用servlet结合jsp的方式完成
学生信息管理系统
增删改查

没有使用jsp时的做法

使用了jsp之后

分析以上两种开发模式,各有优缺点
第一种
优点:连jdbc,取sList方便
缺点:使用响应流响应sList数据麻烦

第二种:
优点:响应sList数据方便
缺点: 连jdbc,取sList必须写java脚本

我们未来的在企业中的开发模式,是将二者优点相结合
产生的第三种开发模式
取servlet的连jdbc取sList数据的部分
取jsp的响应sList数据的部分

跳转到修改页 开发模式1

分析以上开发模式,如果参数量过多,或者参数的值过大,那么浏览器的地址对于参数的传递有可能传递的不全
未来的实际项目开发,基于以下开发模式
跳转到修改页 开发模式2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值