検索
ホームページphp教程php手册JSP和Servlet的区别及PHP类比

JSP和Servlet的区别及PHP类比

Jun 06, 2016 pm 07:51 PM
jspmvcpphpservlet違いモデル

在MVC的模式下,PHP既可以用来直接在View层和HTML语言混搭构建页面, 也可以在Controller层面扮演数据处理、流程控制的任务,在Controller中计算数据,然后传递给View。 比如如下的代码示范: // controllers/users.php$users = getUsers();include ../views

在MVC的模式下,PHP既可以用来直接在View层和HTML语言混搭构建页面,

也可以在Controller层面扮演数据处理、流程控制的任务,在Controller中计算数据,然后传递给View。

比如如下的代码示范:

// controllers/users.php
$users = getUsers();
include "../views/users.php";

// views/users.php
print_r($users);

类似的,在Java Web里面,JSP是用于View层面的,Servlet扮演Controller的角色。

JSP 是 JAVA IN HTML

Servlet是 HTML IN JAVA

也就是说在html多的地方用JSP,嵌入html页面中构造动态内容,

在需要用java处理更多数据的地方用Servlet,可以直接打印,也可以通过设置请求属性来把动态内容转给Jsp展示,

jsp通常在第一次请求时被编译为Servlet以提高运行性能,如通过Tomcat内置的JSP引擎Jasper来进行编译。

下面是Servlet传递计算数据给JSP的简单代码示范:

public class UserServlet extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    List<user> users = getUserList();

    String url="..."; //relative url for display jsp page
    ServletContext sc = getServletContext();
    RequestDispatcher rd = sc.getRequestDispatcher(url);

    request.setAttribute("users", users);
    rd.forward(request, response);
}</user>
在JSP中获取该属性数据:
 0) {       
       for (User user: users) {            
                %>
                <blockquote>user name: </blockquote>
                


by iefreer

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません