JSP技术学习总结

更新日期: 2019-07-17阅读: 2.1k标签: jsp

1、JSP的执行过程

首先用户向服务器发出请求,服务器在接收请求后去寻找响应的jsp页面,然后服务器将jsp页面翻译成.java文件,然后进行编译得到.class字节码文件,服务器执行class文件将其转换成

html流响应给客户端,客户端拿到html流进而翻译成页面。至此jsp执行过程完毕

总结:jsp的执行主要为:翻译、编译、执行


2、JSP指令

概念:什么是JSP指令,简单地说JSP指令就是负责告诉JSP引擎如何把jsp页面翻译成servlet,通过设置jsp的属性,控制jsp页面运行时的某些特性。

注意:jsp指令由<%@开始,%结束>,需要注意的是jsp其实本身就是一个servlet,它只是一个规范了html代码的模板,本质上还是一个servlet,jsp主要是用来做页面显示的

三大指令如下:

(1)page: 页面设置 指令,包含import导包,contentType内容的类型,language脚本语言,session、配置errpage错误页面,isErrorPage是否为错误处理页面

(2)include,包含指令,又分为静态包含和动态包含,其作用主要是引用已经写好的htmll页面

(3)taglib,自定义标签库

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


3、JSP中的九大内置对象

(1)pageContext:特殊对象,可以获取其他八大对象,可以使用其他八大对象的方法

(2)page:表示当前页面,可使用其来调用servlet中的方法

(3)request:获取用户的请求信息

(4)response:服务器响应客户端请求

(5)session:用来保存每一个用户的信息,存储在服务器中

(6)application:表示站点信息,作用域为站点,只要服务器不关闭,信息不会失效

(7)config:服务器配置信息,可以获取初始化参数

(8)out:用来进行页面输出,实际上是getWrite()方法

(9)exception:异常信息


4、cookie:用户请求的标识,存储在本地中,其中session依赖cookie


5、转发与重定向的区别

转发:客户端一次请求,服务器两次处理,并且传递的信息不会丢失;转发就是用户在请求服务器的时候,其中一个servlet不能满足其处理请求,于是便调用

另一个servlet进行处理请求,然后将其处理的结果返回给客户端,整体来说客户端只是做了一次请求,而服务器处理了两次。

重定向:客户端请求两次,服务器处理两次。当服务器接收到用户的请求后,若当前的servlet不能满足其请求于是便将用户的请求交给另一个servlet进行处理,于是客户端便请求这个servlet,对应的servlet便进行处理,对用户来说总共请求了两次,而服务器也处理了两次。


6、GET和POST的区别:

(1)地址栏:GET方式会在地址栏中显示请求的参数信息,而POST不会显示

(2)传输数据大小限制:GET的传输数据在2KB左右,而POST则没有限制,理论上只要内存足够大则就可以有多大

(3)传输数据类型:GET只能传输ASCII码,而POST没有限制,并且可以传输二进制

(4)历史记录:GET请求方式的参数将会保存在浏览器的历史记录中,而POST则不会

(5)安全性:GET的安全性较差,POST相比GET较高

(6)缓存:GE能被缓存,而POST不能缓存


7、静态包含于动态包含的区别:

动态包含用的元素是page,拥有两种形式,而静态包含只有一种形式,最主要的区别在于静态包含是先包含再进行编译,而动态包含是先进行编译再进行包含。


8、EL表达式

(1)基本三种语法:

${表达式}    //表达式一般是服务器传输过来的数据,用EL表达式方便将他们进行显示

点操作符  ${对象.属性}    //例如${info.name},很显然info是一个对象,或者为集合对象

[]操作符  ${对象[属性]}    //跟点操作符一种意思


9、JSTL(JSP标准标签库)

是Java官方提供的一种标签库,主要是为了方便在JSP中书写Java代码,从而能够更方便的处理业务

使用过程:

(1)导入jar包:jstl.jar和statndard.jar

(2)添加taglib指令:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" preix="c" >

核心标签库 

链接: https://fly63.com/article/detial/4780

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!