JSP

JSP

一、概述

1,JSP(Java Server Pages)是JavaWeb服务器端的动态资源。它与html页面的作用是相同的,显示数据和获取数据

2,JSP = html + Java脚本(代码片段) + JSP动态标签

JSP

二、JSP语法

2.1、JSP脚本

JSP脚本就是Java代码片段,它分为三种:

l  <%...%>:Java语句;

l  <%=…%>:Java表达式;

l  <%!...%>:Java定义类成员;

2.2、内置对象out

out对象在JSP页面中无需创建就可以使用,它的作用是用来向客户端输出。

如:out.print("你好!");

其中<%=…%>与out.print()功能是相同的!它们都是向客户端输出

三、JSP原理

3.1、JSP是特殊的Servlet

JSP是一种特殊的Servlet,当JSP页面首次被访问时,容器(Tomcat)会先把JSP编译成Servlet,然后再去执行Servlet。所以JSP其实就是一个Servlet!

JSP

3.2、JSP真身存放目录

JSP生成的Servlet存放在${CATALANA}/work目录下,它就是JSP的“真身”。打开看看其中的内容,了解一下JSP的“真身”。在JSP中的静态信息(例如<html>等)在“真身”中都是使用out.write()完成打印!这些静态信息都是作为字符串输出给了客户端。

 Java Code 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public void _jspService(final javax.servlet.http.HttpServletRequest request,
                        final javax.servlet.http.HttpServletResponse response)
throws java.io.IOException, javax.servlet.ServletException
{

    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    javax.servlet.jsp.JspWriter _jspx_out = null;
    javax.servlet.jsp.PageContext _jspx_page_context = null;


    try
    {
        response.setContentType("text/html;charset=UTF-8");
        pageContext = _jspxFactory.getPageContext(this, request, response,
                      null, true, 8192, true);
        _jspx_page_context = pageContext;
        application = pageContext.getServletContext();
        config = pageContext.getServletConfig();
        session = pageContext.getSession();
        out = pageContext.getOut();
        _jspx_out = out;

        …     ///JSP页面中的内容都会在这个位置出现!这时上面所说的对象已经创建完了,所以在JSP页面中是可以使用的。

    }
ps:以上用红色标记的都为JSP内置对象,在<%=%>和<%%>中不用创建即可使用的对象!