JSP运行到底在哪里?在客户端或服务器端?

JAN*_*JAN 10 java jsp servlets

我在这里读过@BalusC的好答案,但我仍然不清楚:

一方面,当我编写servlet时,我会这样做:

        String addressPath = "/WEB-INF/results/employee/employeePage.jsp";
        RequestDispatcher dispatcher = request.getRequestDispatcher(addressPath);
        dispatcher.forward(request, response);
Run Code Online (Sandbox Code Playgroud)

然后,用户看到employeePage.jsp在他的屏幕上调用的JSP页面.并不意味着JSP在客户端运行?

那么JSP是在客户端运行,还是在服务器端运行(JSP = Java服务器页面)?

Tac*_*der 9

JSP在服务器端运行,但除了HTML(和CSS)之外,JSP通常在客户端运行,这是很常见的.

一个非常简单的示例是JSP,其中包括向访问者提供的网页中的一些Google Analytics跟踪器(使用JavaScript).

请注意,我并不是说所有JavaScript总是在客户端运行:还有服务器端JavaScript.我所说的只是JSP经常提供JavaScript,而JSP提供的JavaScript是在客户端运行的.


Sun*_*l S 5

JSP在运行之前被转换为Java servlet,它处理HTTP请求并生成响应,就像任何servlet一样.但是,JSP技术提供了一种更方便的servlet编码方式.翻译在应用程序第一次运行时发生.JSP转换器由URL中的.jsp文件扩展名触发.JSP可与servlet完全互操作.您可以包含servlet的输出或将输出转发到servlet,servlet可以包含JSP的输出或转发输出到JSP.


小智 5

我知道我回答这个问题迟到了,但也许它可以帮助某人。

JSP 生命周期包括以下几个阶段:

1) 编译

2) 初始化

3) 执行

4) 清理

JSP编译

当浏览器请求 JSP 时,JSP 引擎首先检查它是否需要编译页面。如果页面从未编译过,或者自上次编译后 JSP 已被修改,则 JSP 引擎会编译该页面。

编译过程包括三个步骤?

1)解析JSP。

2)将 JSP 变成 servlet。

3)编译servlet。

当 JSP 被转换成 servlet 时,它必须在服务器端执行才能为请求提供服务。