JSP知识点梳理

JSP知识点梳理


JSP全程Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。JSP部署在网络服务器上,可以响应客户端发过来的请求,并根据请求内容动态生成HTML/XML/其他格式文档的Web网页,然后返回给请求者。
JSP与PHP、ASP、ASP.NET等语言类似,运行在服务端的语言,是以Java语言作为脚本语言。
1.<%@ page language=“java” import=“java.util.*” contentType=“text/html; charset=utf-8” pageEncoding=“utf-8”%>
【设置编写语言为Java,编写内容为txt或者html,设置编码格式为UTF-8】
那么pageEncoding,contentType分别用来干嘛呢?在解释之前先了解下jsp从被请求到响应经历的三个阶段:
第一阶段:将jsp编译成Servlet即java文件。用到的指令是pageEncoding,根据pageEncoding="XXX"的指示,找到编码规则为“XXX”,服务器在将jsp文件编译成java文件时会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译成统一的UTF-8编码的Java源码。
第二阶段:从Servlet文件即java文件到Java字节码文件即class文件,从UTF-8到UTF-8。在这一阶段中,不论JSP编写时用的是什么编码格式,经过这个阶段的结果全部是UTF-8的encoding的Java源码。javac用UTF-8的encoding读取Java源码,编译成UTF-8编码的二进制码即class文件,这是JVM对常数字串在二进制码(java encoding)内表达的规范。这一过程是由JVM的内容规范决定的,不受外界控制。
第三阶段:从服务器到浏览器,这一过程中用到的指令是contentType。服务器载入和执行由第二阶段生成出来的Java二进制码,输出的结果,也就是在客户端可见到的结果,在这次输出过程中,由contentType属性中的charset来指定,将UTF-8形式的二进制码以charset的编码形式来输出。如果没有人为设定,则默认是ISO-8859-1的形式。
从以上过程可知:
pageEncoding:说明jsp内容的编码;
contentType:设置JSP源文件和响应正文的字符集编码及MIME类型,contentType的charset是指服务器发送给客户端时的内容编码。
2.MIME(Multipurpose Internet Mail Extensions)
多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定的应用程序来打开。多用于指定的一些客户端自定义的文件名,以及一些媒体文件打开方式。
MIME是描述消息内容类型的因特网标准。MIME消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。
3.Servlet/JSP请求与响应过程 熟悉服务器请求与响应过程
1.客户端对web服务器发出http请求
2.http服务器收到http请求,把请求转由web容器处理,web容器剖析http请求内容,创建各种对象(如HttpServletRequest\HttpServletResponse\HttpSession等)。
3.web容器由请求的url决定使用哪个Servlet来处理请求
4.Servlet根据请求对象(HttpServletRequest)的信息决定怎么处理,通过响应对象(HttpServletResponse)来创建响应。
5.web容器与http服务器沟通,web服务器将响应转换为http响应并传回客户端。

猜你喜欢

转载自blog.csdn.net/u010425839/article/details/109479024