一、什么是JSP
JSP是简化Servlet编写的一种技术,它将Java代码和HTML语句混合在同一个文件中编写,只对网页中的动态产生的代码采用Java代码进行编写,而对固定不变的静态内容采用普通静态HTML文件进行编写。这种技术称之为JSP。
二、如何在浏览器中访问JSP
JSP可以放置在Web应用程序中的任何位置(除了WEB-INF目录及其子目录)。JSP页面的访问路径与普通的HTML文件路径一致,访问形式也完全相同。JSP不用配置web.xml文件。
三、JSP运行原理
JSP本质上是一个Servlet,Servlet引擎收到以.jsp为扩展名的URL的访问请求之后,它将把该访问的请求交给JSP引擎去处理。
每个JSP页面在第一次被访问的时候,JSP引擎将它翻译成为一个Servlet源程序,接着把这个Servlet源程序编译成为Servlet的class文件,然后Servlet引擎向访问普通的Servlet程序那样装载和解释执行这个Servlet程序。
JSP规范并没有规定,JSP 页面中的脚本程序必须使用Java语言,故JSP中的脚本语言可以用Java以外的脚本语言来进行编写,但是JSP页面必须转换为JavaServlet程序。
四、JSP中的隐含对象(没有声明就可以使用的对象称之为隐含对象)
<%
这是编写的Java代码,在这里可以用到JSP的隐含对象,包括:request、response、pageContext、session、application、config、out、page(除此之外,还有一个exception)
%>
request:就是HttpServletRequest的一个对象(经常用)
response:就是HttpServletResponse的一个对象(在JSP中几乎不用)
pageContext:是pageContext的一个对象,可以从该对象中获取其他八个隐含对象,可以从当前对象获取该页面的其他信息(自定义标签时使用)。经常用
session:代表浏览器与服务器的一次对话;是HttpSession的一个对象。经常用
application:代表当前web应用,是ServletContext的对象,能够获取当前web应用的初始化参数。经常用
config:当前JSP对应的Servlet的ServletConfig对象(在实际开发过程中几乎不用)。可以在web.xml中进行配置,若需要访问当前JSP配置的初始化参数,可以通过映射的路径进行访问。
out:JspWriter对象,调用out.println()可以直接把字符打印到浏览器上去。经常用
page:指向当前JSP的Servlet对象额引用,但为object类型,只能调用Object类的方法(开发过程中几乎不用)。
exception:再声明了page指令的isErrorPage之后才能使用。